中間人攻擊——ARP欺騙的原理、實戰及防御


 ​ 1.1 什么是網關

  首先來簡單解釋一下什么是網關,網關工作在OSI七層模型中的傳輸層或者應用層,用於高層協議的不同網絡之間的連接,簡單地說,網關就好比是一個房間通向另一個房間的一扇門。

  1.2 ARP協議是什么

  ARP(Address Resolution Protocol)地址轉換協議,工作在OSI模型的數據鏈路層,在以太網中,網絡設備之間互相通信是用MAC地址而不是IP地址,ARP協議就是用來把IP地址轉換為MAC地址的。而RARP和ARP相反,它是反向地址轉換協議,把MAC地址轉換為IP地址。

  假設A(192.168.1.2)與B(192.168.1.3)在同一局域網,A要和B實現通信。A首先會發送一個數據包到廣播地址(192.168.1.255),該數據包中包含了源IP(A)、源MAC、目的IP(B)、目的MAC,這個數據包會被發放給局域網中所有的主機,但是只有B主機會回復一個包含了源IP(B)、源MAC、目的IP(A)、目的MAC的數據包給A,同時A主機會將返回的這個地址保存在ARP緩存表中。

  1.3 ARP欺騙原理

  上面提到過了ARP緩存表,在每台主機都有一個ARP緩存表,緩存表中記錄了IP地址與MAC地址的對應關系,而局域網數據傳輸依靠的是MAC地址。

  假設主機 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 網關 G 192.168.1.1; 在同一局域網,主機A和B通過網關G相互通信,就好比A和B兩個人寫信,由郵遞員G送信,C永遠都不會知道A和B之間說了些什么話。但是並不是想象中的那么安全,在ARP緩存表機制存在一個缺陷,就是當請求主機收到ARP應答包后,不會去驗證自己是否向對方主機發送過ARP請求包,就直接把這個返回包中的IP地址與MAC地址的對應關系保存進ARP緩存表中,如果原有相同IP對應關系,原有的則會被替換。

  這樣C就有了偷聽A和B的談話的可能,繼續思考上面的例子:

  C假扮郵遞員,首先要告訴A說:“我就是郵遞員” (C主機向A發送構造好的返回包,源IP為G 192.168.1.1,源MAC為C自己的MAC地址),愚蠢的A很輕易的相信了,直接把“C是郵遞員”這個信息記在了腦子里;

  C再假扮A,告訴郵遞員:“我就是A” (C向網關G發送構造好的返回包,源IP為A 192.168.1.2,源MAC地址為自己的MAC地址),智商捉急的郵遞員想都沒想就相信了,以后就把B的來信送給了C,C當然就可以知道A和B之間聊了些什么

  上面ABCG的故事就是ARP雙向欺騙的原理了

  ARP單向欺騙就更好理解了,C只向A發送一個返回包,告訴A:G 192.168.1.1 的MAC地址為 5c-63-bf-79-1d-fa(一個錯誤的mac地址),A把這個信息記錄在了緩存表中,而G的緩存表不變,也就是說,A把數據包給了C,而G的包還是給A,這樣就是ARP單向欺騙了。

  2.1 實戰ARP欺騙

  ARP欺騙又被稱為ARP毒化,屬於中間人攻擊,我用虛擬機來模擬一下ARP欺騙的全過程

  首先,看一下

ARP緩存表中默認已經存在了網關IP、MAC地址的記錄

  看一下目標主機的ARP緩存表

目標IP與本機IP

  再進行arp欺騙之前必須要開啟IP轉發,否則當欺騙成功之后,目標機會斷網,這樣會被對方察覺

  sysctl -w net.ipv4.ip_forward=1  或者 echo 1 > /proc/sys/net/ipv4/ip_forward

已經成功開啟IP轉發

向目標192.168.124.133發送返回包,包含內容:

  源ip:192.168.124.2

  源MAC:00:0c:29:86:a1:04

  此時再來看目標主機ARP緩存

  可以看出目標主機arp緩存已經發生了變化,在緩存表中所記錄的網關(192.168.124.2)的MAC已經變為了攻擊者的MAC

  以上就是一次簡單的ARP欺騙了

  2.2 ARP欺騙的危害

  局域網之間主機通信會收到影響,如果是網關欺騙,上互聯網也會受影響

  黑客利用ARP欺騙可以竊取用戶敏感信息、掛馬等

  在這里我簡單演示一下ARP欺騙嗅探Telnet賬戶密碼

  3 怎樣防范ARP欺騙

  1.在主機綁定網關MAC與IP地址為靜態(默認為動態),命令:arp -s 網關IP 網關MAC

  2.在網關綁定主機MAC與IP地址

  3.使用ARP防火牆

本文由i春秋學院提供,原文地址:    http://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=1739&highlight=?from=bky


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM