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

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

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

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

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

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

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

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