首页
社区
课程
招聘
[原创]64位环境下已签名驱动中实现加载未签名驱动
2019-3-29 13:55 19124

[原创]64位环境下已签名驱动中实现加载未签名驱动

2019-3-29 13:55
19124
在64位环境下已签名驱动中实现加载未签名驱动,例如要加载路径为C:\test.sys的未签名驱动程序,步骤如下:
(1)将C:\test.sys按照内存对齐方式拷贝到内存中。
(2)对test内存映像进行重定位。
(3)修复test内存映像的导入表。
(4)获取test内存映像中入口点DrverEntry地址,之后调用IoCreateDriver创建驱动。(IoCreateDriver会调用test的DriverEntry函数,DriverEntry返回后,IoCreateDriver才返回)

通过这种方式加载的驱动,貌似PCHunter也检测不到,但还是有办法可以检测到该驱动的,由于IoCreateDriver会在\FileSystem对象目录下创建驱动对象test,所以只需要遍历\FileSystem对象目录就可以找到驱动对象test 。

附件是MemLoadDriver.sys的源代码,用wdk7600即可编译,可用于64位win系统环境中,MemLoadDriver.sys加载后会通过上述方式加载驱动C:\test.sys。

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞6
打赏
分享
最新回复 (31)
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
晚风a 2019-3-29 16:38
2
0
很强
雪    币: 6524
活跃值: (3047)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sinkay 2019-3-29 20:38
3
0
羡慕 
雪    币: 665
活跃值: (995)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lytywg 2019-3-30 18:50
4
0
但是好像会导致某些回调创建失败,不然感觉确实稳如狗
雪    币: 4083
活跃值: (3738)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
昵称好麻烦 2019-3-30 19:28
5
0
lytywg 但是好像会导致某些回调创建失败,不然感觉确实稳如狗
我在C:\test.sys里面试过创建进程回调,没啥问题,不过其他回调会怎么样我不知道
雪    币: 665
活跃值: (995)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lytywg 2019-3-30 19:42
6
0
昵称好麻烦 我在C:\test.sys里面试过创建进程回调,没啥问题,不过其他回调会怎么样我不知道
那个句柄回调,还有创建进程回调,试试
雪    币: 18
活跃值: (974)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
猪会被杀掉 1 2019-3-30 20:23
7
0
下个代码,谢谢。
雪    币: 908
活跃值: (169)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
花弄影h 2019-4-1 08:44
8
0
mark
雪    币: 9614
活跃值: (1826)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
Sprite雪碧 1 2019-4-1 11:34
9
0
这种方法 貌似没法直接创建 ob回调和设备,当然也有解决的办法
ob回调是因为检测到没有签名,定位之后patch掉即可
设备通信,劫持其他驱动的即可
当然如果是拿来过检测的 就别想了 几百年前就检测了
雪    币: 576
活跃值: (2035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kakasasa 2019-4-1 12:31
10
0
mark 3q
雪    币: 1736
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sylingyy 2019-4-1 17:06
11
0
有对象还隐藏个毛线,驱动对象目录过一遍就出来了。BB现成的多好。
雪    币: 26
活跃值: (470)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
CIVIL哈 2019-4-2 12:46
12
0
我以前写过 重定位之后直接call DriverEntry 貌似也没有什么问题 为什么要调用这个IoCreateDriver
雪    币: 4083
活跃值: (3738)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
昵称好麻烦 2019-4-2 13:15
13
0
CIVIL哈 我以前写过 重定位之后直接call DriverEntry 貌似也没有什么问题 为什么要调用这个IoCreateDriver
系统帮你创建驱动对象,以及注册表项......
雪    币: 6524
活跃值: (3047)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sinkay 2019-4-2 16:28
14
0
mark
雪    币: 88
活跃值: (568)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Territory 2019-4-2 18:21
15
0
mark
雪    币: 310
活跃值: (1917)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
niuzuoquan 2019-4-4 10:24
16
0
mark
雪    币: 223
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
泪落晨曦 2019-4-4 10:37
17
0
mark
雪    币: 920
活跃值: (1545)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wuxiwudi 2019-4-4 10:48
18
0
其实qq的驱动可以直接帮你加驱动,发个消息就行
雪    币: 4083
活跃值: (3738)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
昵称好麻烦 2019-4-4 10:59
19
0
wuxiwudi 其实qq的驱动可以直接帮你加驱动,发个消息就行
能说说具体怎么做不?
雪    币: 1055
活跃值: (412)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
provence 2019-4-20 15:49
20
0
mark
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hedilict 2019-5-20 03:39
21
0
有些驱动可以直接帮你加载未签名驱动,可以看看uc的过检测thread
雪    币: 310
活跃值: (1917)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
niuzuoquan 2019-5-20 21:41
22
0
mark
雪    币: 920
活跃值: (1545)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wuxiwudi 2019-5-27 10:59
23
0
昵称好麻烦 能说说具体怎么做不?
肯定不能啊
雪    币: 989
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
thegfw 2019-6-10 22:56
24
0
mark
雪    币: 1501
活跃值: (3260)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小希希 2019-6-17 14:41
25
0
mark
游客
登录 | 注册 方可回帖
返回