Exp 5 MSF基礎應用
Exp 5 MSF基礎應用
0x0 實驗環境
本次實驗的環境取自《Metasploit滲透測試魔鬼訓練營》中的靶機鏡像。
- 初始攻擊點:Kali linux,IP地址:10.10.10.128
- 網關服務器:linux metasploitable(Ubuntu 8.04),IP地址:eth0(10.10.10.254),eth1(192.168.10.254)
- web服務器:OWASP BWA v0.94,IP地址:10.10.10.129
- windows靶機1:windows xp SP3 English,IP地址:192.168.10.130
- windows靶機2:windows xp SP3 English,IP地址:192.168.10.131
按照書中的說法,我的Kali攻擊機所在的網段10.10.10.0/24
模擬的DMZ區(非軍事區),windows靶機所在的網段192.168.10.0/24
模擬的是企業內網。
由於虛擬機遷移到wmware後的顯示問題,以及為了更加接近實戰,我用ssh登錄vmware虛擬機中的Kali linux,完成這次實驗。
我在自己主機上用到ssh終端是MobaXterm。
0x1 查點——輔助模塊的使用
首先我們要讓metasploit連接到postgresql數據庫,這樣才能導入一些輔助模塊的插件。
我之前沒有創建數據庫,用msfdb init
創建一個,然後輸入msfdb run
啟動metasploit,同時連接數據庫。
對於攻擊web應用來說,我們還沒有什麽基礎和經驗,現在外圍搜集一下情報也是好的。
使用wmap掃描器
metasploit內置了wmap Web掃描器,可以對網站進行集中掃描。這裏的目標依然是www.dvssc.com。
使用wmap,相當於一次使用多個輔助模塊對目標進行查點(一定沒有人和我重復了)
輸入load wmap
加載wmap掃描器。
將www.dvssc.com作為掃描目標,輸入如下內容:
這次掃描中使用到的輔助模塊有這麽多,可以直接一次執行:
輸入wmap_run -e
開始掃描
wmap結果分析
版本信息
我們可以看到服務器的版本,中間件版本,語言版本。
如果能夠滲透成功,我們得到的webshell是PHP的。
robots.txt文件
robots.txt文件是網站用來告訴搜索引擎的爬蟲抓取頁面時要遵循的規則。
robots.txt中的目錄和文件應該是我們關註的重點。
目錄掃描
我們對www.dvscc.com進行目錄掃描,結果非常雜亂:
我們可以看到 PHP,wordpress這些字眼。
該web服務器的CMS可能是wordpress,如果能夠有更多信息,或許可以從wordpress的漏洞下手。
漏洞信息
輸入vulns
可以顯示漏洞信息
db_nmap掃描
由於這次實驗的重點不在web應用的攻防,我們把目光從web服務器上移開,看看DMZ區有沒有其他的可突破的地方。
使用nmap的sn選項對DMZ區的主機進行探測
實驗環境中,網關服務器的IP是10.10.10.254,如果拿下了它,就可以把它當作跳板,進入內網了!
nmap探測操作系統與服務類型
我們先看一下網關服務器(10.10.10.254)的系統信息,使用nmap的-O選項即可
我們只能知道網關服務器的操作系統內核是Linux 2.6,還需要更多的信息。
那麽,直接使用nmap的-sV選項,就能探測網關服務器的服務信息。
確定攻擊思路
我們先列出掃描的結果,然後更加結果來確定攻擊的思路。
目標 | 操作系統 | 開放端口 | 服務 |
---|---|---|---|
網關服務器(10.10.10.254) | Linux 2.6.x(ubuntu) | FTP(21) | ProFTPD 1.3.1 |
SSH(22) | OpenSSH 4.7p1 | ||
telnet(23) | Linux telnet | ||
smtp(25) | Postfix smtpd | ||
http(80) | Apache httpd 2.2.8((Ubuntu) PHP/5.2.4-2ubuntu5.10) | ||
netbios-ssn(139) | Samba smbd 3.x - 4.x | ||
netbios-ssn(445) | Samba smbd 3.x - 4.x | ||
mysql(3306) | MySQL 5.0.51a-3ubuntu5 | ||
postgresql(5432) | PostgreSQL DB 8.3.0 - 8.3.7 | ||
ajp13(8009) | Apache Jserv (Protocol v1.3) | ||
http(8080) | Apache Tomcat/Coyote JSP engine 1.1 |
根據這張表,我們有如下幾個大致的攻擊方向:
- 口令嗅探與猜測:FTP,SSH,Telnet,MySQL,PostgreSQL(但是需要自己提供口令字典)
- 系統漏洞利用:Samba,smtp
- web應用漏洞:Apache,Tomcat
由於我們現在對web應用的攻防不熟悉,暫時不從這裏著手。
metasploit口令猜測需要自己提供口令字典(比如:auxiliary/scanner/ssh/ssh_login輔助模塊),但我們還沒有,暫時不從這裏著手。
我們選擇利用系統漏洞,主動攻擊這條路(其實是為了達到實驗要求)
0x2 稱霸DMZ區——主動攻擊系統服務
實際上,僅僅靠我們現在搜集到的信息是不足以確定滲透模塊的,但是限於篇幅(還有本人水平有限),我們直接上手拿到網關服務器的shell。
拿下網關服務器——利用CVE-2007-2447漏洞
嚴格意義上說,僅憑借剛才查點得到的信息是不能知道網關服務器有這個漏洞的(因為《Metasploit魔鬼訓練營》中給出了這個例子,我才知道網關服務器上有這個漏洞)
最多知道個Samba的版本號為3.0.20,或許存在CVE-2007-2447漏洞,就算是碰運氣撞到的吧(前面的查點完全是為了應付這次實驗,並沒卵用……笑)
使用exploit/multi/samba/usermap_script模塊,這個模塊的評價可是excellent!
非常可惜,這個滲透模塊好像不支持Meterpreter的payload,這裏選擇netcat吧。
拿到shell了,但接下來該怎麽辦呢?
將shell升級為Meterpreter
只是用netcat太不方便了,最後還是能夠使用Meterpreter。我們可以將shell升級為Meterpreter!
新開啟一個netcat會話,用exploit -z
把它放到後臺。
然後用session -u
選項,將它升級為Meterpreter
接著,可以“胡作非為”了。
輸入ifconfig
可以看到,網關服務器的另一張網卡連接的網段。
接下來,我們就要攻擊192.168.10.0/24這個網段中的主機了。
攻破後臺服務器——利用MS08-067漏洞
其實DMZ區還有一臺windows server 2003服務器,這上面的Oracle數據庫是有漏洞的,對應的Metasploit滲透模塊是:exploit/windows/oracle/tns_auth_sesskey。
但是這個滲透攻擊模塊利用起來很困難(《Metasploit魔鬼訓練營》上的做法是自己調試改造這個攻擊模塊),不一定能成功。
我們只能用MS08-067這一“著名”漏洞了,但這個漏洞也不太好利用,它的成功率非常依賴目標的操作系統。
使用nmap腳本進行漏洞掃描
nmap已經有默認的NSE腳本對該漏洞進行漏洞掃描了。用--script=smb-vuln-ms08-067
選項,得到如下結果:
的確,這個服務器包含MS08-067漏洞。
利用MS08-067漏洞
使用ms08_067_netapi滲透模塊,配置好參數:
一定要設置好TARGET選項,不要使用自動識別,針對MS08-067漏洞的攻擊的參數設置要特別小心。
我之前選擇的payload是Meterpreter的,但是失敗了,參考了《Metasploit魔鬼訓練營》,改用了generic/shell_reverse_tcp,這才成功
不過不要緊,shell是可以升級為Meterpreter的,依舊是使用sessions -u <ID>
命令
等待片刻,獲得Meterpreter會話
0x3 控制內部網絡——客戶端攻擊
接下來我們準備實施客戶端滲透攻擊,構造惡意網頁,在內網的主機訪問公司門戶網站時,從而獲得控制權。
但是,讓用戶在瀏覽器中輸入Kali的IP並訪問有些不現實。用戶可能會訪問的是web服務器,然而我們沒有拿下DMZ區的web服務器,該怎麽辦?
我們之前拿下了連接DMZ區和企業內網的網關服務器,可以在網關服務器上做手腳。
準備工作——流量重定向
既然拿下了網關服務器,直接把內網主機的流量重定向到Kali上不就行了!
但是這個動靜比較大,很容易暴露自己,不過只是實驗,無所謂了(等學習了web攻防以後,再拿下web服務器吧)
剛開始,內網主機是可以訪問web服務器的
我們在網關服務器上用iptables設置這樣一條規則
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.10.0/24 -j DNAT --to 10.10.10.128
現在,我們通過iptables把流量重定向到Kali上,內網主機再次訪問web服務器就會失敗。
針對瀏覽器的攻擊——IE瀏覽器極光漏洞MS10-002
使用ms_10_002_aurora滲透模塊,設置如下參數:
輸入exploit -z
,等待主機上鉤。讓內網的主機再次訪問www.dvssc.com
:
什麽畫面也沒有!而此時Kali上的情況是這樣的:
拼手速的時候到了,用戶很可能會關閉瀏覽器,這樣就導致我們的工作前功盡棄了。
必須立刻做進程遷移
這下可以安心了!不過還得見好就收,把網關服務器的iptables的配置改回來。
客戶端滲透攻擊——利用MS11-006構造惡意word文檔
接下來我們使用windows/fileformat/ms11_006_createsizeddibsection模塊進行客戶端滲透攻擊。
之所以選擇這個模塊,是因為內網的主機為windows xp SP3 English版本,而且都裝有word。
配置參數如下:
不過有個問題,怎麽把文件傳給主機呀?,這次實驗好像沒法模擬,就當是發郵件過去的吧!
(騙用戶打開惡意文檔也是個技術活)
在Kali上監聽Meterpreter的會話,然後打開xp主機上的惡意文檔。
這個攻擊觸發的條件有點苛刻,需要以縮略圖(thumbnails)的方式才能成功。
也就是說,用戶沒有用縮略圖的方式打開的話,攻擊就不會觸發。
這樣的客戶端滲透攻擊最好配合社會工程學,才能發揮最大功效。
0x4 擦屁股開溜——清理入侵痕跡
為了避免自己的行蹤暴露,防止入侵行為被發現,我們在完成入侵後必須“擦屁股”。
直接使用Meterpreter的clearev命令就可以清楚事件管理器的日誌。
只不過這屬於後滲透模塊的東西了,不在本次實驗的關註點裏。
Exp 5 MSF基礎應用