首页
社区
课程
招聘
[原创]QQProtect驱动调用者签名校验漏洞分析
2013-10-15 07:39 9180

[原创]QQProtect驱动调用者签名校验漏洞分析

2013-10-15 07:39
9180
收藏
点赞2
打赏
分享
最新回复 (41)
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zjzhmlast 2013-10-17 16:45
26
0
dll劫持QQ!
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zjzhmlast 2013-10-17 16:57
27
0
『漏洞分析预警』版主
神啊
雪    币: 1487
活跃值: (955)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
仙果 19 2013-10-17 17:18
28
0
为嘛?
惊叹还是感叹?
雪    币: 400
活跃值: (342)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
ProgmBoy 3 2013-10-18 12:29
29
0
第一个是容易发现,第一次看qqprotect的时候就发现了.利用起来也比较简单.把它校验的数据放在dos头中就可以了,构造dos头文件,再link的时候加上/stub:[dos头文件] 就可以了...还可以用替换进程的方式来弄

....
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
duwanjiang 2013-10-18 15:16
30
0
大神,膜拜!
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
探索知识 2013-10-19 09:42
31
0
看到数学公式就知道有含金量了
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zjzhmlast 2013-10-19 10:25
32
0
膜拜啊,高技术区的版主!
雪    币: 200
活跃值: (38)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ganboing 1 2013-10-19 13:26
33
0
但是这样修改的话,exe程序本身的数字签名不就无效了?
雪    币: 1683
活跃值: (380)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
hackerlzc 10 2013-10-19 16:49
34
0
我们不是要替换它的。所以签名有木有无所谓的。关键是可以得到驱动句柄。
雪    币: 200
活跃值: (38)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ganboing 1 2013-10-19 17:41
35
0
懂了,意思是说构造一个exe以欺骗qqprotect驱动,于是直接操纵qqprotect。。

看来不装qq是对的。之前还和朋友谈到,我说什么时候装qq不需要管理员权限了,我才会考虑装。一个聊天软件凭什么要装驱动,反而带来安全性问题。
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
mszjk 2013-10-21 12:44
36
0
给ring3留关闭protect的接口,就是留隐患
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cnxxm 2013-10-21 19:04
37
0
其实我也想过这种思路    协议保密   就算你打开了驱动    也不能正常调用驱动功能啊
雪    币: 332
活跃值: (92)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
岭南散人 1 2013-10-24 17:04
38
0
几个月前曾分析过这个驱动,他在pe头里埋有加密数据,在内核要解密对比的,当时很粗略地复制到自己的poc里,发现解密后居然不对,也没细看为什么 ,楼主既然弄出来了,不妨说说为什么 直接复制官方的文件的加密数据在自己的poc里通不过校验?
雪    币: 1683
活跃值: (380)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
hackerlzc 10 2013-10-24 17:43
39
0
您是指QQProtect.sys的PE头有加密数据还是QQProtect.exe里有加密数据呢?

如果您说的是QQProtect.exe中的加密数据,为什么不能直接copy,请再看下主贴的代码。主要是它会对PE除文件头外的可执行映像的MD5进行检查(解密后的数据包含有这个MD5)
如果您说的是QQProtect.sys附加加密数据,这个我还真没注意。貌似这个保护没有对驱动本身的签名做过多的检查,因为,我用自己的山寨驱动完全替换了它的,仍然没有任何异常。

http://pan.baidu.com/share/link?shareid=892308634&uk=34547064
雪    币: 332
活跃值: (92)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
岭南散人 1 2013-10-25 20:18
40
0
就是在pe头那里,好像和mz离得很近,大概是0x4c左右的距离吧
雪    币: 1683
活跃值: (380)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
hackerlzc 10 2013-10-25 20:53
41
0
我看了下,好多程序在PE文件的DOS小程序后,PE头前附加自定义数据。包括系统正常的文件也有。如果要分析这些数据的含义,得找到读取并验证它们的地方。对于QQProtect.sys的行为而言,目前我没发现它从PE文件头里提取加密数据,只是从0x28的地方提取一个文件偏移,再从指定的偏移处提取一段加密数据用于验证签名。

不知道LS具体说的是哪个文件,QQprotect.exe or QQProtect.sys ? 对于你所说的加密数据,不知道有没有找到引用它们的地方?
雪    币: 332
活跃值: (92)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
岭南散人 1 2013-11-1 10:44
42
0
怪我没说清楚,我是说:sys文件在内核中,读取exe文件的pe头的某些数据用来校验
游客
登录 | 注册 方可回帖
返回