ARP攻擊技術與防護完全手冊_ARP原理
發(fā)表時間:2023-07-14 來源:明輝站整理相關軟件相關文章人氣:
[摘要]一、ARP概念 咱們談ARP之前, 還是先要知道ARP的概念和工作原理, 理解了原理知識, 才能更好去面對和分析處理問題。 1.1ARP概念知識 ARP, 全稱Address Res...
一、ARP概念
咱們談ARP之前, 還是先要知道ARP的概念和工作原理, 理解了原理知識, 才能更好去面對和分析處理問題。
1.1ARP概念知識
ARP, 全稱Address Resolution Protocol, 中文名為地址解析協(xié)議, 它工作在數(shù)據鏈路層, 在本層和硬件接口聯(lián)系, 同時對上層提供服務。
IP數(shù)據包常通過以太網發(fā)送, 以太網設備并不識別32位IP地址, 它們是以48位以太網地址傳輸以太網數(shù)據包。 因此, 必須把IP目的地址轉換成以太網目的地址。 在以太網中, 一個主機要和另一個主機進行直接通信, 必須要知道目標主機的MAC地址。 但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。 ARP協(xié)議用于將網絡中的IP地址解析為的硬件地址(MAC地址), 以保證通信的順利進行。
1.2ARP工作原理
首先, 每臺主機都會在自己的ARP緩沖區(qū)中建立一個 ARP列表, 以表示IP地址和MAC地址的對應關系。 當源主機需要將一個數(shù)據包要發(fā)送到目的主機時, 會首先檢查自己 ARP列表中是否存在該 IP地址對應的MAC地址, 如果有﹐就直接將數(shù)據包發(fā)送到這個MAC地址;如果沒有, 就向本地網段發(fā)起一個ARP請求的廣播包, 查詢此目的主機對應的MAC地址。 此ARP請求數(shù)據包里包括源主機的IP地址、硬件地址、以及目的主機的IP地址。 網絡中所有的主機收到這個ARP請求后, 會檢查數(shù)據包中的目的IP是否和自己的IP地址一致。 如果不相同就忽略此數(shù)據包;如果相同, 該主機首先將發(fā)送端的MAC地址和IP地址添加到自己的ARP列表中, 如果ARP表中已經存在該IP的信息, 則將其覆蓋, 然后給源主機發(fā)送一個 ARP響應數(shù)據包, 告訴對方自己是它需要查找的MAC地址;源主機收到這個ARP響應數(shù)據包后, 將得到的目的主機的IP地址和MAC地址添加到自己的ARP列表中, 并利用此信息開始數(shù)據的傳輸。 如果源主機一直沒有收到ARP響應數(shù)據包, 表示ARP查詢失敗。
例如:
A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
根據上面的所講的原理, 我們簡單說明這個過程:A要和B通訊, A就需要知道B的以太網地址, 于是A發(fā)送一個ARP請求廣播(誰是192.168.10.2 , 請告訴192.168.10.1), 當B收到該廣播, 就檢查自己, 結果發(fā)現(xiàn)和自己的一致, 然后就向A發(fā)送一個ARP單播應答(192.168.10.2 在BB-BB-BB-BB-BB-BB)。
1.3ARP通訊模式
通訊模式(Pattern Analysis):在網絡分析中, 通訊模式的分析是很重要的, 不同的協(xié)議和不同的應用都會有不同的通訊模式。 更有些時候, 相同的協(xié)議在不同的企業(yè)應用中也會出現(xiàn)不同的通訊模式。 ARP在正常情況下的通訊模式應該是:請求 -> 應答 -> 請求 -> 應答, 也就是應該一問一答。
二、常見ARP攻擊類型
個人認為常見的ARP攻擊為兩種類型:ARP掃描和ARP欺騙。
2.1ARP掃描(ARP請求風暴)
通訊模式(可能):
請求 -> 請求 -> 請求 -> 請求 -> 請求 -> 請求 -> 應答 -> 請求 -> 請求 -> 請求...
描述:
網絡中出現(xiàn)大量ARP請求廣播包, 幾乎都是對網段內的所有主機進行掃描。 大量的ARP請求廣播可能會占用網絡帶寬資源;ARP掃描一般為ARP攻擊的前奏。
出現(xiàn)原因(可能):
病毒程序, 偵聽程序, 掃描程序。
如果網絡分析軟件部署正確, 可能是我們只鏡像了交換機上的部分端口, 所以大量ARP請求是來自與非鏡像口連接的其它主機發(fā)出的。
如果部署不正確, 這些ARP請求廣播包是來自和交換機相連的其它主機。
2.2ARP欺騙
ARP協(xié)議并不只在發(fā)送了ARP請求才接收ARP應答。 當計算機接收到ARP應答數(shù)據包的時候, 就會對本地的ARP緩存進行更新, 將應答中的IP和MAC地址存儲在ARP緩存中。 所以在網絡中, 有人發(fā)送一個自己偽造的ARP應答, 網絡可能就會出現(xiàn)問題。 這可能就是協(xié)議設計者當初沒考慮到的!
2.2.1欺騙原理
假設一個網絡環(huán)境中, 網內有三臺主機, 分別為主機A、B、C。 主機詳細信息如下描述:
A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
正常情況下A和C之間進行通訊, 但是此時B向A發(fā)送一個自己偽造的ARP應答, 而這個應答中的數(shù)據為發(fā)送方IP地址是192.168.10.3(C的IP地址), MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本來應該是CC-CC-CC-CC-CC-CC, 這里被偽造了)。 當A接收到B偽造的ARP應答, 就會更新本地的ARP緩存(A被欺騙了), 這時B就偽裝成C了。 同時, B同樣向C發(fā)送一個ARP應答, 應答包中發(fā)送方IP地址四192.168.10.1(A的IP地址), MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本來應該是AA-AA-AA-AA-AA-AA), 當C收到B偽造的ARP應答, 也會更新本地ARP緩存(C也被欺騙了), 這時B就偽裝成了A。 這樣主機A和C都被主機B欺騙, A和C之間通訊的數(shù)據都經過了B。 主機B完全可以知道他們之間說的什么:)。 這就是典型的ARP欺騙過程。
注意:一般情況下, ARP欺騙的某一方應該是網關。
2.2.2兩種情況
ARP欺騙存在兩種情況:一種是欺騙主機作為“中間人”, 被欺騙主機的數(shù)據都經過它中轉一次, 這樣欺騙主機可以竊取到被它欺騙的主機之間的通訊數(shù)據;另一種讓被欺騙主機直接斷網。
◆第一種:竊取數(shù)據(嗅探)
通訊模式:
應答 -> 應答 -> 應答 -> 應答 -> 應答 -> 請求 -> 應答 -> 應答 ->請求->應答...
描述:
這種情況就屬于我們上面所說的典型的ARP欺騙, 欺騙主機向被欺騙主機發(fā)送大量偽造的ARP應答包進行欺騙, 當通訊雙方被欺騙成功后, 自己作為了一個“中間人“的身份。 此時被欺騙的主機雙方還能正常通訊, 只不過在通訊過程中被欺騙者“竊聽”了。
出現(xiàn)原因(可能):
木馬病毒
嗅探
人為欺騙
◆第二種:導致斷網
通訊模式:
應答 -> 應答 -> 應答 -> 應答 -> 應答 -> 應答 -> 請求…
描述:
這類情況就是在ARP欺騙過程中, 欺騙者只欺騙了其中一方, 如B欺騙了A, 但是同時B沒有對C進行欺騙, 這樣A實質上是在和B通訊, 所以A就不能和C通訊了, 另外一種情況還可能就是欺騙者偽造一個不存在地址進行欺騙。
對于偽造地址進行的欺騙, 在排查上比較有難度, 這里最好是借用TAP設備(呵呵, 這個東東好像有點貴勒), 分別捕獲單向數(shù)據流進行分析!
出現(xiàn)原因(可能):
木馬病毒
人為破壞
一些網管軟件的控制功能
三、常用的防護方法
搜索網上, 目前對于ARP攻擊防護問題出現(xiàn)最多是綁定IP和MAC和使用ARP防護軟件, 也出現(xiàn)了具有ARP防護功能的路由器。 呵呵, 我們來了解下這三種方法。
3.1靜態(tài)綁定
最常用的方法就是做IP和MAC靜態(tài)綁定, 在網內把主機和網關都做IP和MAC綁定。
欺騙是通過ARP的動態(tài)實時的規(guī)則欺騙內網機器, 所以我們把ARP全部設置為靜態(tài)可以解決對內網PC的欺騙, 同時在網關也要進行IP和MAC的靜態(tài)綁定, 這樣雙向綁定才比較保險。
方法:
對每臺主機進行IP和MAC地址靜態(tài)綁定。
通過命令, arp -s可以實現(xiàn) “arp –s IP MAC地址 ”。
例如:“arp –s192.168.10.1 AA-AA-AA-AA-AA-AA”。
如果設置成功會在PC上面通過執(zhí)行arp -a 可以看到相關的提示: Internet Address Physical Address Type
192.168.10.1AA-AA-AA-AA-AA-AA static(靜態(tài))
一般不綁定,在動態(tài)的情況下:
Internet AddressPhysical AddressType
192.168.10.1 AA-AA-AA-AA-AA-AA dynamic(動態(tài))
說明:對于網絡中有很多主機, 500臺, 1000臺..., 如果我們這樣每一臺都去做靜態(tài)綁定, 工作量是非常大的。 。 。 。 , 這種靜態(tài)綁定, 在電腦每次重起后, 都必須重新在綁定, 雖然也可以做一個批處理文件, 但是還是比較麻煩的!
3.2使用ARP防護軟件
目前關于ARP類的防護軟件出的比較多了, 大家使用比較常用的ARP工具主要是欣向ARP工具, Antiarp等。 它們除了本身來檢測出ARP攻擊外, 防護的工作原理是一定頻率向網絡廣播正確的ARP信息。 我們還是來簡單說下這兩個小工具。
3.2.1欣向ARP工具
俺使用了該工具, 它有5個功能:
A. IP/MAC清單
選擇網卡。 如果是單網卡不需要設置。 如果是多網卡需要設置連接內網的那塊網卡。
IP/MAC掃描。 這里會掃描目前網絡中所有的機器的IP與MAC地址。 請在內網運行正常時掃描, 因為這個表格將作為對之后ARP的參照。
之后的功能都需要這個表格的支持, 如果出現(xiàn)提示無法獲取IP或MAC時, 就說明這里的表格里面沒有相應的數(shù)據。
B.ARP欺騙檢測
這個功能會一直檢測內網是否有PC冒充表格內的IP。 你可以把主要的IP設到檢測表格里面, 例如, 路由器, 電影服務器, 等需要內網機器訪問的機器IP。
(補充)“ARP欺騙記錄”表如何理解:
“Time”:發(fā)現(xiàn)問題時的時間;
“sender”:發(fā)送欺騙信息的IP或MAC;
“Repeat”:欺詐信息發(fā)送的次數(shù);
“ARP info”:是指發(fā)送欺騙信息的具體內容.如下面例子:
timesenderRepeatARP info 22:22:22192.168.1.22 1433192.168.1.1 is at 00:0e:03:22:02:e8
這條信息的意思是:在22:22:22的時間,檢測到由192.168.1.22發(fā)出的欺騙信息, 已經發(fā)送了1433次, 他發(fā)送的欺騙信息的內容是:192.168.1.1的MAC地址是00:0e:03:22:02:e8。
打開檢測功能, 如果出現(xiàn)針對表內IP的欺騙, 會出現(xiàn)提示。 可以按照提示查到內網的ARP欺騙的根源。 提示一句, 任何機器都可以冒充其他機器發(fā)送IP與MAC, 所以即使提示出某個IP或MAC在發(fā)送欺騙信息, 也未必是100%的準確。 所有請不要以暴力解決某些問題。
C.主動維護
這個功能可以直接解決ARP欺騙的掉線問題, 但是并不是理想方法。 他的原理就在網絡內不停的廣播制定的IP的正確的MAC地址。
“制定維護對象”的表格里面就是設置需要保護的IP。 發(fā)包頻率就是每秒發(fā)送多少個正確的包給網絡內所有機器。 強烈建議盡量少的廣播IP, 盡量少的廣播頻率。 一般設置1次就可以, 如果沒有綁定IP的情況下, 出現(xiàn)ARP欺騙, 可以設置到50-100次, 如果還有掉線可以設置更高, 即可以實現(xiàn)快速解決ARP欺騙的問題。 但是想真正解決ARP問題, 還是請參照上面綁定方法。
D. 欣向路由器日志
收集欣向路由器的系統(tǒng)日志, 等功能。
E.抓包
類似于網絡分析軟件的抓包, 保存格式是.cap。
3.2.1Antiarp
這個軟件界面比較簡單, 以下為我收集該軟件的使用方法。
A.填入網關IP地址, 點擊[獲取網關地址]將會顯示出網關的MAC地址。 點擊[自動防護]即可保護當前網卡與該網關的通信不會被第三方監(jiān)聽。 注意:如出現(xiàn)ARP欺騙提示, 這說明攻擊者發(fā)送了ARP欺騙數(shù)據包來獲取網卡的數(shù)據包, 如果您想追蹤攻擊來源請記住攻擊者的MAC地址, 利用MAC地址掃描器可以找出IP 對應的MAC地址.
B.IP地址沖突
如頻繁的出現(xiàn)IP地址沖突, 這說明攻擊者頻繁發(fā)送ARP欺騙數(shù)據包, 才會出現(xiàn)IP沖突的警告, 利用Anti ARP Sniffer可以防止此類攻擊。
C.您需要知道沖突的MAC地址, Windows會記錄這些錯誤。 查看具體方法如下:
右擊[我的電腦]--[管理]--點擊[事件查看器]--點擊[系統(tǒng)]--查看來源為[TcpIP]---雙擊事件可以看到顯示地址發(fā)生沖突, 并記錄了該MAC地址, 請復制該MAC地址并填入Anti ARP Sniffer的本地MAC地址輸入框中(請注意將:轉換為-), 輸入完成之后點擊[防護地址沖突], 為了使MAC地址生效請禁用本地網卡然后再啟用網卡, 在CMD命令行中輸入Ipconfig /all, 查看當前MAC地址是否與本地MAC地址輸入框中的MAC地址相符, 如果更改失敗請與我聯(lián)系。 如果成功將不再會顯示地址沖突。
注意:如果您想恢復默認MAC地址,請點擊[恢復默認],為了使MAC地址生效請禁用本地網卡然后再啟用網卡。
3.3具有ARP防護功能的路由器
這類路由器以前聽說的很少, 對于這類路由器中提到的ARP防護功能, 其實它的原理就是定期的發(fā)送自己正確的ARP信息。 但是路由器的這種功能對于真正意義上的攻擊, 是不能解決的。
ARP的最常見的特征就是掉線, 一般情況下不需要處理一定時間內可以回復正常上網, 因為ARP欺騙是有老化時間的, 過了老化時間就會自動的回復正常。 現(xiàn)在大多數(shù)路由器都會在很短時間內不停廣播自己的正確ARP信息, 使受騙的主機回復正常。 但是如果出現(xiàn)攻擊性ARP欺騙(其實就是時間很短的量很大的欺騙ARP, 1秒有個幾百上千的), 它是不斷的發(fā)起ARP欺騙包來阻止內網機器上網, 即使路由器不斷廣播正確的包也會被他大量的錯誤信息給淹沒。
可能你會有疑問:我們也可以發(fā)送比欺騙者更多更快正確的ARP信息。咳绻粽呙棵氚l(fā)送1000個ARP欺騙包, 那我們就每秒發(fā)送1500個正確的ARP信息!
面對上面的疑問, 我們仔細想想, 如果網絡拓撲很大, 網絡中接了很多網絡設備和主機, 大量的設備都去處理這些廣播信息, 那網絡使用起來好不爽, 再說了會影響到我們工作和學習。 ARP廣播會造成網絡資源的浪費和占用。 如果該網絡出了問題, 我們抓包分析, 數(shù)據包中也會出現(xiàn)很多這類ARP廣播包, 對分析也會造成一定的影響。
上面是電腦上網安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。