影子經紀人(Shadow Brokers)最近陸續曝光的NSA網絡武器令人震驚,盡管這些工具是否出自國家級別黑客團隊之手尚不清楚,但至少存在一個可以說明問題的事實:這些漏洞利用工具都能有效運行,且具有一定程度的威脅殺傷力。在此,我用NSA的兩個大殺器演示對Win 7和Windows Server 2008系統進行漏洞利用和入侵控制的過程復現。
復現工具說明
在需要用到兩個比較有意思的工具,一個為針對微軟上個月才剛剛修復的MS17-010漏洞后門利用程序–EternalBlue(從目前使用情況來看,相對比較穩定),該漏洞利用程序影響Windows 7和Windows Server 2008大部分版本系統,無需認證權限就能實現系統入侵控制;另一個為可以遠程向目標控制系統注入惡意DLL或Payload程序的插件工具DOUBLEPULSAR。綜合利用這兩個工具,入侵攻成功之后,我們可以實現對目標系統執行Empire/Meterpreter反彈連接控制。在此過程中,我們還需要用到NSA使用的類似Metasploit的漏洞利用代碼攻擊框架FUZZBUNCH。當然,我們首先還得把Shadow Brokers泄露的工具下載到系統中來。
環境設置
受害者靶機系統 (Windows 7/2008)–> Windows 7 SP1 x64 – 192.168.1.109不需要做其它額外配置,只需要系統開啟,知道IP即可;
攻擊控制者系統1(Windows XP)–> Windows XP SP3 x32 – 192.168.1.108,需要安裝Python 2.6程序和PyWin32 v2.12,調試運行攻擊框架FUZZBUNCH;
攻擊控制者系統2((GNU/Linux)–> Debian Jessie x64 – 192.68.1.105,需要用到Linux系統下的Empire和Metasploit相關工具,當然,你也可以使用Kali。
FuzzBunch環境設置
從上述描述可知,該攻擊框架運行條件為Python 2.6(下載鏈接)和老版本的PyWin32 v2.12(下載鏈接),為此,我們在攻擊控制者系統1的Windows XP系統中下載安裝。
注意,所有環境安裝配置好之后,我們在FUZZBUNCH目錄下以CMD形式執行python fb.py命令,將會提示未找到“Listening post”錯誤,原因在於指定運行配置屬性為空,所以,我們可以用編輯器把fb.py源碼的第72行“Listening post”相關部分注釋掉:
另外,在相同目錄下找到Fuzzbunch.xml文件,用我們本地系統相關路徑把其中的第19行和第24行路徑進行覆蓋,如下圖所示:
OK,FUZZBUNCH可以正常運行:
FUZZBUNCH的初始化過程中,將會需要輸入攻擊目標IP和回連控制IP,在這里我分別輸入靶機系統的控制系統1(xp)的IP地址,如下圖所示:
點擊“enter”繼續,會提示輸入工程名,在此,我們用”eternal1″,在該工程名目錄下將會生成一些日志記錄文件:
用EternalBlue攻擊入侵Windows 7/2008
首先,我們在FUZZBUNCH終端上用命令“use EternalBlue”選擇使用EternalBlue作為漏洞利用工具:
在此,我們將會使用很多默認配置參數,但在以下配置模式中,我們應該選擇1模式:
最終,對目標系統運行EternalBlue之后,將會回應成功執行消息“Eternalblue Succeeded”。
使用Empire生成惡意DLL文件(Payload)
由於上一步驟中靶機系統已經被EternalBlue成功植入后門,所以在該步驟中,我們將使用Empire生成惡意DLL文件(Payload),並用DOUBLEPULSAR實現遠程注入。
在攻擊控制者系統2的Linux系統中,我們使用Empire進行Payload創建:
step 1:構造一個反彈回連監聽進程Linstener,注意Host IP地址應為該Linux系統IP 192.68.1.105:
step 2:創建惡意DLL Payload文件/tmp/launcher.dll:
有了DLL的Payload文件之后,我們把它拷貝到XP系統,回到XP攻擊框架FUZZBUNCH中調用DoublePulsar
進行上傳注入。
使用DoublePulsar向目標系統中注入Payload文件
回到XP系統中,在FUZZBUNCH終端使用“use DoublePulsar”命令運行DoublePulsar:
此時,我們應該確保使用以下配置選項,如攻擊目標系統架構(這里為x64)、執行DLL注入的“RunDLL”等:
同時,DoublePulsar還會詢問我們DLL的Payload文件位置,我們給出其拷貝到XP系統的具體路徑便可。
之后,命令詢問是否執行DoublePulsar,yes之后將會執行遠程注入:
不出意外,將會得到成功執行的消息顯示“Doublepulsar Succeded”。
通過Empire獲取反彈控制連接
DoublePulsar成功執行之后,我們會在攻擊控制的Linux系統中得到一個反彈連接:
OK,目標機器系統已經被完全控制了!
遷移到Meterpreter中進行反彈連接控制
由於在Meterpreter平台上能執行與Empire一樣的控制命令,所以,我們也可以把反彈連接移植到Meterpreter上進行控制。
step 1: 使用windows/meterpreter/reverse_https,配置Meterpreter監聽進程:
step 2:在Empire中執行“code_execution” ,注入meterpreter模塊:
Step 3: 從Meterpreter端獲取控制連接: