本论坛为只读模式,仅供查阅,不能注册新用户,不能发帖/回帖,有问题可发邮件 xikug.xp (^) gmail.com
查看: 3727|回复: 7

intel调用门(RS  poc原理) [复制链接]

Rank: 1

发表于 2010-2-2 13:43:05 |显示全部楼层
简单说一下这次瑞星出现的漏洞。在IOCTL代码为0x83003C0B时,瑞星的RsNTGdi会调用VidSetTextColor(DWORD)函数,这个函数的返回值是上次调用这个函数时传入的参数。由于RsNTGdi没有验证链接驱动的exe程序是否为瑞星本身,并且没有验证IOCTL传入的返回值地址是否合法。直接将VidSetTextColor函数的返回值写入传入的地址空间。因此连续两次发送IOCTL为0x83003C0B的指令,就可以在内核空间写入任意数据。

这个不是重点……我想说的是http://www.sebug.net/vulndb/19016/所使用的提权方式。

1. 首先它使用漏洞在GDT的第0项中写入retn指令,由于第0项是不被系统使用的,所以poc把这段内存当做shellcode跳板。

2. 组合一个拥有R0权限的段选择子。

3. 组合一个跳转到此段选择子,并且指向刚才写入的retn指令的调用门。

4. 将段选择子和调用门分别复制到GDT的0x3e8和0x3e0偏移处。

1.jpg

2.jpg
  
5. 使用call fword ptr[farjmp] 跳转到调用门,从而以R0权限跳转到retn指令,retn执行完毕回到poc领空,获得r0权限。

6. 恢复ssdt没有什么可说的。

7. 使用retf指令回到R3

3.jpg

4.jpg

  

http://index09.ys168.com -> 试验程序 -> CallGateTest.rar 15KB

代码

http://hi.baidu.com/index09 :)

Rank: 4

发表于 2010-2-2 13:54:51 |显示全部楼层
1. 首先它使用漏洞在GDT的第0项中写入retn指令,由于第0项是不被系统使用的,所以poc把这段内存当做shellcode跳板。
自从当年和MGF说过后,现在很多人都喜欢那么做了.
该用户已被删除
发表于 2010-2-2 15:04:23 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 1

发表于 2010-2-2 15:12:13 |显示全部楼层

Rank: 1

发表于 2010-2-2 15:15:07 |显示全部楼层
引用第3楼baidu于2010-02-02 12:12发表的 Re:intel调用门(RS  poc原理) :
http://it.rising.com.cn/info/2010-02-02/6601.html
这个……
只谈技术不说口水战。不过那也的确是个漏洞。

Rank: 1

发表于 2010-2-2 15:18:46 |显示全部楼层
引用第4楼cradiator于2010-02-02 12:15发表的 Re:Re:intel调用门(RS  poc原理) :

只谈技术不说口水战。不过那也的确是个漏洞。
360那个都上个世纪的事了,瑞星报几个大家不知道撒。像他自己这次的这样。

Rank: 1

发表于 2010-2-2 16:56:20 |显示全部楼层
引用第3楼baidu于2010-02-02 12:12发表的 Re:intel调用门(RS  poc原理) :
http://it.rising.com.cn/info/2010-02-02/6601.html
这个……
"而波兰安全组织NT Internals在网页上也确认了此漏洞,而且用红字标出奇虎360 的公司名称(http://www.ntinternals.org/advisory.php)。"

其实,这个网页上并没有红字,你点得多了,便成了红字.
你点Rising试试,你点你也红.

Rising的网编也太伤智商了......

Rank: 2

发表于 2010-3-3 20:52:07 |显示全部楼层
KiSSinGGer 你头像太恶心了
您需要登录后才可以回帖 登录 | 立即加入

Archiver|手机版|第8个男人 - 论坛为只读模式,仅供查阅

GMT+8, 2019-6-16 11:55 , Processed in 0.037566 second(s), 11 queries .

Design by pvo.cn

© 2011 Pvo Inc.

回顶部