20175314 2020-4 《網絡對抗技術》Exp6 MSF基礎應用 Week9
一、實踐目標
1、實踐對象
- Kali Linux
- Metasploitable Linux
- Windows 10
- Windows 7
- Windows XP
2、實踐內容
- 成功主動攻擊,如ms08-067
- 成功針對瀏覽器的攻擊,如ms11-050
- 成功針對客戶端的攻擊,如Adobe
- 成功應用輔助模塊的攻擊
二、基礎知識
1、實踐要求
- 掌握metasploit的基本應用方式,重點是常用的三種攻擊方式的思路
- 實踐可不限於示例,並要求至少有一個是和其他所有同學不一樣
2、指令/參數
- SYN Flood攻擊指令
hping3 -q -n -a [偽造源IP] -S -s [偽造源端口] --keep -p [目的端口] --flood [目的IP]
3、預備知識
-
使用Nmap探測靶機的漏洞(以MS08-067為例)
- Windows XP
- Windows 7
- Windows XP
-
Ubuntu使用docker搭建samba
sudo su apt-get upgrade apt-get update apt-get dist-upgrade apt-get install docker.io apt-get install samba
-
SYN Flood攻擊
- Synchronize Sequence Numbers,同步序列編號,是TCP/IP建立連接時使用的握手信號;
- SYN Flood利用TCP協議缺陷,通過一定的操作破壞TCP三次握手建立正常連接,占用並耗費系統資源,使得被攻擊方資源耗盡,無法及時回應或處理正常的服務請求;
- 攻擊原理:通常客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送syn包,服務器回復確認包,在進行第三次握手時,服務器等待客戶的確認,由於源地址是不存在的,服務器需要不斷地重發直至超時。這些偽造的SYN包將長時間占用未連接隊列,正常的SYN請求不能進去以及被丟棄,目標系統運行緩慢並引起網絡擁堵。
三、實踐步驟
1、主動攻擊
(1) MS08-067漏洞滲透攻擊實踐(成功/不唯一)
-
啟動msfconsole查找漏洞
-
顯示該漏洞的滲透模塊
-
進入該漏洞模塊的使用,顯示有效的攻擊載荷,選擇
shell_reverse_tcp
-
顯示可以被攻擊靶機的操作系統版本,可以看到Windows XP SP3中文簡體版在列
-
設置攻擊有效載荷
generic/shell_reverse_tcp
,顯示連接需要設置的參數options
-
設置
LHOST
KaliIP和RHOST
WinIP,按照原來實驗的思路把端口對齊到5314
-
再次查看
options
都已設置完成,於是開始攻擊,但是不僅連接被拒絕而且session
對象創建失敗
-
也許是因為端口的問題,於是恢復默認的端口,連接成功但是
session
對象還是創建失敗
-
也許是因為這台Windows已經安裝了
KB958644
補丁,於是要苦尋傳說中沒有補丁的WinXPmhJ9
-
終於安裝完成后重復原來的步驟后我發現,這個版本不僅系統問題很多而且依然不能創建
session
對象(有緣也許可以成功)
-
也許是因為MSF水土不服的問題,於是要苦尋以前從來沒用過的英文版WinXP
4VAk
-
終於安裝完成后再一次重復原來的步驟終於連接成功了(果然是系統的問題)
-
進行一些指令操作驗證連接的效果,
ifconfig/all
查看Win的各類地址
-
dir
指令查看payload
所在目錄下的文件,chdir
指令查看payload
的路徑
-
查看Win目前的用戶,顯示只有
Administrator
-
查看新建用戶,設置用戶名和密碼,然后再次查看當前的用戶,顯示添加成功
-
檢查用以遠程連接的端口
3389
是否開啟
-
顯示沒有開啟,執行
REG ADD
指令開啟端口3389
-
再次檢查顯示端口
3389
已開啟
-
在主機系統進行遠程連接,輸入靶機IP地址
-
使用自己創建的用戶名和密碼登錄但顯示權限不夠
-
再回到Kali端使用MSF提權
-
重新登錄成功
(2) samba漏洞滲透攻擊實踐(成功/唯一)
-
使用docker搭建samba
-
因為安裝經過數次,顯示地址已被占用
-
檢查進程地址,關閉進程並查看是否已經成功開啟docker-samba
-
在Kali端
/usr/share/metasploit-framework/modules/exploits/linux/samba/
修改MSF的is_known_pipename模塊腳本is_known_pipename.rb -
啟動MSF,端口和地址都沒有問題但是exploit總是失敗,顯示地址非法
-
也許是因為Ubuntu搭建的samba環境版本較新,於是要苦尋Metasploitable2
-
msfadmin/msfadmin
登錄系統,查看IP地址信息
-
在Kali端使用nmap探測samba
-
啟動msfconsole,根據options設置相關參數,攻擊成功
2、針對瀏覽器的攻擊
(1) MS17-010漏洞(永恆之藍)滲透攻擊實踐(成功/不唯一)
-
啟動msfconsole查找漏洞
-
查找有效攻擊載荷
-
根據opions設置相關參數,啟動攻擊
-
在靶機的瀏覽器(IE)輸入Kali的IP地址
-
攻擊成功,編碼顯示有問題,可以換一個payload試試
(2) MS10-002漏洞(極光)滲透攻擊實踐(成功/唯一)
-
啟動msfconsole查找漏洞
-
查找有效攻擊載荷
-
根據opions設置相關參數,啟動攻擊
-
在靶機的瀏覽器(IE)輸入Kali的IP地址,無響應提醒,后門攻擊成功標志性現象
-
反彈連接成功但是非常奇怪,輸入
dir
指令返回的是Kali的信息
3、針對客戶端的攻擊
(1) Adobe Reader漏洞滲透攻擊實踐(成功/不唯一)
-
啟動msfconsole查找漏洞
-
選擇漏洞,查找有效攻擊載荷
-
根據opions設置相關參數,生成pdf文件,將這個文件按照路徑取出並復制到靶機
-
退出當前模塊,進入監聽模塊,根據opions設置相關參數,開始監聽
-
在靶機使用Adobe Reader啟動markmsf.pdf
-
攻擊成功,該載荷非常穩定沒有編碼問題
(2) Office Word漏洞滲透攻擊實踐(成功/唯一)
-
啟動msfconsole查找漏洞
-
MS11-006漏洞具有更強的實用性,查找有效攻擊載荷
-
根據opions設置相關參數,與我之前完成的免殺進階生成的帶宏的docm文件不同,這次生成的是普通的doc文件,將這個文件按照路徑取出並復制到靶機
-
退出當前模塊,進入監聽模塊,根據opions設置相關參數,監聽失敗
-
還是地址與端口連接的問題,嘗試關閉進程重啟后還是不行,所以還是換個端口試試比較實際,所以doc文件也需要重新設置生成,然后再重新嘗試監聽
-
這里反彈連接的方式很特別,雙擊打開沒有反應
-
經過多次嘗試,發現只需要在文件夾中啟動縮略圖查看即可
4、輔助模塊攻擊
(1) SYN Flood(成功/唯一)
-
啟動msfconsole,顯示所有的輔助模塊和用途
-
靶機啟動任務管理器監控CPU的使用率,啟動Wireshark,啟動攻擊
-
靶機幾乎癱瘓,停止攻擊后查看任務管理器和Wireshark捕包結果
(2) Web漏洞掃描(成功/唯一)
- 啟動msfconsole,根據options設置相關參數,啟動掃描
四、實踐報告
1、遇到的問題
-
問題 Ping過程Negotiating IP Security
-
解決方案 服務中停止IPSEC Services
-
問題 Windows關閉Generic Host Process for Win32 Services
-
解決方案 數據執行保護為Generic Host Process for Win32 Services啟用DEP
2、基礎問題回答
- 用自己的話解釋什么是exploit,payload,encode
- exploit 利用系統、程序或服務的漏洞進行攻擊的一個過程,即漏洞利用,在MSF攻擊過程中也能通過run實現;
- payload 攻擊者在目標系統上執行的一段攻擊代碼,即攻擊載荷,該代碼具有反彈連接、創建用戶、執行其他系統命令的功能,在在MSF攻擊過程中通過exploit運輸;
- encode 可以避免使攻擊載荷不能完整運行的壞字符或是改變特征碼,在MSF攻擊過程中對payload進行包裝,幫助其避免被殺軟發現。
3、實驗收獲與感想
- 經過了前面兩次以分析為主的實驗,再次使用MSF感覺對過程更加清晰,解決問題的能力也有所提升,本次實驗的四個部分都使用了兩種方式實現,而且都成功了,雖然是MSF基礎應用,但是學習到新的知識和技能感覺還是挺有成就感的。結合免殺的實踐,每次后門攻擊都至少應該做相應的進程遷移,包括掃描等操作也應該清理入侵痕跡,但是這樣理想化的環境也能讓我有所體驗利用各種有趣的漏洞。
- 如果要考慮實戰,我認為首先要想辦法如何連接目標機器或將后門程序植入目標機器,不然再大的漏洞都是擺設,比如可以入侵服務器(網關)、控制內部網絡等等,方法有很多但是肯定多少也要結合一定社會工程學。除了上述所說以外還有很重要的一點就是上一個實驗即信息搜集,比如針對客戶端的攻擊,首先要對目標主機的漏洞情況和系統情況還有客戶端情況有所掌握,目標機器上是否已經安裝補丁?系統是中文版還是英文版?是否安裝Adobe或Office?等等問題需要掌握,但是從實用性和普遍性來看,針對瀏覽器的攻擊應該還是比較實用(因為瀏覽器的漏洞除了MS代號大多都還有一個美麗的中文名)。