|
注意:部分PoC使用了知名的泄露证书(比如:“HT SRL”等)进行签名,微软在最新的系统上已经将这些证书拉黑。如果您发现驱动无法加载,请使用没有被微软拉黑的证书给驱动重新进行签名,或使用signtool工具移除驱动的签名后再关闭DSE进行测试。
驱动注入DLL,不是什么神秘的东西,网上的代码非常多,但也非常糟糕。本人在写的过程中,坚持以下几点:
1.不用硬编码
2.不用内嵌汇编(__asm)、内置机器码(__emit)、外链汇编(单独的.ASM文件)、外放机器码(数组里放shellcode)
3.不用暴力非标准方式达到目的(比如通过DKOM来迫使APC执行、修改线程的PreviousMode来调用Nt系列函数)
4.坚持安全检查,即使注入失败,也尽可能不蓝屏
这个POC,可以支持:
1.GUI进程注入(比如explorer.exe)
2.CUI进程注入(比如CMD.EXE,不含user32.dll模块的进程)
3.DotNet进程注入(本来这个不该单独分类,但网上总有人说内核注入.NET程序是很难的)
4.WOW64进程注入
程序运行的效果是,注入进程后,在C盘根目录创建一个文件夹,名字是被注入进程的PID。
测试的程序分别是:explorer.exe、cmd.exe、dotnet64.exe、dotnet32.exe*32(最后两个程序是自制的),可以把任意程序改名为dotnet64.exe和dotnet32.exe达到测试注入其他程序的效果(当然位数一定要对应)。
备注:
1.此PoC包含两套注入方法,它们分别支持XP~WIN10(10586)和WIN7~WIN11。
2.此PoC表面上看只是注入DLL,实际上稍加发挥即可实现执行用户态SHELLCOD、创建用户态进程等操作。 |
|