ARP病毒攻擊技術(shù)區(qū)分與防備
發(fā)表時間:2023-07-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]一、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ǔ)常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。