歡迎品嘗由Tide_純白 【無線安全】研究小組現(xiàn)炒現(xiàn)賣的無線安全系列教程,本系列教程旨在從攻擊思路來加強(qiáng)無線安全,如有惡意模仿,一律揍哭。
本期課題:今天的網(wǎng)站也有崩掉的說
涉及工具:Ettercap & Setoolkit
涉及概念:MITM & ARP & DNS
涉及技術(shù):DNS欺騙 & 社工釣魚
【1】今天的網(wǎng)站也有崩掉的說
“現(xiàn)在的淘寶都能崩掉,馬云那小子到底想不想干啦。”樓下重慶小面的王大爺一邊給我加面一邊吐槽,用慣了老年機(jī)的王大爺對面前這臺大背頭舊式電腦寄予了極大的厚望,這個小小的淘寶登錄頁是王大爺進(jìn)軍O2O的唯一希冀!
我接碗的手幾乎是顫抖的,聲音也開始變的支支吾吾:吖?誰說不是呢,今天的網(wǎng)站也有崩掉的說~

【2】Ettercap & Setoolkit
Ettercap
Ettercap是一個全面的中間人攻擊工具,它的特點(diǎn)是嗅探實(shí)時連接、動態(tài)過濾內(nèi)容以及許多其他有趣的技巧,它支持多個協(xié)議的主動和被動分離,并包含了網(wǎng)絡(luò)和主機(jī)分析的許多特性。
在ARP篇我們已經(jīng)使用過了,此番再次上陣,是因?yàn)楸敬蔚腗ITM_DNS欺騙是基于ARP毒化的前提下的,所以Ettercap依然是我們必備的,其次它的dns_spoof插件將為我們此次的DNS欺騙提供最快捷的方式。
Setoolkit
全稱Social-Engineer Toolkit,顧名思義社會工程工具包,基于python,集成msf,這就是我能想到的最簡潔的評價。

以上為主面板,我們稍后會用到1),關(guān)于2-6項(xiàng),我可是十分明確的說一句請直接忽視,當(dāng)然你也可以自己去深究下原因,講真這個軟件做的并不優(yōu)秀,甚至說我們甚至可以完全不依賴它,它只是為我們提供了一個很鮮明的社會工程學(xué)思路,教唆我們按部就班的社工。
【3】MITM & ARP & DNS
MITM
中間人攻擊(Man-in-the-MiddleAttack,簡稱“MITM攻擊”)是一種“間接”的入侵攻擊,這種攻擊模式是通過各種技術(shù)手段將受入侵者控制的一臺計算機(jī)虛擬放置在網(wǎng)絡(luò)連接中的兩臺通信計算機(jī)之間,這臺計算機(jī)就稱為“中間人”。它是一種由來已久的網(wǎng)絡(luò)入侵手段,并且當(dāng)今仍然有著廣泛的發(fā)展空間,如SMB會話劫持、DNS欺騙等攻擊都是典型的MITM攻擊。
簡而言之,所謂的MITM攻擊就是通過攔截正常的網(wǎng)絡(luò)通信數(shù)據(jù),并進(jìn)行數(shù)據(jù)篡改和嗅探,而通信的雙方卻毫不知情。
其實(shí)講到這里,大家應(yīng)該也猜到接下來的系列課程內(nèi)容了。
ARP
地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個TCP/IP協(xié)議。主機(jī)發(fā)送信息時將包含目標(biāo)IP地址的ARP請求廣播到網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息,以此確定目標(biāo)的物理地址;收到返回消息后將該IP地址和物理地址存入本機(jī)ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源。
地址解析協(xié)議是建立在網(wǎng)絡(luò)中各個主機(jī)互相信任的基礎(chǔ)上的,網(wǎng)絡(luò)上的主機(jī)可以自主發(fā)送ARP應(yīng)答消息,其他主機(jī)收到應(yīng)答報文時不會檢測該報文的真實(shí)性就會將其記入本機(jī)ARP緩存;由此攻擊者就可以向某一主機(jī)發(fā)送偽ARP應(yīng)答報文,使其發(fā)送的信息無法到達(dá)預(yù)期的主機(jī)或到達(dá)錯誤的主機(jī),這就構(gòu)成了一個ARP欺騙,又稱ARP毒化、ARP攻擊等。
DNS
DNS(域名系統(tǒng))在互聯(lián)網(wǎng)中是一個非常重要的協(xié)議。它屬于TCP/IP,是一個分層結(jié)構(gòu)的分布式模塊,它包含域名的相關(guān)信息。它負(fù)責(zé)在網(wǎng)絡(luò)上映射域名到他們各自的IP上。DNS定位主機(jī)/服務(wù)器通過查看友好域名,使用域名系統(tǒng),DNS將域名和IP地址相互映射 。這些設(shè)備(路由器、服務(wù)器等)連接到你的電腦不能理解一些友好的名稱 (infosecinstitute.com),他們只了解一個IP地址,而DNS負(fù)責(zé)翻譯它。
DNS服務(wù)器包含著一個主數(shù)據(jù)庫,其中包括信息的IP地址,因?yàn)檫@涉及到相應(yīng)的域名。所以在這些正常的通信中,一個主機(jī)發(fā)送請求到服務(wù)器,之后服務(wù)器響應(yīng)正確的信息,即IP。而如果此時我們作為一個中間人角色,捕獲并篡改DNS服務(wù)器返回的請求,或直接阻斷主機(jī)發(fā)往DNS服務(wù)器的請求,如在主機(jī)請求www.baidu.com的時候,中間人捕獲該請求,并直接將192.168.1.100的IP返回給主機(jī),此時對于目標(biāo)主機(jī)中間人角色就是模仿的DNS服務(wù)器的行為,而目標(biāo)主機(jī)對www.baidu.com域名的訪問實(shí)際上訪問的是192.168.1.100:80的內(nèi)容,這就是一個完整的DNS欺騙流程。
【4】DNS欺騙 & 社工釣魚
本次測試以物理機(jī)(192.168.1.111)擔(dān)任靶機(jī),ParrotSec虛擬機(jī)擔(dān)任中間人角色(192.168.1.102),emmm,因?yàn)榧依镏挥幸慌_pc,釣魚網(wǎng)站的任務(wù)也同樣交給ParrotSec,釣魚網(wǎng)站源由阿里巴巴提供。
DNS欺騙
首先做下Ettercap配置:
sudo vim /etc/ettercap/etter.dns
添加如下內(nèi)容:

【關(guān)于DNS記錄類型】
#A記錄
A(Address)記錄是用來指定主機(jī)名(或域名)對應(yīng)的IP地址記錄。用戶可以將該域名下的網(wǎng)站服務(wù)器指向到自己的web server上。同時也可以設(shè)置域名的子域名。通俗來說A記錄就是服務(wù)器的IP,域名綁定A記錄就是告訴DNS,當(dāng)你輸入域名的時候給你引導(dǎo)向設(shè)置在DNS的A記錄所對應(yīng)的服務(wù)器。 簡單的說,A記錄是指定域名對應(yīng)的IP地址。
#PTR
PTR是pointer的簡寫,用于將一個IP地址映射到對應(yīng)的域名,也可以看成是A記錄的反向,IP地址的反向解析。 PTR主要用于郵件服務(wù)器,比如郵箱AAA@XXX.com給郵箱BBB@yahoo.com發(fā)了一封郵件,yahoo郵件服務(wù)器接到郵件時會查看這封郵件的頭文件,并分析是由哪個IP地址發(fā)出來的,然后根據(jù)這個IP地址進(jìn)行反向解析,如果解析結(jié)果對應(yīng)XXX.com的IP地址就接受這封郵件,反之則拒絕接收這封郵件。
關(guān)于Ettercap進(jìn)行ARP毒化的操作已經(jīng)ARP篇詳細(xì)介紹了,本章節(jié)在原基礎(chǔ)上繼續(xù)拓展,不在重復(fù)。
在arp毒化設(shè)置的基礎(chǔ)上,加載dns_spoof插件,然后開啟嗅探:

此時關(guān)于目標(biāo)機(jī)對login.taobao.com域名的訪問已經(jīng)遭到了劫持:


然而,我們的游戲才剛剛開始!
社工釣魚
打開setoolkit開始社會工程學(xué)步驟:
選擇“1”社會工程學(xué)攻擊:

我們選擇今天需要用到的website Attack Vectors,即“2”,然后,參見作者解釋,我們選擇列表中的“3”,即盜取目標(biāo)身份認(rèn)證信息如賬號密碼。這里大家可已經(jīng)看到了,其中“2”是根據(jù)目標(biāo)瀏覽器漏洞獲取目標(biāo)系統(tǒng)shell,嚴(yán)格來講,這完全是msf的功能,我們暫不在此平臺做演示。

然后,我們參見作者解釋,選擇網(wǎng)站克隆功能,從系統(tǒng)提示來看,此平臺不僅支持HTTP站點(diǎn),而且還支持HTTPS的站點(diǎn)。

分別輸入克隆目標(biāo)和我們的作為服務(wù)的偽裝服務(wù)器!setoolkit將會為你自動拉起apache,不管你是默認(rèn)apache還是apache2,此處解放雙手,無需預(yù)啟動。

此時如果目標(biāo)主機(jī)訪問淘寶域名并嘗試登錄(https://login.taobao.com/),毫無疑問,從域名到頁面用戶感受與真實(shí)網(wǎng)站完全一致:

發(fā)生了什么呢?我們看下后臺捕獲到的數(shù)據(jù),emmmm,什么?你問我密碼呢?給馬云爸爸留點(diǎn)面子好伐,此處密碼采用了加密傳輸。但是,我們工作或生活中常見的平臺顯然并沒有加密傳輸,即使進(jìn)行了密碼加密,十有八九也算不安全的加密方式,依靠js就可以逆向破解。

順路查看下ettercap,域名自然被解析到了釣魚網(wǎng)站上:

現(xiàn)在我們來討論下產(chǎn)生的影響:
1)如果單獨(dú)使用setoolkit時,setoolkit會在釣魚操作執(zhí)行以后會將會話重定向到真實(shí)網(wǎng)站。
形象點(diǎn)說,從用戶角度的感受就是:我剛剛輸入錯了?我點(diǎn)到了什么嘛?沒關(guān)系,再輸一遍就是啦~
顯然,第二遍是他的正常登錄操作,雖然第一次登錄失敗,但絕大多數(shù)人不會察覺這一點(diǎn)的。
2)如果配合DNS欺騙的話,偽造的只是一個登錄界面,偽造的服務(wù)器端在完成釣魚任務(wù)后,目標(biāo)主機(jī)依然無法正常訪問所請求域名,但這樣做的好處是他會主動通過訪問域名進(jìn)入你的釣魚網(wǎng)站,而不需要額外通過社工手段引誘目標(biāo)點(diǎn)擊你的鏈接。
既然說到這了,順便說下引誘的社工手段,包括短域名、高仿域名(如taobao.com & ta0ba0.com)等手段,畢竟IP的話,稍微有點(diǎn)常識的人肯定會有察覺的。
END
回到餐位上的我,望著密密麻麻的Apache日志陷入了沉思,我早該想到的,只要DNS欺騙存在,這個域名就永遠(yuǎn)無法正常訪問,同時也為王大爺?shù)囊懔λ鄯?code>>.<,既然登不上去咱就不能等我先把面吃完咩!
講真、今天的網(wǎng)站也有崩掉的說!