1. 程式人生 > >Exp 5 MSF基礎應用

Exp 5 MSF基礎應用

門戶網站 mat netcat smb 1-1 意義 所在 類型 eth

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進行目錄掃描,結果非常雜亂:

技術分享圖片

我們可以看到 PHPwordpress這些字眼。

該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基礎應用