作者:MJ0011
日期:2009.3.30
Windows 2000开始,win32k.sys体内的两个函数存在着内核任意地址写入漏洞,可以允许用户态程序直接读写内核内存,直到WIN2003才修补
同时存在另外几个函数,可以引发内核崩溃、内核内存泄露或内核地址写入
由于这一手段从未公开,攻击者可以利用它编写ShellCode,进入Ring0,或者恢复内核钩子,用来绕过HIPS、驱动防护类软件、内核加固软件等。
下面公布利用其中一对函数实现的内核任意地址写入DEMO,这个DEMO运行后,点击确定,会对内核地址0x804d8002(XP下通常是ntoskrnl的DOS头偏移+2)写入一个数值:0X12345678
DEMO由于做了一些硬编码,只在WINDOWS XP下生效
可以使用RootkitUnhooker的内核内存DUMP,或者Icesword的内存编辑,或者windbg本机或双机调试来查看修改的情况
具体代码为了安全起见,就不公开放出了,如果大家有兴趣,以后可以考虑放出
注意:DEMO执行过程中,你的HIPS软件可能会对其的某些前期操作报警,选择允许即可
DEMO下载地址:
http://mj0011.ys168.com
漏洞演示目录下CsrssVuln.rar
- 标 题:【0Day】Windows 2000/XP(全补丁)内核任意地址写入漏洞
- 作 者:qihoocom
- 时 间:2009-03-30 22:49
- 链 接:http://bbs.pediy.com/showthread.php?t=84984