明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ARP病毒攻擊技術(shù)區(qū)分與防備

[摘要]一、ARP Spoofing攻擊原理分析在局域網(wǎng)中, 通過ARP協(xié)議來完成IP地址轉(zhuǎn)換為第二層物理地址(即MAC地址)的。 ARP協(xié)議對網(wǎng)絡(luò)安全具有重要的意義。 通過偽造IP地址和MAC地址實現(xiàn)...

一、ARP Spoofing攻擊原理分析

在局域網(wǎng)中, 通過ARP協(xié)議來完成IP地址轉(zhuǎn)換為第二層物理地址(即MAC地址)的。 ARP協(xié)議對網(wǎng)絡(luò)安全具有重要的意義。 通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙, 能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞或者實現(xiàn)“man in the middle” 進行ARP重定向和嗅探攻擊。

用偽造源MAC地址發(fā)送ARP響應(yīng)包, 對ARP高速緩存機制的攻擊。

每個主機都用一個ARP高速緩存存放最近IP地址到MAC硬件地址之間的映射記錄。 MS Windows高速緩存中的每一條記錄(條目)的生存時間一般為60秒, 起始時間從被創(chuàng)建時開始算起。

默認情況下, ARP從緩存中讀取IP-MAC條目, 緩存中的IP-MAC條目是根據(jù)ARP響應(yīng)包動態(tài)變化的。 因此, 只要網(wǎng)絡(luò)上有ARP響應(yīng)包發(fā)送到本機, 即會更新ARP高速緩存中的IP-MAC條目。

攻擊者只要持續(xù)不斷的發(fā)出偽造的ARP響應(yīng)包就能更改目標主機ARP緩存中的IP-MAC條目, 造成網(wǎng)絡(luò)中斷或中間人攻擊。

ARP協(xié)議并不只在發(fā)送了ARP請求才接收ARP應(yīng)答。 當計算機接收到ARP應(yīng)答數(shù)據(jù)包的時候, 就會對本地的ARP緩存進行更新, 將應(yīng)答中的IP和 MAC地址存儲在ARP緩存中。 因此, B向A發(fā)送一個自己偽造的ARP應(yīng)答, 而這個應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.10.3(C的IP地址), MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本來應(yīng)該是CC-CC-CC-CC-CC-CC, 這里被偽造了)。 當A接收到B偽造的ARP應(yīng)答, 就會更新本地的ARP緩存(A可不知道被偽造了)。

當攻擊源大量向局域網(wǎng)中發(fā)送虛假的ARP信息后, 就會造成局域網(wǎng)中的機器ARP緩存的崩潰。

Switch上同樣維護著一個動態(tài)的MAC緩存, 它一般是這樣, 首先, 交換機內(nèi)部有一個對應(yīng)的列表, 交換機的端口對應(yīng)MAC地址表Port n <-> Mac記錄著每一個端口下面存在那些MAC地址, 這個表開始是空的, 交換機從來往數(shù)據(jù)幀中學習。 因為MAC-PORT緩存表是動態(tài)更新的, 那么讓整個 Switch的端口表都改變, 對Switch進行MAC地址欺騙的Flood, 不斷發(fā)送大量假MAC地址的數(shù)據(jù)包, Switch就更新MAC-PORT緩存, 如果能通過這樣的辦法把以前正常的MAC和Port對應(yīng)的關(guān)系破壞了, 那么Switch就會進行泛洪發(fā)送給每一個端口, 讓Switch基本變成一個 HUB, 向所有的端口發(fā)送數(shù)據(jù)包, 要進行嗅探攻擊的目的一樣能夠達到。 也將造成Switch MAC-PORT緩存的崩潰, 如下下面交換機中日志所示:

Internet  172.20.156.10000b.cd85.a193  ARPAVlan256

Internet  172.20.156.50000b.cd85.a193  ARPAVlan256

Internet  172.20.156.254 0000b.cd85.a193  ARPAVlan256

Internet  172.20.156.53 0000b.cd85.a193  ARPAVlan256

Internet  172.20.156.33 0000b.cd85.a193  ARPAVlan256

Internet  172.20.156.130000b.cd85.a193  ARPAVlan256

Internet  172.20.156.150000b.cd85.a193  ARPAVlan256

Internet  172.20.156.140000b.cd85.a193  ARPAVlan256

二、ARP病毒分析

當局域網(wǎng)內(nèi)某臺主機運行ARP欺騙的木馬程序時, 會欺騙局域網(wǎng)內(nèi)所有主機和路由器, 讓所有上網(wǎng)的流量必須經(jīng)過病毒主機。 其他用戶原來直接通過路由器上網(wǎng)現(xiàn)在轉(zhuǎn)由通過病毒主機上網(wǎng), 切換的時候用戶會斷一次線。 切換到病毒主機上網(wǎng)后, 如果用戶已經(jīng)登陸了傳奇服務(wù)器, 那么病毒主機就會經(jīng)常偽造斷線的假像, 那么用戶就得重新登錄傳奇服務(wù)器, 這樣病毒主機就可以盜號了。

由于ARP欺騙的木馬程序發(fā)作的時候會發(fā)出大量的數(shù)據(jù)包導致局域網(wǎng)通訊擁塞以及其自身處理能力的限制, 用戶會感覺上網(wǎng)速度越來越慢。 當ARP欺騙的木馬程序停止運行時, 用戶會恢復從路由器上網(wǎng), 切換過程中用戶會再斷一次線。

在路由器的“系統(tǒng)歷史記錄”中看到大量如下的信息:

MAC Chged 10.128.103.124
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18

這個消息代表了用戶的MAC地址發(fā)生了變化, 在ARP欺騙木馬開始運行的時候, 局域網(wǎng)所有主機的MAC地址更新為病毒主機的MAC地址(即所有信息的MAC New地址都一致為病毒主機的MAC地址), 同時在路由器的“用戶統(tǒng)計”中看到所有用戶的MAC地址信息都一樣。

如果是在路由器的“系統(tǒng)歷史記錄”中看到大量MAC Old地址都一致, 則說明局域網(wǎng)內(nèi)曾經(jīng)出現(xiàn)過ARP欺騙(ARP欺騙的木馬程序停止運行時, 主機在路由器上恢復其真實的MAC地址)。

BKDR_NPFECT.A病毒引起ARP欺騙之實測分析

Part1. 病毒現(xiàn)象

中毒機器在局域網(wǎng)中發(fā)送假的APR應(yīng)答包進行APR欺騙, 造成其他客戶機無法獲得網(wǎng)關(guān)和其他客戶機的網(wǎng)卡真實MAC地址,導致無法上網(wǎng)和正常的局域網(wǎng)通信.

Part2. 病毒原理分析:

病毒的組件

本文研究的病毒樣本有三個組件構(gòu)成:

%windows%\SYSTEM32\LOADHW.EXE(108,386 bytes)  ….. ”病毒組件釋放者”

%windows%\System32\drivers\npf.sys(119,808 bytes)  ….. ”發(fā)ARP欺騙包的驅(qū)動程序”

%windows%\System32\msitinit.dll (39,952 bytes)…”命令驅(qū)動程序發(fā)ARP欺騙包的控制者”

病毒運作基理:

1.LOADHW.EXE 執(zhí)行時會釋放兩個組件npf.sys 和msitinit.dll .

LOADHW.EXE釋放組件后即終止運行.

注意: 病毒假冒成winPcap的驅(qū)動程序,并提供winPcap的功能.  客戶若原先裝有winPcap,

npf.sys將會被病毒文件覆蓋掉.

2.隨后msitinit.dll將npf.sys注冊(并監(jiān)視)為內(nèi)核級驅(qū)動設(shè)備: "NetGroup Packet Filter Driver"

msitinit.dll 還負責發(fā)送指令來操作驅(qū)動程序npf.sys (如發(fā)送APR欺騙包, 抓包, 過濾包等)

以下從病毒代碼中提取得服務(wù)相關(guān)值:

BinaryPathName = "system32\drivers\npf.sys"

StartType  = SERVICE_AUTO_START

ServiceType= SERVICE_KERNEL_DRIVER

DesiredAccess= SERVICE_ALL_ACCESS

DisplayName = "NetGroup Packet Filter Driver"

ServiceName = "Npf"

3. npf.sys 負責監(jiān)護msitinit.dll. 并將LOADHW.EXE注冊為自啟動程序:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]

dwMyTest =LOADHW.EXE

注: 由于該項位于RunOnce下,該注冊表啟動項在每次執(zhí)行后,即會被系統(tǒng)自動刪除.

Part3. 反病毒應(yīng)急響應(yīng)解決方案

按以下順序刪除病毒組件

1) 刪除 ”病毒組件釋放者”

%windows%\SYSTEM32\LOADHW.EXE

2) 刪除 ”發(fā)ARP欺騙包的驅(qū)動程序” (兼 “病毒守護程序”)

%windows%\System32\drivers\npf.sys

a. 在設(shè)備管理器中, 單擊”查看”-->”顯示隱藏的設(shè)備”

b. 在設(shè)備樹結(jié)構(gòu)中,打開”非即插即用….”

c.  找到” NetGroup Packet Filter Driver” ,若沒找到,請先刷新設(shè)備列表

d. 右鍵點擊” NetGroup Packet Filter Driver” 菜單,并選擇”卸載”.

e. 重啟windows系統(tǒng),

f.刪除%windows%\System32\drivers\npf.sys

3) 刪除 ”命令驅(qū)動程序發(fā)ARP欺騙包的控制者”

%windows%\System32\msitinit.dll

2. 刪除以下”病毒的假驅(qū)動程序”的注冊表服務(wù)項:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Npf

三、定位ARP攻擊源頭和防御方法

1.定位ARP攻擊源頭

主動定位方式:因為所有的ARP攻擊源都會有其特征——網(wǎng)卡會處于混雜模式, 可以通過ARPKiller這樣的工具掃描網(wǎng)內(nèi)有哪臺機器的網(wǎng)卡是處于混雜模式的, 從而判斷這臺機器有可能就是“元兇”。 定位好機器后, 再做病毒信息收集, 提交給趨勢科技做分析處理。

標注:網(wǎng)卡可以置于一種模式叫混雜模式(promiscuous), 在這種模式下工作的網(wǎng)卡能夠收到一切通過它的數(shù)據(jù), 而不管實際上數(shù)據(jù)的目的地址是不是它。 這實際就是Sniffer工作的基本原理:讓網(wǎng)卡接收一切它所能接收的數(shù)據(jù)。

被動定位方式:在局域網(wǎng)發(fā)生ARP攻擊時, 查看交換機的動態(tài)ARP表中的內(nèi)容, 確定攻擊源的MAC地址;也可以在局域居于網(wǎng)中部署Sniffer工具, 定位ARP攻擊源的MAC。

也可以直接Ping網(wǎng)關(guān)IP, 完成Ping后, 用ARP –a查看網(wǎng)關(guān)IP對應(yīng)的MAC地址, 此MAC地址應(yīng)該為欺騙的MAC。

使用NBTSCAN可以取到PC的真實IP地址、機器名和MAC地址, 如果有”ARP攻擊”在做怪, 可以找到裝有ARP攻擊的PC的IP、機器名和MAC地址。

命令:“nbtscan -r 192.168.16.0/24”(搜索整個192.168.16.0/24網(wǎng)段, 即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 網(wǎng)段, 即192.168.16.25-192.168.16.137。 輸出結(jié)果第一列是IP地址, 最后一列是MAC地址。

NBTSCAN的使用范例:

假設(shè)查找一臺MAC地址為“000d870d585f”的病毒主機。

1)將壓縮包中的nbtscan.exe 和cygwin1.dll解壓縮放到c:下。

2)在Windows開始—運行—打開, 輸入cmd(windows98輸入“command”), 在出現(xiàn)的DOS窗口中輸入:C: btscan -r 192.168.16.1/24(這里需要根據(jù)用戶實際網(wǎng)段輸入), 回車。

3)通過查詢IP--MAC對應(yīng)表, 查出“000d870d585f”的病毒主機的IP地址為“192.168.16.223”。

通過上述方法, 我們就能夠快速的找到病毒源, 確認其MAC——〉機器名和IP地址。

2.防御方法

a.使用可防御ARP攻擊的三層交換機, 綁定端口-MAC-IP, 限制ARP流量, 及時發(fā)現(xiàn)并自動阻斷ARP攻擊端口, 合理劃分VLAN, 徹底阻止盜用IP、MAC地址, 杜絕ARP的攻擊。

b.對于經(jīng)常爆發(fā)病毒的網(wǎng)絡(luò), 進行Internet訪問控制, 限制用戶對網(wǎng)絡(luò)的訪問。 此類ARP攻擊程序一般都是從Internet下載到用戶終端, 如果能夠加強用戶上網(wǎng)的訪問控制, 就能極大的減少該問題的發(fā)生。

c.在發(fā)生ARP攻擊時, 及時找到病毒攻擊源頭, 并收集病毒信息, 可以使用趨勢科技的SIC2.0, 同時收集可疑的病毒樣本文件, 一起提交到趨勢科技的TrendLabs進行分析, TrendLabs將以最快的速度提供病毒碼文件, 從而可以進行ARP病毒的防御。


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。