在本文中我將為大家復現在前段時間被曝出的,方程式0day Eternalblue的利用過程。Eternalblue通過TCP端口445和139來利用SMBv1和NBT中的遠程代碼執行漏洞。從涵蓋的操作系統版本來看,Eternalblue針對的范圍也非常廣泛。從Windows XP到Windows Server 2012都為其攻擊對象。而Windows 10和Windows Server 2016,則并不在其利用范圍。但很可能在不久后Eternalblue可能會被再次修改,因此我們應該時刻保持警惕!
Eternalblue(永恒之藍)只是影子經紀人公布的Windows零日漏洞利用工具系列中的一款。除此之外,以“永恒”為前綴名的漏洞利用工具還有例如Eternalromance, Eternalchampion 和 Eternalsynergy,所有這些都是針對近期的Windows操作系統的。為了配置和執行對攻擊目標的成功利用,其中有一款名為Fuzzbunch的漏洞利用框架,該框架基于Python 2.6開發與Metasploit框架頗為相似。在以下演示中,我將首先安裝最基本的漏洞利用環境并配置Fuzzbunch,最終我將會通過Empire&Meterpreter來獲取Windows 7的反彈shell。
配置Fuzzbunch并創建基本利用環境
為了達到更好的實驗效果,我們將需要配備以下系統環境:
Windows 7 64-bit 作為被攻擊目標。IP:10.11.1.253
Windows 7 作為Windows攻擊機,并運行Fuzzbunch。IP: 10.11.1.251
Kali Linux 作為另一臺攻擊機,并運行Empire framework。IP: 10.11.1.16
在我們正式開始實驗之前,我們還需要在Windows 和Kali Linux攻擊機上進行一些相應的環境部署。
Windows 7相關環境的安裝配置
在Windows 7攻擊機上,我們需要安裝Python 2.6和PyWin32 v212。安裝文件可以在這里下載:
Python 2.6: https://www.python.org/download/releases/2.6/
PyWin32 v212: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/
按照基本安裝步驟首先安裝Python,然后再安裝PyWin32。這里需要注意的是,安裝PyWin32務必以管理員身份進行,否則可能會出現報錯。如果你需要再次運行安裝后的腳本,則可以在以下目錄中找到:
C: \Python26\Scripts
在Kali Linux上安裝Empire Framework
在Kali Linux上,我們需要安裝可從Github獲取的Empire框架:
Empire framework: https://github.com/EmpireProject/Empire
在Kali Linux上安裝Empire Framework非常簡單,只需運行./setup/install.sh腳本即可一鍵安裝,然后運行./empire就可以啟動Empire。

配置Fuzzbunch
接下來,我們就可以到Github上下載Shadow Brokers泄露的NSA工具并將其解壓到桌面。這里需要注意的是,當你從Github下載轉儲時,你必須要在包含fb.py(Fuzzbunch)文件的Windows目錄中,創建一個名為“listeningspost”的新文件夾。

最后編輯名為fuzz bund.xml的Fuzzy Bunch配置文件,并設置相應的ResourcesDir和LogDir參數:

現在我們就可以通過命令行來執行fb.py文件,啟動Fuzzbunch。至此應該沒有任何報錯:

如果你看到了關于缺少DLL或導入的錯誤提示,請確保是否已正確安裝了PyWin32,并且安裝后腳本是否成功完成。
配置和執行Eternalblue
至此,我們已經具備了Eternalblue漏洞利用的所有條件。執行Eternalblue需要一個目標IP和回調IP地址。這里的目標地址則為10.11.1.253(Windows 7 64-bit),而反彈地址則為 10.11.1.251(Windows 7)。

接下來需要我們配置和指定是否重定向,和日志記錄相關的一些參數,并在Fuzzbunch中創建一個新的項目。我們不會使用重定向,因此輸入“no”,然后按Enter鍵繼續。繼續按回車鍵保持默認選項。然后我們選擇選項4(或沒有現有項目時為0)創建一個新項目,并將其命名為任何你喜歡的項目名稱,并選擇為你的新項目使用默認的日志記錄位置。

要查看全部加載的插件/exploit類型,可以使用’use’命令。選擇使用Eternalblue插件,請鍵入以下命令:
use Eternalblue

接著Fuzzbunch會詢問我們是否提示進行變量設置,我們選擇yes。傳輸方式我們選擇1‘FB’。

|