天天看點

ARP攻擊原理及解決方法(NBTSCAN掃描工具下載下傳和nbtscan使用方法)

要了解故障原理,我們先來了解一下ARP協定。

在區域網路中,通過ARP協定來完成IP位址轉換為第二層實體位址(即MAC位址)的。ARP協定對網絡安全具有重要的意義。通過僞造IP位址和MAC位址實作ARP欺騙,能夠在網絡中産生大量的ARP通信量使網絡阻塞。

ARP 協定是“Address Resolution Protocol”(位址解析協定)的縮寫。在區域網路中,網絡中實際傳輸的是“幀”,幀裡面是有目标主機的MAC位址的。在以太網中,一個主機要和另一個 主機進行直接通信,必須要知道目标主機的MAC位址。但這個目标MAC位址是如何獲得的呢?它就是通過位址解析協定獲得的。所謂“位址解析”就是主機在發 送幀前将目标IP位址轉換成目标MAC位址的過程。ARP協定的基本功能就是通過目标裝置的IP位址,查詢目标裝置的MAC位址,以保證通信的順利進行。

每台安裝有TCP/IP協定的電腦裡都有一個ARP快取記錄,表裡的IP位址與MAC位址是一一對應的,如下表所示。

主機 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

我們以主機A(192.168.16.1)向主機B(192.168.16.2)發送資料為例。當發送資料時,主機A會在自己的ARP緩存 表中尋找是否有目标IP位址。如果找到了,也就知道了目标MAC位址,直接把目标MAC位址寫入幀裡面發送就可以了;如果在ARP快取記錄中沒有找到相對應 的IP位址,主機A就會在網絡上發送一個廣播,目标MAC位址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段内的所有主機發出這樣的詢 問:“192.168.16.2的MAC位址是什麼?”網絡上其他主機并不響應ARP詢問,隻有主機B接收到這個幀時,才向主機A做出這樣的回 應:“192.168.16.2的MAC位址是bb-bb-bb-bb-bb-bb”。這樣,主機A就知道了主機B的MAC位址,它就可以向主機B發送信 息了。同時它還更新了自己的ARP快取記錄,下次再向主機B發送資訊時,直接從ARP快取記錄裡查找就可以了。ARP快取記錄采用了老化機制,在一段時間内如果 表中的某一行沒有使用,就會被删除,這樣可以大大減少ARP快取記錄的長度,加快查詢速度。

從上面可以看出,ARP協定的基礎就是信任區域網路内所 有的人,那麼就很容易實作在以太網上的ARP欺騙。對目标A進行欺騙,A去Ping主機C卻發送到了DD-DD-DD-DD-DD-DD這個位址上。如果 進行欺騙的時候,把C的MAC位址騙為DD-DD-DD-DD-DD-DD,于是A發送到C上的資料包都變成發送給D的了。這不正好是D能夠接收到A發送 的資料包了麼,嗅探成功。

A對這個變化一點都沒有意識到,但是接下來的事情就讓A産生了懷疑。因為A和C連接配接不上了。D對接收到A發送給C的資料包可沒有轉交給C。

做“man in the middle”,進行ARP重定向。打開D的IP轉發功能,A發送過來的資料包,轉發給C,好比一個路由器一樣。不過,假如D發送ICMP重定向的話就中斷了整個計劃。

D 直接進行整個包的修改轉發,捕獲到A發送給C的資料包,全部進行修改後再轉發給C,而C接收到的資料包完全認為是從A發送來的。不過,C發送的資料包又直 接傳遞給A,倘若再次進行對C的ARP欺騙。現在D就完全成為A與C的中間橋梁了,對于A和C之間的通訊就可以了如指掌了。

【故障現象】

當區域網路内某台主機運作ARP欺騙的木馬程式時,會欺騙區域網路内所有主機和路由器,讓所有上網的流量必須經過病毒主機。其他使用者原來直接通過路由器上網現在轉由通過病毒主機上網,切換的時候使用者會斷一次線。

切換到病毒主機上網後,如果使用者已經登陸了傳奇伺服器,那麼病毒主機就會經常僞造斷線的假像,那麼使用者就得重新登入傳奇伺服器,這樣病毒主機就可以盜号了。

由于ARP欺騙的木馬程式發作的時候會發出大量的資料包導緻區域網路通訊擁塞以及其自身處理能力的限制,使用者會感覺上網速度越來越慢。當ARP欺騙的木馬程式停止運作時,使用者會恢複從路由器上網,切換過程中使用者會再斷一次線。

【HiPER使用者快速發現ARP欺騙木馬】

在路由器的“系統曆史記錄”中看到大量如下的資訊(440以後的路由器軟體版本中才有此提示):

MAC Chged 10.128.103.124

MAC Old 00:01:6c:36:d1:7f

MAC New 00:05:5d:60:c7:18

這個消息代表了使用者的MAC位址發生了變化,在ARP欺騙木馬開始運作的時候,區域網路所有主機的MAC位址更新為病毒主機的MAC位址(即所有資訊的MAC New位址都一緻為病毒主機的MAC位址),同時在路由器的“使用者統計”中看到所有使用者的MAC位址資訊都一樣。

如果是在路由器的“系統曆史記錄”中看到大量MAC Old位址都一緻,則說明區域網路内曾經出現過ARP欺騙(ARP欺騙的木馬程式停止運作時,主機在路由器上恢複其真實的MAC位址)。

【在區域網路内查找病毒主機】

在上面我們已經知道了使用ARP欺騙木馬的主機的MAC位址,那麼我們就可以使用NBTSCAN(最新nbtscan下載下傳位址:http://www.inetcat.net/software/nbtscan.html,點選Download NBTscan binaries for Win32 )工具來快速查找它。

NBTSCAN可以取到PC的真實IP位址和MAC位址,如果有”傳奇木馬”在做怪,可以找到裝有木馬的PC的IP/和MAC位址。

指令:“nbtscan -r 192.168.16.0/24”(搜尋整個192.168.16.0/24網段, 即

192.168.16.1-192.168.16.254); 或“nbtscan 192.168.16.25-137”搜尋192.168.16.25-137 網段,即192.168.16.25-192.168.16.137。輸出結果第一列是IP位址,最後一列是MAC位址。

NBTSCAN的使用範例:

假設查找一台MAC位址為“000d870d585f”的病毒主機。

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

2)在Windows開始—運作—打開,輸入cmd(windows98輸入“command”),在出現的DOS視窗中輸入:C:/nbtscan -r 192.168.16.1/24(這裡需要根據使用者實際網段輸入),回車。

C:/Documents and Settings/ALAN>C:/nbtscan -r 192.168.16.1/24

Warning: -r option not supported under Windows. Running without it.

Doing NBT name scan for addresses from 192.168.16.1/24

IP address NetBIOS Name Server User MAC address

------------------------------------------------------------------------------

192.168.16.0 Sendto failed: Cannot assign requested address

192.168.16.50 SERVER 00-e0-4c-4d-96-c6

192.168.16.111 LLF ADMINISTRATOR 00-22-55-66-77-88

192.168.16.121 UTT-HIPER 00-0d-87-26-7d-78

192.168.16.175 JC 00-07-95-e0-7c-d7

192.168.16.223 test123 test123 00-0d-87-0d-58-5f

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

【解決思路】

1、不要把你的網絡安全信任關系建立在IP基礎上或MAC基礎上,(rarp同樣存在欺騙的問題),理想的關系應該建立在IP+MAC基礎上。

2、設定靜态的MAC-->IP對應表,不要讓主機重新整理你設定好的轉換表。

3、除非很有必要,否則停止使用ARP,将ARP做為永久條目儲存在對應表中。

4、使用ARP伺服器。通過該伺服器查找自己的ARP轉換表來響應其他機器的ARP廣播。確定這台ARP伺服器不被黑。

5、使用"proxy"代理IP的傳輸。

6、使用硬體屏蔽主機。設定好你的路由,確定IP位址能到達合法的路徑。(靜态配置路由ARP條目),注意,使用交換集線器和網橋無法阻止ARP欺騙。

7、管理者定期用響應的IP包中獲得一個rarp請求,然後檢查ARP響應的真實性。

8、管理者定期輪詢,檢查主機上的ARP緩存。

9、使用防火牆連續監控網絡。注意有使用SNMP的情況下,ARP的欺騙有可能導緻陷阱包丢失。

【HiPER使用者的解決方案】

建議使用者采用雙向綁定的方法解決并且防止ARP欺騙。

1、在PC上綁定路由器的IP和MAC位址:

1)首先,獲得路由器的内網的MAC位址(例如HiPER網關位址192.168.16.254的MAC位址為0022aa0022aa)。

2)編寫一個批處理檔案rarp.bat内容如下:

@echo off

arp -d

arp -s 192.168.16.254 00-22-aa-00-22-aa

将檔案中的網關IP位址和MAC位址更改為您自己的網關IP位址和MAC位址即可。

将這個批處理軟體拖到“windows--開始--程式--啟動”中。

3) 如果是網吧,可以利用收費軟體服務端程式(pubwin或者萬象都可以)發送批處理檔案rarp.bat到所有客戶機的啟動目錄。Windows2000 的預設啟動目錄為“C:/Documents and Settings/All Users「開始」菜單程式啟動”。

2、在路由器上綁定使用者主機的IP和MAC位址(440以後的路由器軟體版本支援):

在HiPER管理界面--進階配置--使用者管理中将區域網路每台主機均作綁定。

NBTSCAN的使用方法:

下載下傳nbtscan.rar到硬碟後解壓,然後将cygwin1.dll和nbtscan.exe兩檔案拷貝到c:\windows\system32(或system)下,進入MSDOS視窗就可以輸入指令:

nbtscan -r 218.197.192.0/24 (假設本機所處的網段是218.197.192,掩碼是255.255.255.0;實際使用該指令時,應将斜體字部分改為正确的網段) 。

注:使用nbtscan時,有時因為有些計算機安裝防火牆軟體,nbtscan的輸出不全,但在計算機的arp緩存中卻能有所反應,是以使用nbtscan時,還可同時檢視arp緩存,就能得到比較完全的網段内計算機IP與MAC的對應關系。

補充一下:

Anti ARP Sniffer 使用說明

一、功能說明:

使用Anti ARP Sniffer可以防止利用ARP技術進行資料包截取以及防止利用ARP技術發送位址沖突資料包。

二、使用說明:

1、ARP欺騙:

填入網關IP位址,點選〔擷取網關mac位址〕将會顯示出網關的MAC位址。點選[自動防護]即可保護目前網卡與該網關的通信不會被第三方監聽。

注意:如出現ARP欺騙提示,這說明攻擊者發送了ARP欺騙資料包來擷取網卡的資料包,如果您想追蹤攻擊來源請記住攻擊者的MAC位址,利用MAC位址掃描器可以找出IP 對應的MAC位址。

2、IP位址沖突

首先點選“恢複預設”然後點選“防護位址沖突”。

如頻繁的出現IP位址沖突,這說明攻擊者頻繁發送ARP欺騙資料包,才會出現IP沖突的警告,利用Anti ARP Sniffer可以防止此類攻擊。

首先您需要知道沖突的MAC位址,Windows會記錄這些錯誤。檢視具體方法如下:

右擊[我的電腦]-->[管理]-->點選[事件檢視器]-->點選[系統]-->檢視來源為[TcpIP]--->輕按兩下 事件可以看到顯示位址發生沖突,并記錄了該MAC位址,請複制該MAC位址并填入Anti ARP Sniffer的本地MAC位址輸入框中(請注意将:轉換為-),輸入完成之後點選[防護位址沖突],為了使MAC位址生效請禁用本地網卡然後再啟用網 卡,在CMD指令行中輸入Ipconfig /all,檢視目前MAC位址是否與本地MAC位址輸入框中的MAC位址相符,如果更改失敗請與我聯系。如果成功将不再會顯示位址沖突。

注意:如果您想恢複預設MAC位址,請點選[恢複預設],為了使MAC位址生效請禁用本地網卡然後再啟用網卡。

繼續閱讀