從大規模轉址事件看IP spoofing、ARP spoofing、ARP掛馬與路徑(route)安全

ARP欺骗(ARP spoofing)网络攻击实验 ARP欺骗的原理基于地址解析协议(ARP)的工作方式。在TCP/IP网络中,当一个设备需要与另一个设备通信时,它首先需要知道对方的物理(MAC)地址。ARP协议通过将IP地址映射到MAC地址来解决这个问题。以下是ARP欺骗的基本步骤:1. 攻击者C监听网络上的ARP流量。2. 当设备A发出ARP请求时,攻击者C也发送一个ARP响应,声称自己是设备B(使用设备B的IP地址,但提供的是攻击者C的MAC地址)。3.设备A接收到两个响应:一个是真正的设备B的响应,另一个是攻击者C的伪造响应。 阅读详情

 

来源:阿碼外傳

「優秀的鑒識人員除了要懂得物證的處理外,還要用科學的頭腦來思考。物證雖然能夠提供重要的線索與證據,但是要能解開整個迷局,就需要用頭腦串連所有的物證。在我處理過的六千多個案件中,就遇到單憑一件物證破案的案件」--李昌鈺

這次的大規模轉址事件,受到各界關注,我們也寫了兩篇(這裡、這裡) 我們對事件的研究。大家這麼注意這次事件當然是有道理的,因為這麼大規模的轉址,持續時間又久--到底發生了什麼事?我們寫出我們的看法後,收到很多網友 的問題,於是我們又寫了一篇回答,但是大家還是有很多問題,我們持續收到email與留言。我們在這邊將所有的問題與我們的回答整理成一篇,並也藉此機 會,討論一下什麼是IP spoofing、none-blind IP spoofing、ARP spoofing、ARP掛馬 等,供大家參考。另外,我們收到很多網友寫信來或留言的鼓勵,我們真的非常的高興,也非常的感謝,各位的鼓勵是我們最大的動力,我們會繼續努力,謝謝各位 對我們研究的肯定,也請不吝批評指教。

[事件最新發展]
1. Cisco於三月12日更新了alert報告, 提及「可能是non-blind TCP spoofing或其他種類攻擊」,整個報告第一句:「Reports indicate that some TCP traffic that is passed through certain Taiwanese networks is being redirected to malicious websites.」(TCP流量經過台灣的某些網段時遭攻擊,部分使用台灣的使用者可能受影響)。這跟我們的研究結果是一致的,攻擊者位於route 上。另外,我們沒有說攻擊程式位於route"r"(路由器)上,我們一直的說法都是,攻擊程式位於route上,差一個字差很多。

2. Juniper也同意我們的研究: 「Juniper先進科技部資深技術經理林佶駿於今(12)日受訪時表示,從阿碼科技等提供的證據來看,神秘網頁轉址攻擊確實有可能發生在 210.65.255.241到211.22.33.225這個路徑(route)上,但就此斷定中華電信的路由器(router)被動手腳或遭入侵的可 能性並不高。」我們本來就沒有說一定是路由器的問題,我們一直強調攻擊程式在route上,並透過研究證明,有攻擊程式位於距離我們TTL=7以內。這個 跟許多人分析說是DNS攻擊,Man-in-the-middle攻擊,網站遭攻擊或遭ARP掛馬,是很不同的,但是我們透過實際的資料與數據證實了我們 的看法,也得到了CISCO與Juniper的認同。

3. 這次研究的重點不在於「究竟是否是路由器出問題」。結論重點在於,第一,確定有none-blind IP spoofing,而非DNS攻擊,也看不出有ARP掛馬,這跟其他人的看法很不同。第二,從錄到的封包以及攻擊內容(插入iframe方式)來看,推測 攻擊者無法竄改原封包,無法避免原真封包還是抵達受害者,也無法避免真封包比假封包早到。第三,有攻擊程式存在於TTL<=7路徑當中。我們一直說 route 上出問題而沒有說一定是 route"r" 上出問題,大家看文章時麻煩要注意到。

[何謂 Man-in-the-middle (MITM)?]

首先我們定義文中何謂「Man-in-the-middle」(MITM),我們採wikipedia的定義: 「In cryptography, the man-in-the-middle attack or bucket-brigade attack (often abbreviated MITM), sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other over a private connection when in fact the entire conversation is controlled by the attacker. The attacker must be able to intercept all messages going between the two victims and inject new ones, which is straightforward in many circumstances (for example, the owner of a public wireless access point can in principle conduct MITM attacks on the users).」

根據這個定義,MITM需要達成以下:攻擊程式負責在兩受害者中間「轉送」流量,並可以控制整個流量。

[何謂 ARP spoofing?]

我們採wikipedia的定義,ARP spoofing是在類乙太網路上,利用發假的ARP封包,達到把自己當成MITM的目的。在這邊要注意的是,要達到監聽封包,ARP不是唯一的作法,也 並非最簡單之作法。第一,ARP spoofing只能用於類乙太網路上,第二,達成了ARP spoofing,就必須擔起「中間人」的責任,必須在中間轉送所有的流量,不然可能造成網路癱瘓,這需要一定的運算能力。

[何謂 ARP 掛馬?]

ARP 掛馬並沒有很明確的定義,因為這一個攻擊手法,一個手法會用到一個以上的攻擊技術,我們在這邊定義如下:攻擊者使用類似zxarps這種工具,先在類乙太網路(ethernet-like)上,用ARP spoofing讓自己成為MITM,然後(選擇性地)在HTTP response中插入惡意的iframe,達到攻擊的效果。根據這個定義,這樣的手法包含了兩個攻擊技術:

1. ARP spoofing攻擊,以取得MITM地位。
2. TCP session hijacking,以便修改TCP封包並插入iframe。這其實是zxarps值得注意的功能之一。zxarps的TCP session hijacking做得蠻完整的,因為他會處理到TCP層,修改TCP封包中的SEQ/ACK號碼等。由於其TCP session hijacking實做很完整,在大部分的情況下,看不出異常的流量,除了在同一個乙太網路的broadcast domain(或vlan)下,偵測流量之異常並不容易。

[何謂 None-blind IP spoofing?]

None-blind IP spoofing是 指攻擊者可以監聽到TCP/IP流量,並發出TCP s/n對的假封包,並成功讓受害者以為是真封包。然而不同於做得好的TCP session hijacking,none-blind spoofing中真假封包都會同時送到受害者,故在路徑中或在受害者端,都可以利用監控流量之異常來偵測出none-blind IP spoofing。不同於因為監聽不到流量而必須發出大量封包的blind IP spoofing,none-blind IP spoofing通常可以很準確的發幾個甚至一個封包,就能達到效果--這是攻擊者喜愛它的重要原因之一。在無法達成好的TCP session hijacking情況時,或沒有需要(懶得做)時,攻擊者常退(改)而採用none-blind IP spoofing。由於None-blind IP spoofing需要能夠監聽到流量,故需配合其他監聽技巧。ARP spoofing是其中一種方式,但並非唯一方式,也並非最簡單之方式。

[為何你們判斷此次是 none-blind IP spoofing而非其他人說的,DNS攻擊或ARP掛馬?]

如果是DNS攻擊,使用者不會注意到被轉址了,瀏覽器的網址列會顯示對的網址,故排除是DNS攻擊。另外根據我們前兩篇(這裡、這裡)所公布我們錄到的資料,依據錄到的封包,確定有non-blind IP spoofing。至於是否伴隨ARP掛馬,目前看不出來有,沒有直接證據,故我們沒有說有,但也沒有說一定沒有。non-blind IP spoofing是錄到的事實,故我們會說一定有。

那麼為何我們沒有說是 ARP 掛馬呢?因為基於以下幾點:

1. 因為如果照上面的定義,利用類似zxarps這種工具做ARP掛馬時,第一,除非我們在同一個vlan下,不然很難偵測出流量的異常,也不會有真假封包同時被我們看到。

2. 由攻擊者的假封包內容來看,明顯地無法竄改原封包,沒有辦法避免真封包的到達,甚至沒有辦法避免假的封包比真的慢到達,所以對方試了很多種方式。如果能夠用ARP掛馬,這些都可免了--可是事實並不是這樣。以下是這次常見的一個假封包的內容:

<html><body><meta http-equiv="refresh" content="4;url=http://www.zhonglie.org"></body></html>

為 何要用這種似乎很笨拙的iframe插入方式?原因就是,無法有效達到MITM地位,竄改原封包。我們再來想一想,根據我們收到的封包,確定:1.攻擊者 在route中間,2. 攻擊者可以監聽到封包,3. 攻擊者可以發spoofed IP封包到受害者。那麼既然這些都可以做得到,為何不直接使用類似zxarps這種完整的TCP session hijacking呢 (ARP掛馬)?因為如果使用zxarps(ARP 掛馬)的話,我們在家裡根本不會收到真假封包,這個攻擊就更隱密了,fyodor與wayne可能也就抓不到攻擊程式在TTL=7之內了。原因是,我們已 經證明了攻擊程式位於TTL=7之下,表示位於route中段,而zxarps的使用,需要很多環境的配合,譬如要在類乙太網路上,要有足夠運算能力處理 流量並修改TCP的seq/ack等等。如果你對一台路由器做ARP spoofing而自己沒有運算能力處理好所有的封包,那麼你就不是在做TCP session hijacking攻擊而是在做DOS攻擊了--網路有可能會癱瘓。另一方面,很多路由器周邊並沒有接ethernet,ARP spoofing派不上用場。

所以依我們的經驗,在以上三個條件都滿足下,還是有很多攻擊者會選擇用none-blind IP spoofing而不用ARP掛馬,因為後者需更多條件,也因此後者比較常見於使用者端或Web伺服器端,而非route中間。那有沒有同時伴隨ARP掛 馬呢?我們只能說,我們沒能力監控整個台灣的網路,就我們自己的流量來說,我們沒有看到有ARP掛馬,再說,即使有發生,要在我們所在的route末端判 定是ARP掛馬,也會有相當的難度,因為如果是用zxarps,大部分情況下並不會有流量異常(真假封包)產生。

[好,那麼ARP spoofing呢?]

要 達成none-blind IP spoofing,必須要監控流量,而ARP spoofing是達成流量監控的手段之一。但是由於我們證明了攻擊程式位於route中間,在此位置要監控流量,有很多其他常用的方式(見下 文),ARP spoofing並非最常用的,因為需要的條件比較多。

[那為何認定是none-blind IP spoofing呢?]

因為從錄到的封包來看,就是none-blind IP spoofing,這是事實,是否有伴隨其他攻擊,就我們錄到、網友錄到並公布於網路上,還有網友私底下傳給我們的部分,都可清楚看到none-blind IP spoofing,但是都沒有ARP掛馬的現象。

Route(路徑)上的安全性

其實雖然我們沒有直接斷定是route"r"被動手腳(我們都說攻擊程式在route上),我們蠻驚訝有些專家認為router或router附近被動手腳的機率很低。有些人提出這樣的問題:

「ROUTER 被感染??「感染」ROUTER??你是說「感染」路由器嗎?」

「如果是在路徑中間發生spoofing,流量要mirror到哪裡?」

「ROUTER被入侵?改設定?」

WOW, 哈哈,似乎專家們覺得在router附近做這次的攻擊,幾乎沒有可能似的,真是讓我們很驚訝。我想這跟個人經驗有關吧...說實在的,雖然對外我們都說 route上有攻擊程式,並證明在TTL=7之內,但是從一開始我們自己被攻擊並做初步封包分析後,我們肚子裡都有把「router被動手腳了」當作有可 能的原因之一。大家不要又失焦去討論那是否就是ISP的責任,這不是重點,況且我們兩人都用同一家ISP,別的ISP有沒有被攻擊,我們也沒有測, 另外有些設備的問題,非ISP責任所屬。追究責任,我們沒有興趣,我們只對弄清楚威脅有興趣。為何說與個人經驗有關?因為 hacking in router land,當初是蠻主流的。國小時我從我的300 baud modem開始碰網路,也記得大二時有幸參與資策會的Winking計畫,將一套Waterloo的TCP/IP實做(C寫的)porting到 Windows 3.1,並在上面實做一個剛時剛定義出來的WinSock 1.0介面。Fyodor是snort最早的programmer之一。那時都還沒 有什麼SQL injection、Web掛馬這些。但是router一直是攻擊的目標--想想,如果控制了router,能做多少事?我們也經歷許許多多案件,都是 router被動手腳,被建tunnel監聽流量(非用ARP spoofing)...我想這是為何我們肚子裡會把router被動過視為很可能的原因之一吧!可能近幾年,攻擊router的相關研究比較少,攻擊都 在Web上,大家就把router land遺忘了吧...所以我們想在這邊探討一下路徑上的安全性,但是千萬大家別失焦,我們不是要說問題出在誰,我們只是想就技術方面來討論。

大家記得去年美國駭客年會BlackHat時我們有去並寫一些報導嗎?其實那時就注意到,哈,今年關於router的題目又回來啦!也記得那時IDG(全球最大IT媒體)也有報導(好友Robert寫的):Cisco routers again take hacker spotlight(Cisco路由器又在駭客聚光燈下)(大陸:全球黑客聚会黑帽大会 Cisco路由器再成热点话题)。(當然因為是IDG報的,大部分主流媒體(world-系列)都會刊:PCWorld、InfoWorld、TechWorld)。談到Cisco要先說明一下,為何大家都鎖定Cisco絕對不是Cisco漏洞比其他家多,而是很簡單的理由--市佔率最高(我們家就有用Cisco三年了一直很滿意)。好了,言歸正傳,其實故事要回到又三年前,在2005年,當時在ISS工作的Michael Lynn, 準備在BlackHat 2005上公布他找到的Cisco IOS弱點。他的演講題目為:The Holy Grail: Cisco IOS shellcode And Exploitation Techniques(聖杯:CISCO IOS shellcode 以及攻擊技巧)(這裡與這裡有人公布投影片)。 原本ISS同意了Michael的演講,但是後來因為Cisco覺得不妥,ISS便與Michael以及大會商量,改講其他內容。由於原本的演講內容,投 影片已經壓在大會給每個人的CD片中,講義也已經印了,大會只好同意CISCO小組在前一天進入大會,將已經裝入每人一個的背包內的CD片取出,並一本一 本地將大會講義中Micheal的部分撕除(這裡有人公開當初撕書與沒收CD的錄影)。
在英文中,Holy Grail聖杯的意思就是終極境界,是所有人想達到而達不到的。在2002年四月18日的WinHec 2002開場演講上,比爾蓋茲曾說, 靜態分析(源碼檢測)一直是是計算機科學的聖杯("Software verification has been the Holy Grail of computer science for many decades"),但是我想對Michael來說,Cisco IOS shellcode,才是真正的聖杯吧!

演講當天,Micheal Lynn上台,原本要講另一個備胎題目voIP security,結果一開始講,觀眾馬上開始噓聲連連。他就問,OK,那你們要聽我原本的演講嗎?觀眾開始歡呼,於是他就講下去了!當然這最後結果 是,Micheal被起訴,大會主席Jeff花了二十萬美金的律師費,而Cisco與ISS各花了上百萬的律師費。2007年美國駭客年會DEFCON 15,主席Jeff特別用了一個小時講了這整段事件(影片在這裡,重點約14分鐘後開始),而這邊要提到的是,他在48分30秒的時候說,當時Michael的研究,卡在跟FX(Phenoelit的leader Felix)同一個地方(可能是heap overflow為version-或configuration-dependent,無法做到universal)。結果猜猜Mike如何突破的?他 在「一個中文的論壇上找到了答案,已經有中國人先研究出來了,於是他翻譯了內容,並有了突破」--所以你說,亞洲區對路由器的攻擊不熟嗎?

2007年,大會主席Jeff Moss特別在DEFCON上花了一小時講當初之事件
講到FX,他在Cisco IOS上的研究比Michael Lynn可能更為出名。除了更早期的研究以外,他在BlackHat Federal 2003(BlackHat DC的前身)上,有一篇「Cisco Vulnerabilities - Yesterday, Today and Tomorrow(Cisco弱點--過去,今天與未來)」與同年在BlackHat USA 2003上的一篇「More vulnerable embedded systems(更多有弱點之嵌入式系統)」 中,已經把Cisco IOS當時被發現的許多弱點,做了很完整的分析,奠定了他在這方面權威的地位。其實不論是FX或Micheal Lynn的研究,都是在討論Cisco IOS的binary exploitation,也就是如何遠端的可以送shellcode給Cisco,讓這些shellcode執行起來並植入後門。在這個領域很重要的研 究,是FX在去年年底,於25c3大會上(很棒的資安會議,推)發表的「Cisco IOS--Attack & Defence, the State of the Art(Cisco IOS--攻擊與防禦,當今最高水平)」(投影片在這)(錄影在這裡):

在 這個演講中,FX先聲明為何他都針對Cisco IOS而非其他廠牌的路由器做弱點研究:1. 因為在超過一千五百元美金的路由器市場中,Cisco的市佔率大於92%,2. Juniper其實就是FreeBSD所以他沒興趣,3. 其他家用router基本上都是embedded linux。接下來FX提到了入侵路由器的動機,而我覺得特別的是他在動機中所提的三點:1. Windows / Linux 系統現在比較難攻,2. 很多Cisco IOS攻擊程式(exploit)現在反而比Windows攻擊程式便宜,而且生命比較長。Windows的漏洞現在不容易活長,但是很貴,以及3. 如果可以選擇的話,當然是要入侵border路由器而非底層的路由器。接下來FX介紹了Cisco IOS的架構,如何做鑑識,以及他開發的鑑識工具CIR(Cisco Incidence Response)。 然後,FX開始解釋如何達成穩定的緩衝區溢位攻擊並執行shellcode。他解釋,之前公布的攻擊方式,最大的問題都還是跟IOS的版本有關係,沒有辦 法做到在多數版本都可穩定的將shellcode執行起來。在這方面,FX用了很類似去年加州UC Sandiego大學Shacham等人在美國駭客年會BlackHat USA 2008發表的「Return-Oriented Programming」技 巧,並找到可穩定執行shellcode的記憶體區間ROMMON,成功實做出了穩定且跨IOS版本的緩衝區溢位攻擊。精彩的部分是,FX並當場用他帶來 的Cisco路由器做了demo。他利用了該路由器IOS在解碼IP options欄位時的緩衝區溢位錯誤,利用一個單一的ICMP封包(等於一次ping),就達成了溢位成功並執行shellcode的目的。

接下來是如何撰寫可穩定執行且跨版本的shellcode。FX提及了早些日子,Andy Davis提出的「Version-independent IOS shellcode(跨版本IOS shellcode)」並 不夠stable,然後提出了他自己的作法,並說明為何該方法可使shellcode穩定並跨平台的執行。接下來他提出了,一旦可以穩定並跨版本的溢位攻 擊Cisco IOS並執行shellcode,可以做的事情有哪些。最後他說,如果我說我是Cisco IOS的第一人,那就太自大了。其實外面有很多人都跑得比我前面,所以這些攻擊在外面應該都有出現了。

好,回到去年IDG在BlackHat USA 2008前的報導:Cisco routers again take hacker spotlight(Cisco路由器又在駭客聚光燈下)。 報導中說,在Michael Lynn之後,路由器的弱點研究似乎就不太被公開了,一直到去年,BlackHat USA 2008大會竟然同時出現三場有關路由器弱點的演講。這時的Cisco對2005年Lynn的事件已經持很開放的態度了。Cisco的CSO John Stewart非常誠實的說,當時Cisco有理由,但是做得太過了。「那時我們做了一些愚蠢的事情,這是為何我親自決定今年當白金贊助商,因為我覺得我 們應該做些補償。」主席Jeff則認為這幾年沒有研究員再公開Cisco漏洞,跟Lynn事件並無關係。他認為這是因為地下經濟成熟了:「Lynn那個弱 點直二十五萬美金。」BlackHat USA 2008中,Core的研究員Ariel Futoransky給了一場「Viral Infections in Cisco IOS(病毒式感染Cisco IOS)」(投影片)。對,你沒看錯,他用了「Viral(病毒式)」與「infection(感染)」這兩個字。用在路由器上很奇怪嗎?其實也還好啦!這個研究是他與同事Gerardo Richarte與Sebastián Muñiz共同完成的,而他們其實在稍早的EUSecWest上,就已經先發表了一篇:Killing the myth of Cisco IOS rootkits:DIK Ios rootKit(Cisco IOS rootkit解密:正宗IOS Rootkit)(PDF paper 下載),並宣稱他們的方法可達到高度的隱密性--這個應該是第一個被公開的Cisco IOS rootkit。Cisco隨後發表了「Cisco Guide to Harden Cisco IOS Devices(Cisco官方強化IOS設備手冊)」;媒體報導可見:英文:The Register, Rootkits on routers threat to be demoed--Networks own3d,台灣:Digitimes,可入侵思科路由器的Rootkit軟體近期內將公開亮相,大陸:1. Rootkit兵临城下 思科忙为路由器打补丁,2. 思科发布路由器补丁程序,但忧虑仍在。

Gyan Chawdhary與Varun Uppal,則發表了:Cisco IOS Shellcodes/Backdoors(講義下載), 他們認為Cisco並沒有真正把Lynn發現的漏洞修補好,並提供了三段shellcode來證明他們還是可以繞過Check Heap防禦機制並執行shellcode。不像FX的shellcode,當時這三段都還有寫死的記憶體位置,故應該無法很穩定及跨版本的執行。最 後,FX也在會上給了一場演講:Developments in Cisco IOS Forensics(Cisco IOS鑑識的近期發展)(講義下載)。這裡他發表了先前介紹的Cisco IOS鑑識工具CIR(Cisco Incidence Response)。

至於控制了路由器後如何監聽流量呢?既然已經可以控制路由器,當然就不需要用到ARP spoofing了--tunnel或mirror都可以。2000年的Phack 56中gauis寫得蠻簡單清楚的:Things to do in Ciscoland when you're dead(這裡有大陸的翻譯)。另外要攻擊路由器也不一定要植入shellcode這麼複雜--外面這麼多SNMP bruteforcer不是沒有原因的。Wolfgang 2003:Exploiting Cisco Routers,Hidalgo 2005:Cisco SNMP configuration with a GRE tunnel都可以參考。

去年九月底,Alexandre Cezar在ISC2(推出CISSP認證的組織)的blog上寫了一篇:The most vulnerable device in the network, 他說最近與朋友討論,整個網路(使用者機器不算)上,最脆弱的機器是什麼。「The answer of almost everyone in the table was: Routers...」。文章中他列舉了router上可能有的威脅,另外我很喜歡他回Tim Bass的留言(泰國OWASP分會會長,上次OWASP有來與大家見面)時說的:「And you're right when you said that there aren't many exploits for routers but my main point is that you don't need exploits to compromise a router, you just need to found a misconfigured one and the Internet in plenty of them。」這根FX在演講中說的一樣,其實現在掃瞄路由器還是可以發現很多設定上的錯誤,弱的密碼等等,攻擊路由器不一定需要用到他們研究的這些新技 術。

寫了這些最近有關路由器的研究,我們希望表達的是,這次大家研究台灣大規模轉址事件時,應該要先研究收集到的事實,例如錄到的攻擊封 包等,而非說:因為這兩年大陸很多人研究ARP掛馬,ARP掛馬工具很成熟,ARP掛馬網路上資料很多,最近很多ARP掛馬事件,就斷定是ARP掛馬,然 後說但是IDC一定不會承認,大家忍一忍事情就過去了等等。如果要這樣想,那麼去年突然迸出許多關於路由器弱點的研究,媒體也開始報導路由器攻擊重成焦 點,穩定且跨版本的的溢位與shellcode執行也被公開,第一支公開的rootkit也出現了,那是否就斷定這次是路由器的問題?當然不是。我們可以 根據事實來研究,到底是什麼樣子的攻擊?可能出現在哪裡?這樣才知道要怎麼預防,才可以避免下次可能的損失。我們公布的研究結論,都是先根據我們錄到的封 包,不是先根據最近這些新聞與研究。最後,我們一直說"route"(路徑)上出問題,但是沒有說判斷一定是route"r"(路由器)出問題,因為我們 沒有任何證據,另外路徑上還有很多其他可能。Futoransky去年在BlackHat 2008發表的Viral Infections in Cisco IOS(病毒式感染Cisco IOS),是他自己取的名字。

[收集的一些問題]
(「回答IP Spoofing 的問題」中已經有收錄部分問題與我們的回答)

問:IP spoofing和 arp spoofing你好像搞錯了。IP Spoofing指的只是單純偽冒IP。而你單就route尾巴的封包是不可能判斷出IP spoofing的,要做session hijacking,ARP spoofing是要用到的,而不是IP Spoofing。

ARP Spoofing,是現今網路環境作snffing的第一步,藉由了解受害網站與其gateway間的訊號傳送,來控制受害網站間傳輸的資料流,包含偽裝 同一來源IP發出相似的封包(是的,這叫ARP spoofing不叫IP spoofing)。不過相對來講,傳統ARP spoofing會製造出大量的ACK/DATA封包。但配合MITM/ARP掛馬,還可以再降低無效的封包量。

只有在同機房有人被佔領,就可以對所有機器進行ARP Spoofing。

答:恩, 不是這樣子的,剛好相反,如果攻擊程式在route中間,我們在end端只能看到IP spoofing而看不到arp spoofing。另外arp spoofing不能說是監聽封包的唯一方法,有很多其他方法(見上文)。有些路由器兩兩之間根本沒有ethernet,如何做ARP spoofing?但是還是有其發方法可監聽流量。依我們自己事件處理的經驗,當攻擊程式為於route中間時,使用ARP spoofing來監聽的並不常見,其他方把反而比較常。最後,ARP spoofing不會製造出大量ACK/DATA封包。ACK/DATA是TCP層(OSI第二層)的,而ARP spoofing是第二層的,大量ACK/DATA在TCP session hijacking時可能會出現,但是不是在ARP spoofing時。ARP spoofing會看到很多重複的ARP frames。zxarps這種工具做得遠不只ARP spoofing,他的man-in-the-middle實做了完整的TCP session hijacking,並且有去改seq/ack number,故降低了無效的封包量。所以zxarps這種攻擊並不只包含了ARP spoofing--你講的這些都是TCP session hijacking非ARP spoofing。這些技巧都用了十年以上了,完整的TCP session hijacking的實做以前就很多了。要做session hijacking,ARP spoofing只是其中可能用到的一步,但並不一定會用到。另外,如果真的做了session hijacking,我們在route尾巴就看不到假的IP packet了--但是我們有看到,所以我們說是none-blind IP spoofing,可能有伴隨ARP spoofing,但是也可能沒有。

問:那個.241的推論其實看不太懂,該不會因為兩者匯流於.225,所以直接推斷前一個hop,或TTL=7以下的hop必定是問題點吧?

這樣的推論好像太武斷了,因為B支會收到spoofed封包,只代表B支符合被spoofed條件,而非一定是發生在A支與B支不同的子路徑上。

例如,攻擊條件可能是以來源地區作判別條件,或針對機房中數台分流主機的其中一台作arp spoofed,都會有B支被 spoofed但A支沒事的情況。

另,如果不是man-in-the-middle,則應該會收到大量失效的真封包,包含真正的首頁內容,亦即GET / 後會收到兩個頁面,一個為spoofed host回的,一個為real server回的。但是似乎後者的封包量在測試時出現太少了些。

答:恩,不是這樣子。推論攻擊在TTL=7或以下,是因為TTL=7時,出現IP spoofing,回來的TCP s/n也對,故判定攻擊點一定在TTL=7或以下的route上(請注意我們當初是寫「route」上而非「route"r"」上), 這跟另一個route有被攻擊或沒被攻擊,沒有關係。另一個route只是畫出我們實際上的測試環境--兩條route,一條一直有spoofed封包, 一條則沒有。這個測試的方法(原本不想講太明,因為攻擊者很容易破解),是我們修改traceroute程式,變成發出不同TTL的HTTP GET封包,而封包跟IE發出的GET封包長得一樣。因為在TTL=6時,不會收到假封包,但是在TTL=7時會,故判斷有攻擊點位於從我到TTL=6的 這段route上。不論另一條有沒有被攻擊,都不會影響我們的判定--攻擊的方式是none-blind IP spoofing,而攻擊程式位於離我TTL=7以下的route上。如果如你所說的,攻擊程式在更上方,而利用來源地區選擇攻擊與否,那麼就不會TTL 只等於7時,我們就收到了假封包(s/n正確)--因為TTL只等於7,封包不會再往上走。

最後關於您說,「如果不是man-in- the-middle...」這段,簡單回應如下。如果是像zxarps這種把TCP session hijacking實做得很完整,會改TCP seq/ack,那麼網路上幾乎看不到異常的封包,也不會有現在我們看到的spoofed IP packet。那麼如果不是MITM,就一定會有大量的假封包嗎?不一定,看攻擊程式想如何做。一開始,我們看到只有一個封包,並帶FIN把連線中斷。這 樣優點是乾淨俐落,比較不會被監控程式發現,但是缺點是,因為沒有含原內容,故使用者很容易發現。

我們來想一想,根據我們收到的封包,確 定:1.攻擊者在route中間,2. 攻擊者可以監聽到封包,3. 攻擊者可以發spoofed IP封包到受害者。那麼既然這些都可以做得到,為何不直接使用類似zxarps這種完整的TCP session hijacking呢?因為如果使用zxarps的話,我們在家裡根本不會收到真假封包,這個攻擊就更隱密了。

原因是,zxarps的使 用,需要很多環境的配合,譬如要在ethernet上(ARP spoofing只能在ethernet類的網路上用),要有足夠運算能力處理流量並修改TCP的seq/ack等等。如果你對一台路由器做ARP spoofing而自己沒有運算能力處理好所有的封包,那麼你就不是在做TCP session hijacking攻擊而是在做DOS攻擊了--網路會癱瘓。另一方面,很多路由器周邊並沒有接ethernet,ARP spoofing派不上用場。

所 以依我們的經驗,在以上三個條件都滿足下,還是有很多攻擊者會選擇用none-blind IP spoofing而不用zxarps這種ARP spoofing+TCP session hijacking,因為後者需更多條件,也因此後者比較常見於使用者端或Web伺服器端,而非route中間。

None-blind IP spoofing被攻擊者喜愛的另一個原因,就是因為他需要的封包少。例如在一開始的案例中,只用一個封包就可以達到轉址的目的了,而不用實做整個複雜的TCP session hijacking。

問:我錄到了ARP spoofing攻擊!這是否代表就是伺服器端有ARP spoofing或甚至ARP掛馬?
答:方便把錄到的流量寄一份給我們嗎?ARP是在layer 2,一般不會跨出vlan,您不太可能錄到伺服器端的ARP封包。如果真的有錄到ARP spoofing,那建議先檢查您vlan內的設備。

問:看這次錄到的封包,假的就只有一個封包,這怎麼會是none-blind spoofing?
答:None-blind spoofing被攻擊者所喜歡的原因,就是因為需要的封包很少。Blind spoofing則需要很多封包。

問:據說TTL可以造假,那你們的實驗有意義嗎?
答: 就跟其他的IP封包欄位一樣,在IPv4下,IP封包整個本來就是誰都可以發,欄位怎麼填都可以。但是除非路由器特別被改過,不然每轉送一次會將TTL減 去一,所以當TTL=7時就已經有假封包回來,可以讓我們大略知道攻擊程式所在區域。例如這個例子中我們可以知道,這個被我們測到的攻擊程式,不太可能位 於Web伺服器附近(Web伺服器附近有沒有其他攻擊程式,不知)。

問:據說TTL不論等於幾,都可以傳到Web伺服器那邊?
答:你聽誰說?:)

作者 Fyodor Yarochkin 為 o0o.nu 成員
作者 Wayne 為 阿碼科技CEO

Cisco思科交换机show arp 命令使用详解 show mac address-table命令用于显示设备上的ARP缓存表。 ARP缓存表存储了设备的IP地址和对应的MAC地址之间的映射关系。运行该命令可以查看设备当前的ARP缓存情况。 阅读详情

相关推荐

最新网络-ARP协议详解与ARP欺骗(中毒)攻击实战_arp中毒

看过博主其他文章的应该清楚,不实践一下是手痒的,接下来就看一看吧。

2401_84239625的博客 1398

网络安全入门学习第十课——ARP spoofing

文章目录一、ARP概念1、ARP是什么?2、ARP协议的基本功能3、ARP缓存表3.1、查看本机IP地址和MAC地址命令3.2、查看ARP表的命令4、ARP欺骗二、ARP断网攻击复现1、环境:2、使用工具:3、开始复现:3.1、攻击者扫描网络存活主机3.2、查看ARP路由表3.3、攻击者启用arpspoof开始攻击目标(这一步也可以使用ettercap来实现)3.4、如果想让目标主机恢复三、ARP欺骗复现1、开启流量转发2、攻击者启用arpspoof开始攻击目标3、查看受害者端ARP表,以及网络情况四、实现

p36273的博客 546

ARP病毒入侵原理和解决方案

ARP病毒入侵原理和解决方案 局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序

ARP欺骗(ARP断网攻击、DNS欺骗)

地址解析协议ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含自标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息(只有目标IP才会回复信息,其他的会丢弃以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。ARP协议的基本功能基本功能通过目标设备的IP地址查询目标设备的MAC地址(物理地址。

dream2662583的博客 9914

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4503

WinCC动态选择报警记录案例

本例中需要确认查询的时间段以及查询的关键字,然后通过一个按钮来执行报警数据查询脚本,并把查询出的结果加载到当前报警控件中。<本例中数据查询脚本的思路是根据选项组所选定的参数加载相应的归档变量到在线趋势控件,根据设定的查询时间范围设定控件时间轴的开始时间及结束时间。本文以 WinCC V8.0为例,介绍如何动态的查询WinCC报警记录,包括关键字查询/时间&关键字查询,如图1所示。<在WinCC变量管理中创建不同的变量组,并在变量组下创建相应的变量,如图2 所示(下图并非实际变量值)。

weixin_45072604的博客 2708

【网络攻击手段之-----ARP欺骗】

本篇文章介绍了什么是ARP欺骗,并使用了代码来模拟ARP的欺骗攻击,ARP 欺骗攻击是一种高危网络攻击,对网络安全造成严重威胁。因此,不应该对任何目标进行 ARP 欺骗攻击。做一个遵纪守法的公民,从我做起!!!ARP (Address Resolution Protocol) 是一种网络层协议,用于将 IP 地址转换为物理地址(MAC 地址)。在局域网中,每台设备都有唯一的 MAC 地址,而 IP 地址是可以重复分配的。因此,当一个设备需要发送数据到另一个设备时,它需要知道另一个设备的 MAC 地址。

a1379292747的博客 1万+

VSAN闪存缓存磁盘故障处理指南-RAID0模式实战解析

本文详细解析了VSAN集群中RAID0模式下的闪存缓存磁盘故障处理全流程。通过模拟真实故障场景,从告警识别、数据重建策略到磁盘组重构,提供了手把手的实战操作指南,并深入探讨了RAID0缓存故障的独特影响与风险,为运维人员应对此类高性能存储架构的突发问题提供了专业解决方案。

assembly8low的博客 444

浅析ARP断网、欺骗攻击及防御方法

ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网上上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。攻击主机PC2发送ARP应答包给被攻击主机PC1和网关,分别修改它们的ARP缓存表, 将它们的ip地址所对应的MAC地址,全修改为攻击主机PC2的MAC地址,这样它们之间数据都被攻击主机PC2截获。

qq_24797991的博客 4188

从STM32F411到华大HC32F460:一个真实项目移植的踩坑与填坑全记录

本文详细记录了从STM32F411移植到华大HC32F460芯片的全过程,包括开发环境搭建、时钟树配置、中断处理、外设驱动、看门狗陷阱、Flash操作和低功耗设计等关键坑点及解决方案。特别针对HC32F460的200MHz主频、双PLL架构和HSRUN模式等特性进行了深入分析,为工程师提供实用的移植指南,帮助节省大量调试时间。

weixin_33691817的博客 418

算法面经手撕系列(2)--手撕BatchNormlization

手动实现/手撕BatchNormlization

罟霖同学的站点 865

ARP欺骗

ARP 欺骗(ARP spoofing)是一种网络攻击技术,通过发送伪造好的 ARP 数据包,伪装成网关使被攻击者误以为攻击者是其网关或其它设备,从而达到欺骗目标设备的目的。这样,攻击者就可以截获查看被攻击者发出的数据包,甚至可以修改、篡改数据包中的内容。arp欺骗最主要的目的是截获数据ARP欺骗攻击能导致网络连通性问题。注:网关并不是指具体的设备,路由器,计算机终端等各种各样的设备都可以是⽹关,⽹关就是数据必须经过的关⼝。

cyy001128的博客 6368

cesium加载geotiff的 四种方法

本文介绍了在Cesium中加载GeoTIFF数据的两种主要方法。首先解析了核心前置知识,包括坐标系匹配、数据类型区分和性能优化。方法1详细演示了如何将RGB影像GeoTIFF转换为Cesium影像图层,包含从数据解析到Canvas转换的完整代码流程。方法2则针对高程数据(DEM)处理,展示了前端直接解析构建地形网格的方案。文章提供了完整的代码示例和关键实现要点,适用于卫星影像、专题图和数字高程模型等多种GeoTIFF数据类型在三维场景中的可视化需求。

大剑师兰特的GIS世界 392

【ARP欺骗的各种玩法】嗅探流量、限速、断网操作

ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。

jennycisp的博客 2745

FreeRTOS全攻略:从入门到精通

本文聚焦 FreeRTOS,从基础概念出发,阐述其开源、轻量级等优势。着重介绍 FreeRTOS 入门知识,涵盖内存管理、任务操作、同步互斥机制等核心内容。其中,空闲任务与钩子函数保障系统基础运行与功能扩展;队列、信号量、互斥锁和事件组等机制,分别从数据传递、资源访问控制、优先级问题解决及多任务同步等方面,为开发者提供高效的任务间协作与资源管理方案,助力开发者掌握 FreeRTOS 核心技术,为嵌入式项目开发筑牢基础。

邓邓子的博客 6357

YOLOv8改进系列:RepVGG重参数化结构——训练多分支,推理单路,极致提速

本文将详细介绍如何将RepVGG的重参数化思想融入到YOLOv8的骨干网络中,实现一种训练时多分支、推理时单路的改进版YOLOv8。我们将提供完整的代码实现、详细的原理讲解,并在COCO数据集和自定义数据集上进行充分的实验验证。

YOLO 200

Cisco IOS Rootkit工具该怎么写

virustracker · 2015/11/03 12:24文章来源:https://www.exploit-db.com/docs/38466.pdf0x01 介绍本文主要以Cisco IOS为测试案例,讲解了如何对固件镜像进行修改。大多数人认为,做这样的一件事需要掌握一些尖端的知识,或者需要一些国家级别的资源,而事实上,这是一种普遍的误解。我认为,人们之所以这样想的一个主要原因是没有文章或教...

weixin_34246551的博客 1552

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Cisco之show ip arp 与 show mac-address-table

show ip arp命令可以得到IP地址与MAC地址的对应关系,show mac-address-table可以得到MAC地址与端口的对应关系,根据这两组对应关系,我们就可以得到IP地址与端口的对应关系。 命令总结:1.静态绑定arp表项后,无老化时间R2(config)#arp 192.168.1.2 cc01.0614.0000 arpa 2.show ip arp        ---查看

Robert's Log 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

局域网ARP欺骗

ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。

l876460925的博客 1257

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ARP欺骗技术:ARP欺骗工具介绍_(11).Arpspoofing的原理与实践

ARP(Address Resolution Protocol)协议是用于将IP地址解析为物理地址(即MAC地址)的通信协议。在局域网中,每台主机都需要通过ARP协议来获取其他主机的MAC地址,以便进行数据包的传输。ARP协议的工作原理非常简单,主要包括以下步骤:ARP请求:当主机A需要发送数据包给主机B时,主机A会首先在自己的ARP缓存中查找主机B的MAC地址。如果找不到,主机A会广播一个ARP请求数据包,询问主机B的MAC地址。这个请求数据包包含主机A的IP地址、MAC地址,以及目标主机B的IP地址。A

chenlz2007的博客 1113

IP欺骗:网络安全中的隐形威胁

IP欺骗:网络安全中的隐形威胁 摘要: IP欺骗是一种通过伪造数据包源地址进行网络攻击的技术,已成为现代网络安全的主要威胁之一。本文系统解析了IP欺骗的概念、发展历程、工作原理及多种攻击类型,包括主机伪造、会话劫持和反射放大攻击等。通过真实案例(如DNS DDoS攻击、银行BGP劫持)展示了其严重危害性。文章详细剖析了攻击流程,从信息收集到自动化批量攻击,并指出协议层设计缺陷、反射服务滥用等防御难点。最后提出多层次防护策略,包括网络边界加固、深度协议认证和运营商协同溯源。随着物联网和5G发展,IP欺骗攻击将

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1136

[计算机网络]--MAC/ARP/DNS协议

认识以太网,了解APR协议,DNS协议,ICMP协议,理解NAT技术和代理服务器

分享技术 5240
上一篇: BIOS中隐藏Telnet后门
下一篇: 安全套接层SSL协议
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值