紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4385|回复: 1

[测试]WIN32上实现内核APC注入DLL(支持XP~WIN10){2015-11-04更新}

[复制链接]

822

主题

3356

帖子

2

精华

管理员

身居欧盟,心系中华。

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
35897
发表于 2015-10-30 17:30:57 | 显示全部楼层 |阅读模式
如果需要购买这个PoC的源码,请查看这里


APC注入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程序是很难的)

程序运行的效果是,注入进程后,在C盘根目录创建一个文件夹,名字是被注入进程的PID。
测试的程序分别是:explorer.exe、cmd.exe、dotnet32.exe(最后一个程序是自制的),可以把任意程序改名为dotnet32.exe达到测试注入其他程序的效果。

备注:
1.代码里有普通模式和暴力模式,暴力模式不需要句柄,POC里使用的是普通模式。
2.POC不能注入带线程句柄保护的进程,但只要把保护句柄的相关“羁绊”弄掉就行了。
3.本DEMO表面上只是注入DLL,实际上稍加发挥即可实现内核执行用户态SHELLCOD、内核创建用户态线程等相关操作。

32.zip

97.58 KB, 下载次数: 2465

1

主题

57

帖子

1

精华

贵宾会员

Rank: 2Rank: 2

积分
2075
发表于 2015-10-30 18:45:46 | 显示全部楼层
顶顶顶{:soso__b80a96835595d136-d6de0dc7b1bcdf49-0080c20680b1ddb62a55c07ebe24db09.jpg_1:}
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2020-2-23 10:31 , Processed in 0.033095 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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