[永恆之黑]CVE-2020-0796(漏洞復現)
實驗環境:
靶機:windows10 1903 專業版
攻擊機:kali 2020.3
VMware:vmware14
實驗工具:
Python 3.8.5
msfconsole
實驗PROC:
靶機鏡像:ed2k://|file|cn_windows_10_business_editions_version_1903_x64_dvd_e001dd2c.iso|4815527936|47D4C57E638DF8BF74C59261E2CE702D|/
檢測漏洞poc://github.com/ollypwn/SMBGhost
藍屏proc://github.com/chompie1337/SMBGhost_RCE_PoC
實驗前提:
靶機關閉防火牆
靶機安裝完畢後注意創建快照
pip安裝netaddr模組
漏洞簡單形成介紹:
該漏洞是Windows10在處理SMB 3.1.1協議的壓縮消息時,對頭部數據沒有做任何安全檢查,直接使用,從而引發記憶體破壞漏洞,達到任意命令執行。
漏洞攻擊目標:
漏洞主要攻擊埠為445,但也會有其他觸發方式如,構造惡意的SMB伺服器並通過網頁、壓縮包、共享目錄、OFFICE文檔等多種方式傳遞給目標用戶
當用戶打開惡意文件,無需開啟445埠就可以觸發漏洞
漏洞影響版本:
通過此漏洞獲取到的許可權為系統最高許可權
不影響win7,影響Windows 10 1903之後的各個32位、64位版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)
漏洞復現:
首先判斷是否存在漏洞
打開SMBGhost,利用scanner.py檢測是否存在漏洞
CMD輸入命令 python.exe scanner.py 192.168.1.140
出現 Vulnerable 則表示成功
打開SMBGhost_RCE_PoC文件夾通過exploit.py文件進行藍屏攻擊
輸入命令 python.exe exploit.py -ip [IP]
出現以下回顯表示攻擊成功
如果沒有成功可以進行多次嘗試
多次失敗可以嘗試恢復快照
接著返回虛擬機發現已經藍屏
靶機恢復快照
獲取shell攻擊
嘗試使用exp反彈shell,打開kali虛擬機
通過msfvenom命令生成payload
執行完畢後會在當前工作目錄下生成exploit文件
通過cat查看文件可以看到裡面是定義了一個名為buf的變數並把payload賦值給buf
打開github下載的PROC文件夾
並把exploit.py文件裡面USER_PAYLOAD的值替換為buf值
kali進入msf輸入命令
注意: lport 要和msfvenom生成的payload保持一致
use exploit/multi/handler set payload windows/x64/meterpreter/bind_tcp set lport 8888 set rhost 192.168.1.140 run
啟動監聽,並等待再次攻擊
之後再次運行替換過buf的exploit
如果不成功可以多次嘗試或恢復快照
運行成功後返回kali
可以看到攻擊成功
防禦手段:
打修補程式:
//msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-0796 (windows官方修補程式)
禁用SMBv3壓縮:
禁用SMB 3.0的壓縮功能,是否使用需要結合自己業務進行判斷。
使用以下PowerShell命令禁用壓縮功能,以阻止未經身份驗證的攻擊者利用SMBv3 伺服器的漏洞。
Set-ItemProperty -Path 「HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters」 DisableCompression -Type DWORD -Value 1 -Force
用戶可通過以下PowerShell命令撤銷禁用壓縮功能
Set-ItemProperty -Path 「HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters」 DisableCompression -Type DWORD -Value 0 -Force
註:利用以上命令進行更改後,無需重啟即可生效;該方法僅可用來防護針對SMB伺服器(SMB SERVER)的攻擊,無法對SMB客戶端(SMB Client)進行防護。
設置防火牆策略關閉相關埠:
SMB的TCP 445埠
NetBIOS名稱解析的UDP 137埠
NetBIOS數據圖服務的UDP 138埠
NetBIOS會話服務的TCP 139埠
通過IP安全策略屏蔽危險埠,bat執行添加防火牆策略,關閉危險服務:
//www.piis.cn/news/new1614.asp
總結:
這次實驗參考的比較多
//blog.csdn.net/weixin_45006525/article/details/106553519 (主要攻擊手段參考及資料下載
//guanjia.qq.com/avast/984/index.html (漏洞版本參考
//s.tencent.com/research/bsafe/912.html (漏洞基本消息參考
//www.cnblogs.com/kbhome/p/13073746.html (防禦手段參考
攻擊整體思路,通過445埠進行攻擊,利用proc和msf攻擊靶機並反彈shell,kali監聽反彈的shell(注意反彈監聽的shell要一致)