首页
社区
课程
招聘
[求助]关于x64内核注入dll的问题
2016-7-1 10:42 15422

[求助]关于x64内核注入dll的问题

2016-7-1 10:42
15422
内核注入dll如果我要让我的dll获得先于主线程的执行时机,应该在哪个时机点注入呢?

测试注入的都是WIN7 64下的WOW64进程。
目前试过的有:创建进程回调、创建线程回调,加载映像回调
在进程回调里注入的时候发现进程的PEB都没初始化完
在线程回调里注入的时候发现这时候LDR没初始化完,LdrLoadDll都获取不到
在加载映像回调加载\\Windows\\SysWOW64\\KernelBase.dll的时候注入,LdrLoadDll是获取到了,但是windbg走进ZwAllocVirtualMemory里就跑飞了,猜测是死锁了。搜了一下相关文章,发现果然是在映回调里面ZwAllocVirtualMemory会导致死锁。(http://bbs.pediy.com/showthread.php?t=131688)

这样的话我应该在什么时机注入?如果在线程回调里NtQueueApcThread是不是会好一点?

注入代码抄的BlackBone

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (15)
雪    币: 2290
活跃值: (908)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
轩辕之风 1 2016-7-1 10:46
2
0
http://www.cnblogs.com/xuanyuan/p/5373677.html我这篇文章里面有提到这个问题。

PS:这位兄台是要锁首页么?
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kefuta 2016-7-1 11:36
3
0
ntdll镜像回调中 hook LdrLoadDll实现注入
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
leizhengzi 2016-7-1 12:03
4
0
http://blog.csdn.net/chenyujing1234/article/details/7860629
可以看看这个,进程运行之前运行注入Dll的功能。
雪    币: 12839
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2016-7-1 12:04
5
0
不是,主要是为了做进程防护,监控远程读写内存、远程线程注入、消息钩子注入这类内核中很难监控的操作(商用软件,要支持XP,不能用VT)
雪    币: 12839
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2016-7-1 12:07
6
0
谢谢,我反汇编了一下火绒的sysdiag.sys发现他好像就是hook的LdrLoadDll,不过我在一楼有提到镜像回调中是不让Query/Alloc/ProtectVirtualMemory的(会死锁),所以hook操作是不是要弄个WorkItem放到镜像回调外面?。
雪    币: 2648
活跃值: (3748)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
syser 2016-7-1 12:16
7
0
论坛有个人发过 也是成熟解决方案 ImageNotify 然后特定时机注入
雪    币: 149
活跃值: (2033)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saloyun 2016-7-1 12:38
8
0
我都是插APC,也没发现有啥问题啊。。。
雪    币: 19
活跃值: (1056)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iceway 2016-7-5 13:57
9
0
如果没初始化完毕就等他初始化完毕接着注入
雪    币: 12839
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2016-7-5 15:52
10
0
已经搞定了,抄袭的火绒的注入方式(hook ntdll!ZwTestAlert)
雪    币: 16
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
massysten 2016-11-19 18:09
11
0
大哥求个详细的的介绍
雪    币: 12839
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2016-11-19 23:37
12
0
http://mengwuji.net/forum.php?mod=viewthread&tid=6765
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2016-11-20 01:00
13
0
问下,为什么回调里面调用ZwAllocVirtualMemory会卡死?最终是什么导致的?
雪    币: 12839
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2016-11-20 10:51
14
0
EPROCESS->AddressCreationLock被上锁了
XXXVirtualMemory系列都会获取这个锁,导致死锁
雪    币: 16
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
massysten 2016-11-21 18:57
15
0
非常感谢
雪    币: 130
活跃值: (1005)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哇咔咔zs 2017-5-12 22:10
16
0
楼主解决了可否给我用用,好纠结
游客
登录 | 注册 方可回帖
返回