解析中间人攻击(1/4)---ARP缓存中毒
本系列將討論最常被使用的中間人攻擊形式,包括ARP緩存中毒攻擊(ARP Cache Poisoning)、DNS欺騙(DNS Spoofing)、HTTP會話劫持等。
導(dǎo)言
用于攻擊個人以及企業(yè)的最常見的網(wǎng)絡(luò)攻擊方式就是中間人攻擊(MITM)。作為一種主動竊聽攻擊方式,中間人攻擊方式主要是通過與目標(biāo)機器建立連接并在目標(biāo)機器間傳遞信息來發(fā)動攻擊。在這種情況下,用戶會認為自己正在與另一名用戶直接通信,而實際上,通過主機的通信流量正在對用戶執(zhí)行攻擊。最終結(jié)果是,攻擊主機不僅能截取重要信息,而且能夠注入數(shù)據(jù)流來進一步控制受害用戶。
在本系列文章中,我們將討論最常被使用的中間人攻擊形式,包括ARP緩存中毒攻擊(ARP Cache Poisoning)、DNS欺騙(DNS Spoofing)、HTTP會話劫持等。在實際情況中,你會發(fā)現(xiàn),大多數(shù)受害用戶使用的都是windows系統(tǒng),因此我們將詳細分析運行不同版本的windows系統(tǒng)時中間人攻擊的情況。
ARP緩存中毒
在本文中我們將主要探討ARP緩存中毒,這也是現(xiàn)代中間人攻擊中最早出現(xiàn)的攻擊形式,ARP緩存中毒(有時也被稱為ARP中毒路由)能夠讓與受害用戶在相同子網(wǎng)的攻擊者竊取用戶的所有網(wǎng)絡(luò)留戀。我們首先討論這種攻擊形式是因為,它是最容易執(zhí)行的攻擊形式,但也是最有效的攻擊形式。
正常ARP通信
ARP協(xié)議的主要目的在于簡化OSI模型第二層和第三層間地址的翻譯。第二層(也就是數(shù)據(jù)鏈層)使用MAC地址,以便硬件設(shè)備可以在小范圍內(nèi)直接進行通信。第三層(也就是網(wǎng)絡(luò)層)使用IP地址(最常見的形式)來創(chuàng)建連通世界各地用戶的大規(guī)模網(wǎng)絡(luò)。數(shù)據(jù)鏈層直接處理連接在一起的設(shè)備,而網(wǎng)絡(luò)層處理那些直接以及間接連接的設(shè)備,每一層都有自己的地址形式,他們必須合作才能實現(xiàn)網(wǎng)絡(luò)通信。正是由于這個原因,ARP與RFC826(以太網(wǎng)地址解析協(xié)議)一起被創(chuàng)建。
圖1:ARP通信過程
ARP運作實際上是圍繞兩個數(shù)據(jù)包進行的:ARP請求和ARP回復(fù)。請求和回復(fù)的目的在于確定與特定IP地址相關(guān)的硬件MAC地址,這樣流量才能夠在網(wǎng)絡(luò)上找到目的地。請求數(shù)據(jù)包被發(fā)送給網(wǎng)絡(luò)段上的每臺設(shè)備并發(fā)出信息“我的IP地址是XX.XX.XX.XX,我的MAC地址是XX:XX:XX:XX:XX:XX,我需要將信息發(fā)送給這個IP地址XX.XX.XX.XX,但是我不知道它的硬件地址,請這個IP地址將其MAC地址回復(fù)給我?”回復(fù)會以ARP回復(fù)數(shù)據(jù)包的形式,并回復(fù)說“你好,傳遞設(shè)備,我就是你要找的IP地址XX.XX.XX.XX,我的MAC地址是XX:XX:XX:XX:XX:XX”,收到回復(fù)后,傳遞設(shè)備會更新其ARP緩存表,然后設(shè)備就可以與另一臺設(shè)備進行通信。
緩存中毒
ARP緩存中毒利用了ARP協(xié)議不安全的本質(zhì)。ARP協(xié)議有別于其他協(xié)議,例如DNS協(xié)議可以配置為僅接受安全動態(tài)更新,而使用ARP的設(shè)備則可以接受任何時間的更新。這意味著任何機器都可以向另一臺主機發(fā)送ARP回復(fù)數(shù)據(jù)包,并迫使主機更新其ARP緩存。發(fā)送ARP回復(fù)而沒有生成請求時,此時被成為無效ARP。當(dāng)惡意攻擊者以這種方式放置一些無效ARP時,用戶就會認為他們正在與另一用戶通信,而實際上是與竊取信息的攻擊者通信。
圖2: ARP緩存中毒截取通信
使用Cain & Abel工具
讓我們從具體情況來分析,攻擊者會使用幾種不同的工具執(zhí)行必要的步驟以毒化受害者的ARP緩存,我們將使用常見的安全工具Cain & Abel來模擬緩存中毒攻擊。Cain & Abel是非常有效的安全工具,并且安裝過程也十分簡單。
在開始模擬緩存中毒前,你需要收集一些信息,包括你此次模擬攻擊希望使用的網(wǎng)絡(luò)接口,以及兩個通信受害者IP地址。
當(dāng)你第一次打開Cain & Abel工具時,你會發(fā)現(xiàn)在窗口上方有很多選項卡,我們只需要使用Sniffer選項,當(dāng)你點擊此按鈕,你會看到一個空表。為了完成此表格,你需要激活該程序的內(nèi)置嗅探器并且掃描你的網(wǎng)絡(luò)。
圖3: Cain&Abel工具的Sniffer選項
點擊工具欄上的第二個圖標(biāo),類似于網(wǎng)絡(luò)卡。首次操作時,會要求你選擇你希望嗅探的接口,這個接口應(yīng)該是連接到你將要執(zhí)行ARP緩存中毒攻擊的接口。選擇好接口后,點擊確認來激活Cain & Abel的內(nèi)置嗅探器。此時,工具欄圖標(biāo)會變暗。為網(wǎng)絡(luò)中有效主機建立列表,你需要點擊類似+符號的主要工具欄,點擊確認。
圖4:掃描主機?
之前的空表格現(xiàn)在以及填滿了所有連接網(wǎng)絡(luò)上的主機名,以及MAC地址、IP地址以及供應(yīng)商驗證信息,這些是發(fā)動ARP緩存中毒攻擊的有利信息。
在程序窗口的地步,你會看到一組標(biāo)簽,這些標(biāo)簽將引領(lǐng)你到嗅探器的其他窗口。現(xiàn)在你已經(jīng)建立了主機列表,你需要從ARP標(biāo)簽開始,點擊標(biāo)簽以切換到ARP窗口。
打開ARP窗口后,你會看到兩個空表格:上表和下表。設(shè)置好這兩個表格后,上表會顯示ARP緩存中毒涉及的設(shè)備,下表會顯示中毒機器間的所有通信。
點擊程序的標(biāo)準(zhǔn)工具欄上的+符號的圖標(biāo)以繼續(xù)設(shè)置ARP中毒,顯示的窗口有并排兩個選擇列,在左側(cè),你會看到所有有效主機的列表。點擊其中一個IP地址,你會看到,右邊窗口顯示的是網(wǎng)絡(luò)中所有主機,而沒有顯示你所選擇的IP地址。在右邊窗口,點擊另一個受害者的IP地址,然后點擊確認。
圖5:選擇緩存中毒的攻擊主機
這些設(shè)備的IP地址現(xiàn)在都被列在主要程序窗口的上表中,為了完成這個操作,請點擊標(biāo)準(zhǔn)工具欄的黃黑色放射符號。這樣將激活Cain & Abel的ARP緩存中毒功能并允許系統(tǒng)成為受害機器間所有通信的中間人。如果你很好奇背后發(fā)生的情況,可以安裝wireshark并竊聽接口,你很快會看到受害電腦間的通信。
圖6:ARP通信注射
完成以上操作后,只要再次點擊黃黑色發(fā)射符號就可以停止ARP緩存中毒。
防御ARP緩存中毒
從防御者的角度來看ARP緩存中毒攻擊似乎處于不利的位置,ARP進程在后臺進行,我們很難控制。并沒有萬能的解決方案,你可以采用主動和被動的立場來考慮ARP緩存中毒。
保護局域網(wǎng)安全
ARP緩存中毒的確是截取位于相同局域網(wǎng)的兩臺主機間的通信的可行的攻擊技術(shù),但只有當(dāng)網(wǎng)絡(luò)上的本地設(shè)備比破壞,受信任用戶有惡意企圖,或者某用戶試圖將不可信設(shè)備接入網(wǎng)絡(luò)時,ARP緩存中毒攻擊才可能造成真正的威脅。盡管我們往往將主要精力集中在保護網(wǎng)絡(luò)外圍安全上,但抵御內(nèi)部威脅以及確保內(nèi)部安全絕對可以更好的確保系統(tǒng)安全。
硬編碼ARP緩存
抵御ARP請求和回復(fù)的動態(tài)本質(zhì)所帶來的威脅的方法是使這個進程不那么動態(tài),這是因為windows系統(tǒng)主機允許其他靜態(tài)表項進入ARP緩存,你可以通過打開命令提示符并輸入arp-a命令來查看windows系統(tǒng)的ARP緩存。
圖7:查看ARP緩存
可以通過使用這個命令arp –s?來添加表項到這個列表。
如果你的網(wǎng)絡(luò)配置并不是經(jīng)常變動,做靜態(tài)ARP表項的列表并通過自動化腳本將表項部署到客戶端是完全可行的。這可以確保設(shè)備始終依賴本地ARP緩存,而不是依賴ARP請求和回復(fù)。
使用第三方程序監(jiān)測ARP通信
抵御ARP緩存中毒攻擊的另一種方法是被動方法,監(jiān)控主機的網(wǎng)絡(luò)流量,這可以通過入侵檢測系統(tǒng)(如Snort)或者其他監(jiān)測工具(如xARP)來進行監(jiān)控流量。對于一臺主機而言,這可能是很簡單的事情,但是對于整個網(wǎng)絡(luò)而言就不是那么簡單了。
總結(jié)
ARP緩存中毒是中間人攻擊中最有效的攻擊方式,因為它非常容易執(zhí)行,對于現(xiàn)代網(wǎng)絡(luò)是巨大的威脅,并且這種攻擊方式很難檢測和防御。
?
備注:轉(zhuǎn)自IT專家網(wǎng)
轉(zhuǎn)載于:https://www.cnblogs.com/Alim/p/5340744.html
總結(jié)
以上是生活随笔為你收集整理的解析中间人攻击(1/4)---ARP缓存中毒的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中的简单浮点数类型float和d
- 下一篇: window7怎么打开驱动盘 如何在Wi