首页
社区
课程
招聘
[讨论]关于MS11-80如何触发
2011-10-24 17:00 5881

[讨论]关于MS11-80如何触发

2011-10-24 17:00
5881
不知道有没有朋友手头上有这个漏洞的POC?
自己通过补丁比对看了一下感觉这个漏洞和之前MS11-046的非常像。简单说下,MS11-046是AfdConnect中没有以正确的方式对Irp-UserBuffer的有效性进行检验,攻击者如果将UserBuffer的长度设为0就可以绕过验证。写内存的操作并不直接在AfdConnect中完成,而是在执行一个APC例程AfdConnectApcKernelRoutine时,就会向攻击者指定的UserBuffer写入4字节数据。
这个MS11-080出问题的函数是AfdJoinLeaf,在这个函数里对Irp->UserBuffer的
验证也是非常草率的,绕过地址检验的方式和MS11-046的利用方法相同——将UserBuffer的长度设为0即可。感觉如果能够将控制流导向

PAGE:B2D30F67                 mov     ecx, offset _AfdRestartJoin@
PAGE:B2D30F6C                 mov     eax, ecx
PAGE:B2D30F6E                 test    eax, eax
PAGE:B2D30F70                 mov     eax, [edi+60h]
PAGE:B2D30F73                 jz         loc_B2D3104A
PAGE:B2D30F79                 sub      eax, 24h
PAGE:B2D30F7C                 mov     [eax+1Ch], ecx
PAGE:B2D30F7F                 mov     ecx, [ebp+var_20]
PAGE:B2D30F82                 mov     [eax+20h], ecx
PAGE:B2D30F85                 mov     byte ptr [eax+3], 0E0h
PAGE:B2D30F89                 jmp     loc_B2D31057

就有机会向攻击者指定的UserBuffer中写入4字节数据。因为我发现在AfdRestartJoin函数中会创建一个APC对象,而APC例程同样是AfdConnectApcKernelRoutine。

本人能力有限目前没有分析清楚如何将控制流导向上述位置
贸然发帖希望可以抛砖引玉

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 992
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
天绝弑杀 2011-10-24 19:25
2
0
膜拜大神,学习中。。。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lookkscan 2011-10-24 20:51
3
0
不怎么清楚,膜拜下!
雪    币: 1489
活跃值: (955)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
仙果 19 2011-10-24 22:45
4
0
不懂内核,真没有办法帮到你
雪    币: 391
活跃值: (150)
能力值: (RANK:110 )
在线值:
发帖
回帖
粉丝
wingdbg 2 2011-11-15 08:25
5
0
http://hi.baidu.com/huangzhuliang%B5%C4%BF%D5%BC%E4/blog/item/3ab1158e687fdbf7f01f36d2.html
雪    币: 403
活跃值: (330)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
cscoder 5 2011-11-15 12:34
6
0
貌似不是一回事~
雪    币: 146
活跃值: (182)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
instruder 4 2011-11-16 08:45
7
0
清早赶来支援cscoder 哈哈
游客
登录 | 注册 方可回帖
返回