1.概述 2.漏洞描述 該漏洞是由于SMBv3協(xié)議中處理壓縮消息時(shí)未進(jìn)行嚴(yán)格安全檢查所導(dǎo)致的。針對(duì)服務(wù)器,攻擊者可以通過(guò)發(fā)送特制數(shù)據(jù)包至目標(biāo)服務(wù)器以利用此漏洞;針對(duì)客戶端,攻擊者可以通過(guò)配置惡意SMBv3服務(wù)器,并誘使用戶連接到該服務(wù)器以利用此漏洞。目前有網(wǎng)友已經(jīng)在Github上公開了該漏洞的檢測(cè)工具。 3.受影響范圍 主要受影響的Windows版本如下: ●Windows 10 Version 1903 for 32-bit Systems ●Windows 10 Version 1903 for x64-based Systems ●Windows 10 Version 1903 for ARM64-based Systems ●Windows Server, Version 1903 (Server Core installation) ●Windows 10 Version 1909 for 32-bit Systems ●Windows 10 Version 1909 for x64-based Systems ●Windows 10 Version 1909 for ARM64-based Systems ●Windows Server, Version 1909 (Server Core installation) 4.漏洞原理分析 SMB 3.1.1協(xié)議出現(xiàn)時(shí)間較晚,由Windows 10 1903引入(2019年5月)。此協(xié)議涉及的模塊包括mrxsmb20.sys、srv2.sys、srvnet.sys等。此次問(wèn)題和永恒系列一樣,也是出現(xiàn)在srv2.sys這個(gè)文件中。 在SMB 3.1.1協(xié)議中,引入了數(shù)據(jù)壓縮傳輸?shù)母拍睿郧竽軌蛱岣邆鬏斝?。但在解壓縮時(shí),由于考慮不嚴(yán)謹(jǐn)導(dǎo)致出現(xiàn)此次問(wèn)題,而修補(bǔ)后的代碼加入了長(zhǎng)度范圍驗(yàn)證,具體對(duì)比如下: 圖 4-1 產(chǎn)生溢出漏洞的代碼 圖 4-2 打補(bǔ)丁后的代碼 圖 4-3 產(chǎn)生溢出漏洞的代碼 SMB2協(xié)議中關(guān)于壓縮類型數(shù)據(jù)包定義如下圖: 圖 4-4 SMB2_COMPRESSION_TRANSFORM_HEADER 從上圖可以看到,此數(shù)據(jù)包目前只存在于SMB 3.1.1中。 申請(qǐng)的內(nèi)存長(zhǎng)度類型為unsigned int,傳輸數(shù)據(jù)中OriginalSize和offset也都是unsigned int 類型。如沒(méi)有進(jìn)行范圍驗(yàn)證,則可能產(chǎn)生溢出。 在調(diào)試中產(chǎn)生溢出的代碼上下文如下圖所示。 圖 4-5 windbg調(diào)試漏洞代碼 5.修復(fù)及緩解建議 圖5-1 安天智甲檢測(cè)漏洞 下載鏈接:https://bbs./forum.php?mod=viewthread&tid=83848 掃描二維碼 進(jìn)入安天創(chuàng)意 論壇下載工具 圖5-2 CVE-2020-0796免疫工具 (1)禁用命令:Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' DisableCompression -Type DWORD -Value 1 -Force (2)啟用命令:Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' DisableCompression -Type DWORD -Value 0 -Force 6.參考資料 [1]CVE-2020-0796 | Windows SMBv3 Client/Server Remote Code Execution Vulnerability https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796 [2]Microsoft Update Catalog https://www.catalog.update.microsoft.com/Search.aspx?q=KB4551762 |
|
來(lái)自: kaller_cui > 《網(wǎng)絡(luò)空間》