SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案


SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案

3月12日,微軟正式發佈安全補丁公告披露一個最新的SMBv3遠程代碼執行漏洞(CVE-2020-0796),攻擊者利用該漏洞無須任何權限即可實現遠程代碼執行。 該漏洞類似於永恆之藍,存在被蠕蟲化利用從而導致規模受攻擊可能,深信服建議廣大用戶務必及時更新安全補丁,加強攻擊防禦。

漏洞名稱:微軟SMBv3 Client/Server遠程代碼執行漏洞CVE-2020-0796

漏洞類型:遠程代碼執行

威脅等級:高危

影響範圍:Windows 10 1903,1909;Windows Server 1903,1909

利用難度:容易

漏洞描述

Microsoft服務器消息塊(SMB)協議是Microsoft Windows中使用的一項Microsoft網絡文件共享協議。在大部分windows系統中都是默認開啟的,用於在計算機間共享文件、打印機等。

Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源於SMBv3沒有正確處理壓縮的數據包,在解壓數據包的時候使用客戶端傳過來的長度進行解壓時,並沒有檢查長度是否合法,最終導致整數溢出。

利用該漏洞,黑客可直接遠程攻擊SMB服務端遠程執行任意惡意代碼,亦可通過構建惡意SMB服務端誘導客戶端連接從而大規模攻擊客戶端。

由於此漏洞危害大,且漏洞信息已快速傳播,信服君建議用戶儘快安裝安全更新補丁,並做好防禦措施。

影響範圍

目前受影響的Microsoft版本分別為:

  • Windows 10 Version 1903 for 32-bit Systems
  • Windows 10 Version 1903 for ARM64-based Systems
  • Windows 10 Version 1903 for x64-based Systems
  • Windows 10 Version 1909 for 32-bit Systems
  • Windows 10 Version 1909 for ARM64-based Systems
  • Windows 10 Version 1909 for x64-based Systems
  • Windows Server, version 1903 (Server Core installation)
  • Windows Server, version 1909 (Server Core installation)

漏洞詳細分析

1、首先,SMB調用srv2!Srv2ReceiveHandler函數接收數據包,並根據ProtocolId設置對應的處理函數:

SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案

SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案

▲Srv2ReceiveHandler函數

如果判斷數據包中為壓縮的數據(ProtocolID = 0xfc4d5342),則調用Srv2DecompressMessageAsync函數。

2、srv2!Srv2DecompressMessageAsync函數會繼續調用 Srv2DecompressData函數:

SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案

▲Srv2DecompressMessageAsync函數

SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案

▲Srv2DecompressData函數

在Srv2DecompressData函數中,使用SrvNetAllocateBuffer進行內存分配時,未對OriginalCompressedSegmentSize和Offset/Length的長度進行任何檢查,對二者的和也未進行安全檢查。

3、srv2!Srv2DecompressData函數調用SmbCompressionDecompress函數,進而調用nt!RtlDecompressBufferXpressLz函數進行實際的數據解壓過程。

4、在nt!RtlDecompressBufferXpressLz函數進行數據解壓縮時,首先進行smb compress協議數據包的解析,獲取需要解壓縮數據的大小,並和之前通過SrvNetAllocateBuffer分配的buffer的OriginalCompressedSegmentSize值進行比較,確認其大小不大於OriginalCompressedSegmentSize,然後進行內存拷貝:

SMBv3新漏洞危害堪比永恆之藍,深信服緊急提供解決方案

▲nt!RtlDecompressBufferXpressLz函數

5、若v21大於OriginalCompressedSegmentSize,則返回0xC0000242錯誤。因為在步驟2中進行內存分配時沒有做長度檢查,所以如果傳入一個很大的OriginalCompressedSegmentSize值觸發整數溢出,此時v21就可以設置一個極大值,但可以通過對decompress size的判斷,最終調用qmemcpy拷貝一個極大的size導致緩衝區溢出。

而在微軟的補丁包中,添加了對兩個長度的檢查,以此來確保不會發生溢出。

利用此漏洞,遠程未經身份驗證的攻擊者通過使用SMBv3連接到易受攻擊的Windows計算機,或通過使易受攻擊的Windows系統啟動與SMBv3服務器的客戶端連接,就可以在易受攻擊的系統上以SYSTEM特權執行任意代碼。

解決方案

1.漏洞檢測

建議用戶通過漏洞檢測工具對網絡中的漏洞威脅進行排查。

深信服雲眼已完成檢測更新,可對用戶線上服務器進行探測,保障用戶業務安全。如需檢測互聯網業務是否存在漏洞的用戶,可註冊信服雲眼賬號,獲取30天免費體驗。註冊地址為:https://saas.sangfor.com.cn

深信服雲鏡同樣在漏洞披露的第一時間即完成檢測能力的發佈,部署雲鏡的用戶可以通過升級來快速檢測網絡中是否受該高危風險影響。離線使用雲鏡的用戶需下載離線更新包來獲得漏洞檢測能力。

2.漏洞修復

微軟目前已發佈針對此漏洞的安全更新補丁,深信服建議廣大用戶及時確認所用Windows版本,並下載對應版本安全補丁進行更新:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796

深信服終端安全檢測響應平臺EDR,已完成漏洞規則庫的緊急更新,支持該漏洞的檢測及補丁分發。EDR3.2.10及以上版本需要升級相應的SP包,更新漏洞補丁規則庫版本到202031317395,即可檢測漏洞並分發補丁進行漏洞修復。聯網用戶可直接在線更新, 離線升級包及漏洞補丁規則庫已上傳至深信服社區,有需要的用戶請到深信服社區下載。

3.漏洞防禦

建議用戶更新安全設備相關防護策略,防範相關漏洞攻擊。

深信服下一代防火牆AF已經更新漏洞規則庫,相關用戶更新至最新的安全防護規則,即可輕鬆抵禦此高危風險。

深信服安全感知平臺SIP同樣可以檢測利用該漏洞的攻擊,並實時告警,同時可聯動深信服下一代防火牆、深信服EDR等產品實現對攻擊者IP的封堵。

深信服安全運營服務,通過以“人機共智”的服務模式幫助用戶快速擴展安全能力。針對該漏洞,安全運營服務提供漏洞檢查、安全設備策略檢查等服務,確保第一時間檢測風險以及更新策略,防範此類威脅。

此外,個人用戶也可通過手動修改註冊表,防止被黑客遠程攻擊:運行regedit.exe,打開註冊表編輯器,在HKLM\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters建立一個名為DisableCompression的DWORD,值為1,禁止SMB的壓縮功能。


分享到:


相關文章: