實(shí)戰(zhàn):ARP攻擊原理及處理方法
發(fā)表時(shí)間:2023-07-16 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]局域網(wǎng)內(nèi)有人使用ARP欺騙的木馬程序(比如:傳奇盜號(hào)的軟件, 某些傳奇外掛中也被惡意加載了此程序)。 【故障原理】 要了解故障原理, 我們先來(lái)了解一下ARP協(xié)議。 在...
局域網(wǎng)內(nèi)有人使用ARP欺騙的木馬程序(比如:傳奇盜號(hào)的軟件, 某些傳奇外掛中也被惡意加載了此程序)。
【故障原理】
要了解故障原理, 我們先來(lái)了解一下ARP協(xié)議。
在局域網(wǎng)中, 通過(guò)ARP協(xié)議來(lái)完成IP地址轉(zhuǎn)換為第二層物理地址(即MAC地址)的。 ARP協(xié)議對(duì)網(wǎng)絡(luò)安全具有重要的意義。 通過(guò)偽造IP地址和MAC地址實(shí)現(xiàn)ARP欺騙, 能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞。
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。 在局域網(wǎng)中, 網(wǎng)絡(luò)中實(shí)際傳輸?shù)氖?ldquo;幀”, 幀里面是有目標(biāo)主機(jī)的MAC地址的。 在以太網(wǎng)中, 一個(gè)主機(jī)要和另一個(gè)主機(jī)進(jìn)行直接通信, 必須要知道目標(biāo)主機(jī)的MAC地址。 但這個(gè)目標(biāo)MAC地址是如何獲得的呢?它就是通過(guò)地址解析協(xié)議獲得的。 所謂“地址解析”就是主機(jī)在發(fā)送幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過(guò)程。 ARP協(xié)議的基本功能就是通過(guò)目標(biāo)設(shè)備的IP地址, 查詢目標(biāo)設(shè)備的MAC地址, 以保證通信的順利進(jìn)行。
每臺(tái)安裝有TCP/IP協(xié)議的電腦里都有一個(gè)ARP緩存表, 表里的IP地址與MAC地址是一一對(duì)應(yīng)的, 如下表所示。
主機(jī) IP地址 MAC地址
A 192.168.16.1 aa-aa-aa-aa-aa-aa
B 192.168.16.2 bb-bb-bb-bb-bb-bb
C 192.168.16.3 cc-cc-cc-cc-cc-cc
D 192.168.16.4 dd-dd-dd-dd-dd-dd
我們以主機(jī)A(192.168.16.1)向主機(jī)B(192.168.16.2)發(fā)送數(shù)據(jù)為例。 當(dāng)發(fā)送數(shù)據(jù)時(shí), 主機(jī)A會(huì)在自己的ARP緩存表中尋找是否有目標(biāo)IP地址。 如果找到了, 也就知道了目標(biāo)MAC地址, 直接把目標(biāo)MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒(méi)有找到相對(duì)應(yīng)的IP地址, 主機(jī)A就會(huì)在網(wǎng)絡(luò)上發(fā)送一個(gè)廣播, 目標(biāo)MAC地址是“FF.FF.FF.FF.FF.FF”, 這表示向同一網(wǎng)段內(nèi)的所有主機(jī)發(fā)出這樣的詢問(wèn):“192.168.16.2的MAC地址是什么?”網(wǎng)絡(luò)上其他主機(jī)并不響應(yīng)ARP詢問(wèn), 只有主機(jī)B接收到這個(gè)幀時(shí), 才向主機(jī)A做出這樣的回應(yīng):“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。 這樣, 主機(jī)A就知道了主機(jī)B的MAC地址, 它就可以向主機(jī)B發(fā)送信息了。 同時(shí)它還更新了自己的ARP緩存表, 下次再向主機(jī)B發(fā)送信息時(shí), 直接從ARP緩存表里查找就可以了。 ARP緩存表采用了老化機(jī)制, 在一段時(shí)間內(nèi)如果表中的某一行沒(méi)有使用, 就會(huì)被刪除, 這樣可以大大減少ARP緩存表的長(zhǎng)度, 加快查詢速度。
從上面可以看出, ARP協(xié)議的基礎(chǔ)就是信任局域網(wǎng)內(nèi)所有的人, 那么就很容易實(shí)現(xiàn)在以太網(wǎng)上的ARP欺騙。 對(duì)目標(biāo)A進(jìn)行欺騙, A去Ping主機(jī)C卻發(fā)送到了DD-DD-DD-DD-DD-DD這個(gè)地址上。 如果進(jìn)行欺騙的時(shí)候, 把C的MAC地址騙為DD-DD-DD-DD-DD-DD, 于是A發(fā)送到C上的數(shù)據(jù)包都變成發(fā)送給D的了。 這不正好是D能夠接收到A發(fā)送的數(shù)據(jù)包了么, 嗅探成功。
A對(duì)這個(gè)變化一點(diǎn)都沒(méi)有意識(shí)到, 但是接下來(lái)的事情就讓A產(chǎn)生了懷疑。 因?yàn)锳和C連接不上了。 D對(duì)接收到A發(fā)送給C的數(shù)據(jù)包可沒(méi)有轉(zhuǎn)交給C。
做“man in the middle”, 進(jìn)行ARP重定向。 打開(kāi)D的IP轉(zhuǎn)發(fā)功能, A發(fā)送過(guò)來(lái)的數(shù)據(jù)包, 轉(zhuǎn)發(fā)給C, 好比一個(gè)路由器一樣。 不過(guò), 假如D發(fā)送ICMP重定向的話就中斷了整個(gè)計(jì)劃。
D直接進(jìn)行整個(gè)包的修改轉(zhuǎn)發(fā), 捕獲到A發(fā)送給C的數(shù)據(jù)包, 全部進(jìn)行修改后再轉(zhuǎn)發(fā)給C, 而C接收到的數(shù)據(jù)包完全認(rèn)為是從A發(fā)送來(lái)的。 不過(guò), C發(fā)送的數(shù)據(jù)包又直接傳遞給A, 倘若再次進(jìn)行對(duì)C的ARP欺騙。 現(xiàn)在D就完全成為A與C的中間橋梁了, 對(duì)于A和C之間的通訊就可以了如指掌了。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。