黑出於藍勝於藍?永恆之黑漏洞如何避免?

安芯網盾發表於2020-08-05

2020年年初,微軟釋出了一個緊急補丁,以修復SMBv3的漏洞,該漏洞編號為CVE-2020-0796。

CVE-2020-0796的可蠕蟲性讓人想起永恆之藍,永恆之藍是SMBv1中的一個遠端程式碼執行(RCE)漏洞,也就是災難性惡意軟體WannaCry的主要媒介。一旦攻擊者成功利用CVE-2020-0796,遠端攻擊者就可以完全控制存在漏洞的系統,所以被稱為“永恆之黑”。

黑出於藍勝於藍?永恆之黑漏洞如何避免?



受永恆之黑影響的系統

Windows 10版本1903(用於32位系統)

Windows 10版本1903(用於基於ARM64的系統)

Windows 10版本1903(用於基於x64的系統)

Windows 10版本1909(用於32位系統)

Windows 10版本1909(用於基於ARM64的系統)

Windows 10版本1909(用於基於x64的系統)

Windows Server 1903版(伺服器核心安裝)

Windows Server 1909版(伺服器核心安裝)



永恆之黑的漏洞利用機制

srv2.sys中的Srv2DecompressData函式中存在一個整數溢位錯誤。當SMB伺服器收到格式錯誤的SMB2_Compression_Transform_Header時,可以觸發此漏洞。此函式建立一個緩衝區,用於儲存解壓縮的資料,該函式透過將“ OriginalSize”新增到“ Offset”來計算緩衝區大小,導致ECX暫存器中的整數溢位。一旦計算出緩衝區大小,它將大小傳遞給SrvNetAllocateBuffer函式來分配緩衝區。


黑出於藍勝於藍?永恆之黑漏洞如何避免?

隨後,核心呼叫了RtlDecompressBufferXpressLz函式來解壓縮LZ77資料。上面的螢幕截圖顯示,核心使用“ rep movs”指令將0x15f8f(89999)位元組的資料複製到緩衝區中,該緩衝區的大小先前分配為0x63(99)位元組,導致緩衝區溢位,從而導致記憶體損壞和核心崩潰。

黑出於藍勝於藍?永恆之黑漏洞如何避免?


永恆之黑屬於SMB記憶體損壞漏洞,其可蠕蟲性可能能夠利用此漏洞感染並透過網路傳播,這與WannaCry勒索軟體在2017年利用SMB伺服器漏洞的方式十分類似。



攻擊者是如何利用永恆之黑的?

攻擊者利用永恆之黑的攻擊手段主要有三種。

手段一:在某些公司網路上加入域時,會自動開啟SMB埠,從而使該計算機暴露於遠端攻擊形式,利用該漏洞,開發或使用漏洞利用的攻擊者可以完全控制該計算機。

手段二:攻擊者的另一種情況是建立自己的SMB伺服器,然後誘使使用者連線到其惡意伺服器。這種攻擊可能採取垃圾郵件或即時訊息的形式,並帶有指向託管惡意程式碼的邪惡SMB伺服器的連結。如果攻擊者說服使用者單擊連結,或者只是遠端系統上的共享名(或對映的驅動器),那麼惡意伺服器將傳送該連結,並立即獲得對其的完全控制。

手段三:攻擊者首先透過其他方式破壞計算機,例如,透過成為開啟惡意附件的受害者成為受害者。隨後,攻擊者可以利用永恆之黑來修改核心的關鍵元件以獲得SYSTEM特權,使攻擊者幾乎可以在計算機上執行任何操作。



永恆之黑應當如何避免?

系統安全防護不足,風險最大的無疑是企業核心資料。為了讓企業有效防護永恆之黑的漏洞利用攻擊,我們對比了三種可行的防護方案:

黑出於藍勝於藍?永恆之黑漏洞如何避免?

目前全球範圍可能存在永恆之黑漏洞的主機總量約10萬臺,首當其衝成為駭客攻擊的目標,若被蠕蟲化利用可導致資料丟失、資訊洩露、伺服器癱瘓等情況。傳統安全防護措施在此類高階威脅面前已經失效,核心資料與業務必須得到更進一步的保障。安芯網盾智慧記憶體保護系統透過虛擬化監測記憶體異常,透過網路過濾僅允許合法的SMB通訊,正常的業務通訊不受影響,同時阻止了主機之間的其餘橫向移動,輕鬆解決永恆之黑和其他關鍵漏洞。


參考連結:

[1]https://news.sophos.com/en-us/2020/03/12/patch-tuesday-for-march-2020-fixes-the-serious-smb-bug-cve-2020-0796/

[2]https://paper.seebug.org/1168/

[3]https://www.sans.org/blog/microsoft-smbv3-11-vulnerability-and-patch-cve-2020-0796-explained/

[4]https://www.avesnetsec.com/cve20200796

[5]https://medium.com/@knownsec404team/cve-2020-0796-windows-smbv3-lpe-exploit-poc-analysis-c77569124c87

[6]https://www.exploit-db.com/exploits/48267

[7]https://www.fortinet.com/blog/threat-research/cve-2020-0796-memory-corruption-vulnerability-in-windows-10-smb-server

[8]https://blog.51cto.com/liulike/2478684

[9]https://blog.rapid7.com/2020/03/12/cve-2020-0796-microsoft-smbv3-remote-code-execution-vulnerability-analysis/

相關文章