史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 資訊系統安全備援防護技術文件
忘記密碼?
註冊帳號 論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-03-09, 01:10 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 教學 - ARP協議揭密

ARP協議揭密



內容:

ARP協議概述
ARP使用舉例
ARP欺騙
代理ARP的應用
小結


張新瑞 (zhangxinrui2@163.com)
2003 年 5 月

1 ARP協議概述

IP資料包常通過以太網發送。以太網設備並不識別32位IP位址:它們是以48位以太網地址傳輸以太網資料包的。因此,IP驅動器必須把IP目的地址轉換成以太網網目的地址。



在這兩種地址之間存在著某種靜態的或算法的映射,常常需要檢視一張表。地址解析協議(Address Resolution Protocol,ARP)就是用來確定這些映像的協議。

ARP工作時,送出一個含有所希望的IP位址的以太網廣播資料包。


目的地主機,或另一個代表該主機的系統,以一個含有IP和以太網地址對的資料包作為應答。發送者將這個地址對高速快取起來,以節約不必要的ARP通信。

如果有一個不被信任的節點對本地網路具有寫訪問許可權,那麼也會有某種風險。


這樣一台機器可以發佈虛假的ARP報文並將所有通信都轉向它自己,然後它就可以扮演某些機器,或者順便對資料流進行簡單的修改。ARP機制常常是自動起作用的。在特別安全的網路上, ARP映射可以用固件,並且具有自動抑制協議達到防止幹擾的目的。


圖1 以太網上的ARP報文格式

圖1是一個用作IP到以太網地址轉換的ARP報文的例子。在圖中每一行為32位,也就是4個八位組表示,在以後的圖中,我們也將遵循這一方式。

硬體類型字列指明了發送方想知道的硬體連接頭類型,以太網的值為1。

協議類型字列指明了發送方提供的高層協議類型,IP為0806(16進制)。


硬體地址長度和協議長度指明了硬體地址和高層協議地址的長度,這樣ARP報文就可以在任意硬體和任意協議的網路中使用。操作字列用來表示這個報文的目的,ARP請求為1,ARP回應為2,RARP請求為3,RARP回應為4。

當發出ARP請求時,發送方填好發送方首部和發送方IP位址,還要填寫目標IP位址。



當目標機器收到這個ARP廣播包時,就會在回應報文中填上自己的48位主機地址。

2 ARP使用舉例

我們先看一下linux下的arp命令(如果開始arp表中的內容為空的話,需要先對某台主機進行一個連接,例如ping一下目標主機來產生一個arp項):

d2server:/home/kerberos# arp
Address HWtype HWaddress Flags Mask Iface
211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0
Address:主機的IP位址
Hwtype:主機的硬體類型
Hwaddress:主機的硬體地址
Flags Mask:記錄標誌,"C"表示arp高速快取中的條目,"M"表示靜態的arp條目。

用"arp --a"命令可以顯示主機地址與IP位址的對應表,也就是機器中所儲存的arp快取訊息。這個高速快取存放了最近Internet地址到硬體地址之間的映射記錄。高速快取中每一項的生存時間一般為20分鐘,起始時間從被新建時開始算起。

d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0
可以看到在快取中有一條211.161.17.254相對應的arp快取條目。
d2server:/home/kerberos# telnet 211.161.17.21
Trying 211.161.17.21...
Connected to 211.161.17.21.
Escape character is ^].
^].
telnet>quit
connetion closed.

在執行上面一條telnet命令的同時,用tcpdump進行監聽:

d2server:/home/kerberos# tcpdump -e dst host 211.161.17.21
tcpdump: listening on eth0

我們將會聽到很多包,我們取與我們arp協議相關的2個包:

1 0.0 000:F8:0A:FB:83 FF:FF:FF:FF:FF:FF arp 60
who has 211.161.17.21 tell d2server
2 0.002344(0.0021) 00:E0:3C:43:0D:24 000:F8:0A:FB:83 arp 60
arp reply 211.161.17.21 is at 00:E0:3C:43:0D:24

在第1行中,源端主機(d2server)的硬體地址是000:F8:0A:FB:83。目的端主機的硬體地址是FF:FF:FF:FF:FF:FF,這是一個以太網廣播地址。電纜上的每個以太網連接頭都要接收這個資料幀並對它進行處理。

第1行中緊接著的一個輸出字列是arp,表明幀類型字列的值是0x0806,說明此資料幀是一個ARP請求或回答。

在每行中,單詞後面的值60指的是以太網資料幀的長度。由於ARP請求或回答的資料幀長都是42字節(28字節的ARP資料,14字節的以太網幀頭),因此,每一幀都必須加入填充字元以達到以太網的最小長度要求:60字節。

第1行中的下一個輸出字列arp who-has表示作為ARP請求的這個資料幀中,目的I P地址是211.161.17.21的地址,發送端的I P地址是d2server的地址。tcpdump列印出主機名對應的預設值I P地址。

從第2行中可以看到,儘管ARP請求是廣播的,但是ARP應答的目的地址卻是211.161.17.21(00:E0:3C:43:0D:24)。ARP應答是直接送到請求端主機的,而是廣播的。tcpdump列印出arp reply的字樣,同時列印出回應者的主機ip和硬體地址。

在每一行中,行號後面的數位表示tcpdump收到分組的時間(以秒為公司)。除第1行外,每行在括號中還包含了與上一行的時間差異(以秒為公司)。

這個時候我們再看看機器中的arp快取:

d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0
(211.161.17.21) at 00:E0:3C:43:0D:24 [ether] on eth0

arp高速快取中已經增加了一條有關211.161.17.21的映射。

再看看其他的arp相關的命令:

d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00
d2server:/home/kerberos# arp
Address HWtype HWaddress Flags Mask Iface
211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0
211.161.17.21 ether 00:00:00:00:00:00 CM eth0
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0
(211.161.17.21) at 00:00:00:00:00:00 [ether] PERM on eth0

可以看到我們用arp -s選項設置了211.161.17.21對應的硬體地址為00:00:00:00:00:00,而且這條映射的標誌字列為CM,也就是說我們手工設置的arp選項為靜態arp選項,它保持不變沒有超時,不像高速快取中的條目要在一定的時間間隔後更新。

如果想讓手工設置的arp選項有超時時間的話,可以加上temp選項

d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00 temp
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0
(211.161.17.21) at 00:00:00:00:00:00 [ether] on eth0
d2server:/home/kerberos# arp
Address HWtype HWaddress Flags Mask Iface
211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0
211.161.17.21 ether 00:00:00:00:00:00 C eth0

可以看到標誌字列的靜態arp標誌"M"已經去掉了,我們手工加上的是一條動態條目。

請大家注意arp靜態條目與動態條目的區別。

在不同的系統中,手工設置的arp靜態條目是有區別的。在linux和win2000中,靜態條目不會因為偽造的arp回應包而改變,而動態條目會改變。而在win98中,手工設置的靜態條目會因為收到偽造的arp回應包而改變。

如果您想刪除某個arp條目(包括靜態條目),可以用下面的命令:

d2server:/home/kerberos# arp -d 211.161.17.21
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0
(211.161.17.21) at <incomplete> on eth0

可以看到211.161.17.21的arp條目已經是不完整的了。

還有一些其他的命令,可以參考linux下的man文檔:

d2server:/home/kerberos# man arp

3 ARP欺騙

我們先複習一下上面所講的ARP協議的原理。在實現TCP/IP協議的網路環境下,一個ip包走到哪裡,要怎麼走是靠路由表定義,但是,當ip包到達該網路後,哪台機器回應這個ip包卻是靠該ip包中所包含的硬體mac地址來識別。也就是說,只有機器的硬體mac地址和該ip包中的硬體mac地址相同的機器才會應答這個ip包,因為在網路中,每一台主機都會有發送ip包的時候,所以,在每台主機的記憶體中,都有一個 arp--> 硬體mac 的轉換表。通常是動態的轉換表(該arp表可以手工新增靜態條目)。也就是說,該對應表會被主機在一定的時間間隔後刷新。這個時間間隔就是ARP高速快取的超時時間。

通常主機在發送一個ip包之前,它要到該轉換表中尋找和ip包對應的硬體mac地址,如果沒有找到,該主機就發送一個ARP廣播包,於是,主機刷新自己的ARP快取。然後發出該ip包。

瞭解這些常識後,現在就可以談在以太網路中如何實現ARP欺騙了,可以看看這樣一個例子。

3.1 同一網段的ARP欺騙


圖2 同一網段的arp欺騙

如圖2所示,三台主機

A: ip地址 192.168.0.1 硬體地址 AA:AA:AA:AA:AA:AA
B: ip地址 192.168.0.2 硬體地址 BB:BB:BB:BB:BB:BB
C: ip地址 192.168.0.3 硬體地址 CC:CC:CC:CC:CC:CC


一個位於主機B的入侵者想非法進入主機A,可是這台主機上安裝有防火牆。通過收集資料他知道這台主機A的防火牆只對主機C有信任關係(開放23連接阜(telnet))。而他必須要使用telnet來進入主機A,這個時候他應該如何處理呢?

我們這樣考慮,入侵者必須讓主機A相信主機B就是主機C,如果主機A和主機C之間的信任關係是建立在ip地址之上的。如果單單把主機B的ip地址改的和主機C的一樣,那是不能工作的,至少不能可靠地工作。如果你告訴以太網卡設備驅動程式, 自己IP是192.168.0.3,那麼這只是一種純粹的競爭關係,並不能達到目標。我們可以先研究C這台機器如果我們能讓這台機器暫時當掉,競爭關係就可以解除,這個還是有可能實現的。在機器C當掉的同時,將機器B的ip地址改為192.168.0.3,這樣就可以成功的通過23連接阜telnet到機器A上面,而成功的繞過防火牆的限制。

上面的這種想法在下面的情況下是沒有作用的,如果主機A和主機C之間的信任關係是建立在硬體地址的基礎上。這個時候還需要用ARP欺騙的手段讓主機A把自己的ARP快取中的關於192.168.0.3映射的硬體地址改為主機B的硬體地址。

我們可以人為的製造一個arp_reply的回應包,發送給想要欺騙的主機,這是可以實現的,因為協議並沒有規定必須在接收到arp_echo後才可以發送回應包.這樣的工具很多,我們也可以直接用snifferpro抓一個arp回應包,然後進行修改。

你可以人為地製造這個包。可以指定ARP包中的源IP、目標IP、源MAC地址、目標MAC地址。

這樣你就可以通過虛假的ARP回應包來修改主機A上的動態ARP快取達到欺騙的目的。

下面是具體的步驟:

他先研究192.0.0.3這台主機,發現這台主機的漏洞。
根據發現的漏洞使主機C當掉,暫時停止工作。
這段時間裡,入侵者把自己的ip改成192.0.0.3
他用工具發一個源ip地址為192.168.0.3源MAC地址為BB:BB:BB:BB:BB:BB的包給主機A,要求主機A更新自己的arp轉換表。
主機更新了arp表中關於主機C的ip-->mac對應關係。
防火牆失效了,入侵的ip變成合法的mac地址,可以telnet 了。
上面就是一個ARP的欺騙過程,這是在同網段發生的情況,但是,提醒注意的是,在B和C處於不同網段的時候,上面的方法是不起作用的。

3.2 不同網段的ARP欺騙


圖3 不同網段之間的ARP欺騙

如圖3所示A、C位於同一網段而主機B位於另一網段,三台機器的ip地址和硬體地址如下:

A: ip地址 192.168.0.1 硬體地址 AA:AA:AA:AA:AA:AA
B: ip地址 192.168.1.2 硬體地址 BB:BB:BB:BB:BB:BB
C: ip地址 192.168.0.3 硬體地址 CC:CC:CC:CC:CC:CC

在現在的情況下,位於192.168.1網段的主機B如何冒充主機C欺騙主機A呢?顯然用上面的辦法的話,即使欺騙成功,那麼由主機B和主機A之間也無法建立telnet會話,因為路由器不會把主機A發給主機B的包向外轉發,路由器會發現地址在192.168.0.這個網段之內。

現在就涉及到另外一種欺騙方式-ICMP重定向。把ARP欺騙和ICMP重定向結合在一起就可以基本實現跨網段欺騙的目的。

什麼是ICMP重定向呢?

ICMP重定向報文是ICMP控制報文中的一種。在特定的情況下,當路由器檢測到一台機器使用非優化路由的時候,它會向該主機發送一個ICMP重定向報文,請求主機改變路由。路由器也會把初始資料報向它的目的地轉發。

我們可以利用ICMP重定向報文達到欺騙的目的。

下面是結合ARP欺騙和ICMP重定向進行攻擊的步驟:

為了使自己發出的非法ip包能在網路上能夠存活長久一點,開始修改ip包的生存時間ttl為下面的過程中可能帶來的問題做準備。把ttl改成255. (ttl定義一個ip包如果在網路上到不了主機後,在網路上能存活的時間,改長一點在本例中有利於做充足的廣播)
下載一個可以自由製作各種包的工具(例如hping2)
然後和上面一樣,尋找主機C的漏洞按照這個漏洞當掉主機C。
在該網路的主機找不到原來的192.0.0.3後,將更新自己的ARP對應表。於是他發送一個原ip地址為192.168.0.3硬體地址為BB:BB:BB:BB:BB:BB的ARP回應包。
好了,現在每台主機都知道了,一個新的MAC地址對應192.0.0.3,一個ARP欺騙完成了,但是,每台主機都只會在局域網中找這個地址而根本就不會把發送給192.0.0.3的ip包丟給路由。於是他還得構造一個ICMP的重定向廣播。
自己定制一個ICMP重定向包告訴網路中的主機:"到192.0.0.3的路由最短路徑不是局域網,而是路由,請主機重定向你們的路由路徑,把所有到192.0.0.3的ip包丟給路由。"
主機A接受這個合理的ICMP重定向,於是修改自己的路由路徑,把對192.0.0.3的通訊都丟給路由器。
入侵者終於可以在路由外收到來自路由內的主機的ip包了,他可以開始telnet到主機的23口。
其實上面的想法只是一種理想話的情況,主機許可接收的ICMP重定向包其實有很多的限制條件,這些條件使ICMP重定向變的非常困難。

TCP/IP協議實現中關於主機接收ICMP重定向報文主要有下面幾條限制:

新路由必須是直達的
重定向包必須來自去往目標的當前路由
重定向包不能通知主機用自己做路由
被改變的路由必須是一條間接路由
由於有這些限制,所以ICMP欺騙實際上很難實現。但是我們也可以主動的根據上面的思維尋找一些其他的方法。更為重要的是我們知道了這些欺騙方法的危害性,我們就可以採取相應的防禦辦法。

3.3 ARP欺騙的防禦

知道了ARP欺騙的方法和危害,我們給出一些初步的防禦方法:

不要把你的網路安全信任關係建立在ip地址的基礎上或硬體mac地址基礎上,(rarp同樣存在欺騙的問題),理想的關係應該建立在ip+mac基礎上。
設置靜態的mac-->ip對應表,不要讓主機刷新你設定好的轉換表。
除非很有必要,否則停止使用ARP,將ARP做為永久條目儲存在對應表中。在linux下可以用ifconfig -arp可以使網卡驅動程式停止使用ARP。
使用代理閘道發送外出的通訊。
修改系統拒收ICMP重定向報文
在linux下可以通過在防火牆上拒絕ICMP重定向報文或者是修改內核選項重新編譯內核來拒絕接收ICMP重定向報文。

在win2000下可以通過防火牆和IP策略拒絕接收ICMP報文。

4 代理ARP的應用

代理ARP有兩大應用,一個是有利的就是我們在防火牆實現中常說的透明模式的實現,另一個是有害的就是通過它可以達到在交換環境中進行嗅探的目的.由此可見同樣一種技術被應用於不同的目的,效果是不一樣的.

我們先來看交換環境中局域網的嗅探.

通常在局域網環境中,我們都是通過交換環境的閘道上網的。在交換環境中使用NetXray或者NAI Sniffer一類的嗅探工具除了抓到自己的包以外,是不能看到其他主機的網路通信的。

但是我們可以通過利用ARP欺騙可以實現Sniffer的目的。

ARP協議是將IP位址解析為MAC地址的協議,局域網中的通信都是基於MAC地址的。


圖4 交換網路中的ARP欺騙

如圖4所示,三台主機位於一個交換網路的環境中,其中A是閘道:

A: ip地址 192.168.0.1 硬體地址 AA:AA:AA:AA:AA
B: ip地址 192.168.0.2 硬體地址 BB:BB:BB:BB:BB
C:ip地址 192.168.0.3 硬體地址 CC:CC:CC:CC:CC

在局域網中192.168.0.2和192.168.0.3都是通過閘道192.168.0.1上網的,假定攻擊者的系統為192.168.0.2,他希望聽到192.168.0.3的通信,那麼我們就可以利用ARP欺騙實現。

這種欺騙的中心原則就是arp代理的應用.主機A是局域網中的代理服務器,局域網中每個節點的向外的通信都要通過它.主機B想要聽主機C的通信,它需要先使用ARP欺騙,讓主機C認為它就是主機A,這個時候它發一個IP位址為192.168.0.1,物理地址為BB:BB:BB:BB:BB:BB的ARP回應包給主機C,這樣主機C會把發往主機A的包發往主機B.同理,還要讓閘道A相信它就是主機C,向閘道A發送一個IP位址為192.168.0.3,物理地址為BB:BB:BB:BB:BB:BB的包.

上面這一步的操作和前面的ARP欺騙的原理是一樣的,但是還是有問題,過一段時間主機B會發現自己無法上網.所以下面還有一個步驟就是需要在主機B上轉發從主機A到主機C的包,並且轉發從主機C到主機A的包.現在我們可以看到其實主機B在主機A和主機C的通訊中起到了一個代理的作用,這就是為什麼叫做ARP代理的原因.

具體實現要用到兩個工具dsniff和fragrouter,dsniff用來實現ARP欺騙,fragroute用來進行包的轉發.

首先利用dsniff中的arpspoof來實現ARP欺騙,dsniff軟體可以在下面的網址下載:

http://naughty.monkey.org/~dugsong/dsniff

安裝這個軟體包之前先要下載安裝libnet.

欺騙192.168.0.3,告訴這台機器閘道192.168.0.1的MAC地址是192.168.0.2的MAC地址.

[root@sound dsniff-2.3]# ./arpspoof -i eth0 -t 192.168.0.3 192.168.0.1
欺騙192.168.0.1,告訴192.168.0.1主機192.168.0.3的MAC地址是192.168.0.2的MAC地址。

[root@sound dsniff-2.3]# ./arpspoof -i eth0 -t 192.168.0.1 192.168.0.3
現在我們已經完成了第一步的欺騙,這個欺騙是通過arpspoof來完成的,當然您也可以使用別的工具甚至自己發包來完成.現在我們可以看到在主機A和主機C的arp列表裡面都完成了我們需要的工作.在後面的透明代理中我們將使用另外一種不同的理念.

下面我們先開啟linux系統中的轉發包的選項:

[root@sound /root]# echo "1" >/proc/sys/net/ipv4/ip_forward
下面我們可以下載大名鼎鼎的dugsong的另外一個工具fragroute,這個工具以前叫做fragrouter(僅有1字的差別)主要用於實現入侵檢測系統處理分片的ip和tcp包功能的檢測,本身自代包轉發的功能.可以到下面的網站下載:

http://monkey.org/~dugsong/fragroute/

安裝這個軟體包之前先要下載安裝libpcap和libevent.

當然我們也可以使用fragrouter來完成:

http://www.packetstormsecurity.org/groups/ w00w00/sectools/fragrouter/

[root@sound fragrouter-1.6]# ./fragrouter -B1
fragrouter: base-1: normal IP forwarding

現在就可以實現在交換局域網中嗅探的目標.當然上面這些只是一些原理性的介紹,在真正的使用中會遇到很多的問題,比如如何實現對閘道A和主機C的欺騙,以及如何處理可能出現的廣播風暴問題,這些可以在實踐中學習.還有一個叫arpsniff的工具能夠很方便的完成這一功能,很多網站都提供下載,界面比較友好,由於和上面的原理一樣,只是工具使用上的不同並且新增了一些附加的功能,所以這裡不在進行介紹.

代理ARP的另外一個應用就是防火牆的透明代理的實現.我們都知道早期的防火牆大都是基於路由模式,也就是防火牆要完成一個路由的作用.這種接入方式需要在局域網內的主機上設置防火牆的IP為代理,而且需要在外部路由器的路由表中加入一條指向防火牆的路由.這種方式的缺點在於不透明,需要進行過多的設置,並且破壞了原有的網路拓撲.所以現在幾乎全部的防火牆都實現了一種透明接入的功能,用戶的路由器和客戶端不用做任何修改,用戶甚至感覺不到透明接入方式防火牆的存在.這種透明接入的原理就是ARP代理.

我們現在看如何配置一台主機作為透明接入模式的防火牆(透明接入的防火牆不需要IP),


圖5

如圖5所示,一台防火牆連接內部網段和DMZ網段到外部路由.我們在這台用作防火牆的主機上使用linux操作系統,這樣我們可以方便的使用iptables防火牆.假設三塊網卡為eth0,eth1和eth2,eth0和路由器相連,eth1和內網相連.eth2和外網相連.假設DMZ區有2台服務器.

內網地址:192.168.1.0/24
DMZ地址:192.168.1.2---192.168.1.3
路由器的ip地址:192.168.1.1
eth0:AA:AA:AA:AA:AA:AA
eth1:BB:BB:BB:BB:BB:BB
eth2:CC:CC:CC:CC:CC:CC

和前面差不多,第一步需要實現ARP欺騙,這次我們有個簡單的實現.我們把路由器的IP位址和防火牆的eth1和eth2的網卡物理地址綁定,將內網和DMZ網段的IP位址和eth0的網卡綁定,在linux系統上我們用arp命令實現:

arp -s 192.168.1.1 BB:BB:BB:BB:BB:BB
arp -s 192.168.1.1 CC:CC:CC:CC:CC:CC
arp -s 192.168.1.0/24 AA:AA:AA:AA:AA:AA

第二部我們需要在基於linux的防火牆上設置路由,把目標地址是外部路由的包轉發到eth0,把目標地址為內網的包轉發到eth1,把目標地址是DMZ網段服務器的包轉發到eth2.在linux下面用route命令實現

route add 192.168.1.1 dev eth0
route add -net 192.168.1.0/24 dev eth1
route add 192.168.1.2 dev eth2
route add 192.168.1.3 dev eth3

(針對DMZ網段裡面的每台服務器都要增加一條單獨的路由) 現在我們就已經實現了一個簡單的arp代理的透明接入,當然對應於防火牆的iptables部分要另外配置,iptables的配置不在本文範疇之內.

小結

本文介紹了ARP協議以及與其相關的安全問題。一個重要的安全問題就是ARP欺騙,我們講到了同一網段的ARP欺騙以及跨網段的ARP欺騙和ICMP重定向相結合的方法。由於有這些安全問題的存在,我們給出一些最基本的解決辦法。最後談到了利用代理ARP實現在交換網路中嗅探和防火牆的透明接入。

有關更深入的知識請參考RFC826、RFC814、RFC1029、RFC1166以及有關dugsong有關的網頁: http://freshmeat.net/~dugsong/
psac 目前離線  
送花文章: 3, 收花文章: 1624 篇, 收花: 3187 次
舊 2006-02-12, 04:44 AM   #2 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

MAC地址與端口綁定防黑客

在網絡安全越來越重要的今天,高校和企業對於局域網的安全控制也越來越嚴格,普遍採用的做法之一就是IP地址、網卡的MAC地址與交換機端口綁定,但是MAC與交換機端口快速綁定的具體實現的原理和步驟卻少有文章。
我們通常說的MAC地址與交換機端口綁定其實就是交換機端口安全功能。端口安全功能能讓您配置一個端口只允許一台或者幾台確定的設備訪問那個交換機;能根據MAC地址確定允許訪問的設備;允許訪問的設備的MAC地址既可以手工配置,也可以從交換機「學到」;當一個未批准的MAC地址試圖訪問端口的時候,交換機會掛起或者禁用該端口等等。
一、首先必須明白兩個概念:
可靠的MAC地址。配置時候有三種類型。
靜態可靠的MAC地址:在交換機接口模式下手動配置,這個配置會被保存在交換機MAC地址表和運行配置文件中,交換機重新啟動後不丟失(當然是在保存配置完成後),具體命令如下:
Switch(config-if)#switchport port-security mac-address Mac地址
動態可靠的MAC地址:這種類型是交換機默認的類型。在這種類型下,交換機會動態學習MAC地址,但是這個配置只會保存在MAC地址表中,不會保存在運行配置文件中,並且交換機重新啟動後,這些MAC地址表中的MAC地址自動會被清除。
黏性可靠的MAC地址:這種類型下,可以手動配置MAC地址和端口的綁定,也可以讓交換機自動學習來綁定,這個配置會被保存在MAC地址中和運行配置文件中,如果保存配置,交換機重起動後不用再自動重新學習MAC地址,雖然黏性的可靠的MAC地址可以手動配置,但是CISCO官方不推薦這樣做。具體命令如下:
Switch(config-if)#switchport port-security mac-address sticky
其實在上面這條命令配置後並且該端口得到MAC地址後,會自動生成一條配置命令
Switch(config-if)#switchport port-security mac-address sticky Mac地址
這也是為何在這種類型下CISCO不推薦手動配置MAC地址的原因。
二、違反MAC安全採取的措施:
當超過設定MAC地址數量的最大值,或訪問該端口的設備MAC地址不是這個MAC地址表中該端口的MAC地址,或同一個VLAN中一個MAC地址被配置在幾個端口上時,就會引發違反MAC地址安全,這個時候採取的措施有三種:
1.保護模式(protect):丟棄數據包,不發警告。
2.限制模式(restrict):丟棄數據包,發警告,發出SNMP trap,同時被記錄在syslog日誌裡。
3.關閉模式(shutdown):這是交換機默認模式,在這種情況下端口立即變為err-disable狀態,並且關掉端口燈,發出SNMP trap,同時被記錄在syslog日誌裡,除非管理員手工激活,否則該端口失效。
具體命令如下:
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }
下面這個表一就是具體的對比
Violation Mode Traffic is forwarded Sends SNMP trap Sends syslog message Displays error
message Shuts down port
protect No No No No No
restrict No Yes Yes No No
shutdown No Yes Yes No Yes
表一
配置端口安全時還要注意以下幾個問題:
端口安全僅僅配置在靜態Access端口;在trunk端口、SPAN端口、快速以太通道、吉比特以太通道端口組或者被動態劃給一個VLAN的端口上不能配置端口安全功能;不能基於每VLAN設置端口安全;交換機不支持黏性可靠的MAC地址老化時間。protect和restrict模式不能同時設置在同一端口上。
下面把上面的知識點連接起來談談實現配置步驟的全部命令。
1.靜態可靠的MAC地址的命令步驟:
Switch#config terminal
 Switch(config)#interface interface-id 進入需要配置的端口
 Switch(config-if)#switchport mode Access 設置為交換模式
 Switch(config-if)#switchport port-security 打開端口安全模式

Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }
上面這一條命令是可選的,也就是可以不用配置,默認的是shutdown模式,但是在實際配置中推薦用restrict。
Switch(config-if)#switchport port-security maximum value
上面這一條命令也是可選的,也就是可以不用配置,默認的maximum是一個MAC地址,2950和3550交換機的這個最大值是132。
其實上面這幾條命令在靜態、黏性下都是一樣的,
Switch(config-if)#switchport port-security mac-address MAC地址
上面這一條命令就說明是配置為靜態可靠的MAC地址
2.動態可靠的MAC地址配置,因為是交換機默認的設置。
3.黏性可靠的MAC地址配置的命令步驟:
Switch#config terminal
  Switch(config)#interface interface-id
  Switch(config-if)#switchport mode Access
  Switch(config-if)#switchport port-security
  Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }
Switch(config-if)#switchport port-security maximum value

上面這幾天命令解釋和前面靜態講到原因一樣,不再說明。
Switch(config-if)#switchport port-security mac-address sticky
上面這一條命令就說明是配置為黏性可靠的MAC地址。
最後,說說企業中如何快速MAC地址與交換機端口綁定。在實際的運用中常用黏性可靠的MAC地址綁定,現在我們在一台2950EMI上綁定。
方法1:在CLI方式下配置
2950 (config)#int rang fa0/1 - 48
2950 (config-if-range)#switchport mode Access
2950 (config-if-range)#switchport port-security
2950 (config-if-range)#switchport port-security mac-address violation restrict
2950 (config-if-range)#switchport port-security mac-address sticky
這樣交換機的48個端口都綁定了,注意:在實際運用中要求把連在交換機上的PC機都打開,這樣才能學到MAC地址,並且要在學到MAC地址後保存配置文件,這樣下次就不用再學習MAC地址了,然後用show port-security address查看綁定的端口,確認配置正確。

方法2:在WEB界面下配置,也就是CMS(集群管理單元)
我們通過在IE瀏覽器中輸入交換機IP地址,就可以進入,然後在port—port security下可以選定交換機端口,在Status和Sticky MAC Address中選Enable或Disabled,Violation Action可以選Shutdown、Restrict、Protect中的一種,Maximum Address Count(1-132)可以填寫這個範圍的數值。
當然還有要求綁定IP地址和MAC地址的,這個就需要三層或以上的交換了,因為我們知道普通的交換機都是工作在第二層,也就是使數據鏈路層,是不可能綁定IP的。假如企業是星型的網絡,中心交換機是帶三層或以上功能的。我們就可以在上綁定,
Switch(config)#arp Ip地址 Mac地址 arpa

這部份在微軟的WSSRA(Windows Server System Reference Architecture) 中曾講說明多層次防禦的概念,
透過ISO的OSI 第二層的安全措施,但其中牽涉很多,有興趣的人可以參考BSMSN (Building Cisco Multilayer Switch Network)的課程,上面對Dynamic VLAN有比較多的說明。
在保安的角度來看, Dynamic VLAN 不被建議使用.
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1624 篇, 收花: 3187 次
舊 2006-03-13, 06:01 AM   #3 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

ARP攻擊修正檔,另附送個人我防範arp攻擊心得

防ARP攻擊修正檔,另附送個人我防範arp攻擊心得

想必有很多那局局局內網用戶受到網路剪刀手,網路執法官等軟體的影響
其實這些關於ARP的WINPCAP軟體本來不是用在這方面的但難免會有人心術不正
在此放出防ARP攻擊修正檔,希望大家喜歡

在此冒昧一下,希望能置頂,因為現在受這類軟體影響的人太多了

另外,希望大家不要介紹推廣這類軟體,特別不要受到這類影響以後以毒攻毒
本來上網就是消遣嘛

在此先解釋一下原理

網路剪刀手是通過網路閘道來控制局局局內網的機器,若對方是合法的,你想繞開,恐怕思法上說不過去!因為你畢竟要通過它才能往外連接啊!
不過根據原理,這個軟體好像是針對IP來控制的,有個辦法就是在斷了情況下重置自己的IP位址(可能還包括MAC位址,有修改自己MAC位址的軟體),這樣就可以暫時躲過網路閘道的控制!但只能是暫時的!!


該修正檔原理是既時綁定網路閘道mac/ip,能徹底解決arp欺騙的問題。


下載後請一定按照以下步驟操作完成時時綁定(以下步驟只適合2K/XP系統):
1:在指令行狀態,ping 網路閘道位址(局局局內網),例如你的網路閘道(局局局內網)是192.168.0.1,那麼在指令行狀態下你輸入ping 192.168.0.1,Enter鍵。

2:在指令行狀態下,輸入arp -a,
C:\Documents and Settings\Administrator>arp -a

Interface: 192.168.0.119 --- 0x10003
Internet Address Physical Address Type
192.168.0.1 00-e0-2a-b0-75-0c dynamic
192.168.1.1 00-e0-2a-75-75-75 static
3。這時候記下你的網路閘道位址所對應的Physical Address ,也就是MAC位址。

按照以下說明取代IP和MAc位址:

FL freeland=192.168.0.1 00-aa-bb-cc-dd-ee 1 freeland false
          ↓     ↓
     取代為網路閘道IP位址 取代為網路閘道MAC值

例如你的網路閘道是192.168.1.1 ,網路閘道mac位址為00-e0-2a-75-75-75,那麼你的A.bat內容應該是這樣的
FL freeland=192.168.1.1 00-e0-2a-75-75-75 3 freeland false

只要動態重新整理ARP快取表,就可以解決

4:如果以後更換網路閘道網路卡或者路由器,這時候網路閘道的MAC位址就會改變,所以請重新檢查mac位址並重新修改伺服器共享硬碟內的A.bat的mac位址字元段(否則客戶端機會上不了網).

有2個版本,for 2K和for XP的,大家可以有選項安裝,for 2K是2000下用,for XP是xp下使用。
另外:各種防火牆對對ARP攻擊是沒有效果的,也就是說你開著防火牆也沒有用
(註:我僅僅測試了毒霸,江名,瑞星和諾頓,天網,其他殺毒軟體防火牆沒有試用,不知道效果如何)
聽說zonealarm有效,沒有測試,希望有安裝的測試一下

有關尋找arp攻擊位址:可以去下載一款協助工具,比如一些區域網路檢視工具,捕獲發進來的資料包分析一下,就可以知道具體是哪個IP在攻擊你!!!!!!

在此推薦我個人使用的區域網路檢視工具,為綠色破解版,功能很不錯,建議配合使用

主要功能:(1)搜尋所有工作組。(2)搜尋指定網段內的電腦,並顯示每台電腦的電腦名稱,IP位址,工作組,MAC位址,用戶。(3)搜尋所有工作內或是選定的一個或幾個工作組內的電腦,並顯示每台電腦的電腦名稱,IP位址,工作組,MAC位址,用戶。(4)將搜匯出的電腦訊息儲存到指定的文本文件中。(5)搜尋所有電腦的共享資源。(6)將指定共享資源映射成本機機驅動器。(7)搜尋所有共享資源內的共享文件。(8)搜尋選定的一個或幾個共享資源內的共享文件。(9)在搜尋共享文件時,你可選項搜尋你所需要的一種或幾種檔案檔案檔案類型的共享文件。(10)開啟指定的電腦。(11)開啟指定的共享目錄(12)開啟指定的共享文件。(13)傳送消息,給選定的一台或幾台電腦發消息,給指定工作組內的所有電腦發消息,給所有電腦發消息。(14)連接阜掃瞄,你也可以掃瞄出區域網路內或指定網段內所有開放指定TCP連接阜的電腦,也可以掃瞄出指定電腦內活動的TCP連接阜。(15)ping指定的電腦,檢視指定電腦的MAC位址,所在的工作組以及當前用戶等

如果動手能力再強的,可以通過設定防火牆,使本地機機只回應網路閘道來的MAC,這才是解決的根本辦法
大陸的防火牆目前很少有這個功能,我個人使用的是Look'n'Stop,配合修正檔使用,可安然無憂~

「Look'n'Stop防火牆」功能強大、設定複雜,如果對Look'n'Stop防火牆不熟悉的人安裝完後產生了各種網路問題,最好還是上網查查資料,自己解決一些問題,這樣不僅解決了問題又學到了知識。實在沒辦法就上論壇問問。

附送我個人使用Look'n'Stop防範arp心得:
阻止網路執法官等arp控制
  網路執法官是利用的ARp欺騙的來達到控制目的的。
  ARP傳輸協定用來解析IP與MAC的對應關係,所以用下列方法可以實現抗拒網路執法官的控制。
如果你的機器不準備與區域網路中的機器通訊,那麼可以使用下述方法:
  A.在「網際網路過濾」裡面有一條「ARP : Authorize all ARP packets」規則,在這個規則前面打上禁止標誌;
  B.但這個規則預設會把網路閘道的訊息也禁止了,處理的辦法是把網路閘道的MAC位址(通常網路閘道是固定的)放在這條規則的「目標」區,在「乙太網:位址」裡選項「不等於」,並把網路閘道的MAC位址填寫在那時;把自己的MAC位址放在「來源」區,在「乙太網:位址」裡選項「不等於」。
  C.在最後一條「All other packet」裡,修改這條規則的「目標」區,在「乙太網:位址」裡選項「不等於」,MAC位址裡填FF:FF:FF:FF:FF:FF;把自己的MAC位址放在「來源」區,在「乙太網:位址」裡選項「不等於」。其它不改動。
  這樣網路執法官就無能為力了。此方法適用於不與區域網路中其它機器通訊,且網路閘道位址是固定的情況下。
  如果你的機器需要與區域網路中的機器通訊,僅需要擺脫網路執法官的控制,那麼下述方法更簡單實用(此方法與防火牆無關):
  進入指令行狀態,執行「ARP -s 網路閘道IP 網路閘道MAC」就可以了,想獲得網路閘道的MAC,只要Ping一下網路閘道,然後用Arp -a指令檢視,就可以得到網路閘道的IP與MAC的對應。此方法應該更具通用性,而且當網路閘道位址可變時也很好操作,重複一次「ARP -s 網路閘道IP 網路閘道MAC」就行了。此指令作用是建立靜態的ARP解析表。
修改網路卡MAC位址
利用Arpkiller的"Sniffer殺手"
ARPKiller 1.3

簡介:
可以快速查出區域網路所有主機的IP,並且還能查出哪些電腦的網路卡處於混雜模式(說不一定他就開了Sniffer哦! :"),除此之外還可以用他進行一些類似於搶IP,IP欺騙的勾當!


http://www.chinesehack.org/down/show.asp?id=2471

網路執法官 程式就是一arp的產物,防他lsn要設定規則的。
且你按下面的辦法去看看
1.阻止網路執法官控制
網路執法官是利用ARP欺騙來達到控制區域網路內其它電腦網路連接目的的。  
ARP傳輸協定用來解析IP與MAC的對應關係,所以用下列方法可以實現抗拒網路執法官的控制。
如果你的機器不準備與區域網路中的機器通訊,那麼可以使用下述方法:
1.在「網際網路過濾」裡面有一條「ARP : Authorize all ARP packets」規則,在這個規則前面打上禁止標誌;
2.但這個規則預設會把網路閘道的訊息也禁止了,處理的辦法是把網路閘道的MAC位址(通常網路閘道是固定的)放在這條規則的「目標」區,在「乙太網:位址」裡選項「不等於」,並把網路閘道的MAC位址填寫在那時;把自己的MAC位址放在「來源」區,在「乙太網:位址」裡選項「不等於」。
3.在最後一條「All other packet」裡,修改這條規則的「目標」區,在「乙太網:位址」裡選項「不等於」,MAC位址裡填FF:FF:FF:FF:FF:FF;把自己的MAC位址放在「來源」區,在「乙太網:位址」裡選項「不等於」。其它不改動。
這樣網路執法官就無能為力了。此方法適用於不與區域網路中其它機器通訊,且網路閘道位址是固定的情況下。


國際慣例:感謝IT樂園 提供這樣一個交流場所!感謝簫友各位的關注,嚴重b
psac 目前離線  
送花文章: 3, 收花文章: 1624 篇, 收花: 3187 次
舊 2006-08-26, 03:15 AM   #4 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

實戰:ARP攻擊原理及解決方法

【故障原因】

局域網內有人使用ARP欺騙的木馬程式(比如:傳奇盜號的軟件,某些傳奇外掛中也被惡意載入了此程式)。

【故障原理】

要瞭解故障原理,我們先來瞭解一下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(下載位址:http://down.wglm.net/Software/catalo...查找它。
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(這裡需要根據用戶實際網段輸入),Enter鍵。

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管理界面--高階配置--用戶管理中將局域網每台主機均作綁定。
psac 目前離線  
送花文章: 3, 收花文章: 1624 篇, 收花: 3187 次
舊 2006-08-26, 03:15 AM   #5 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

局域網防止網路執法官P2P終結者等ARP欺騙攻擊的軟件Anti Arp sniffer 2.0

局域網防止網路執法官P2P終結者等ARP欺騙攻擊的軟件Anti Arp sniffer 2.0

在局域網中難免受到一些人的惡意攻擊,也許是想霸佔網路資源(呵呵,搶帶寬上網啊),也許是出於嘗試新軟件的好奇,總之這都給我們正常的網路使用帶來不少麻煩。
  一般攻擊者會使用如同「網路執法官\網路剪刀手\網路特工\P2P終結者」這類的軟件,發送資料包改變ARP快取記憶體中的網路閘道器ip對應的MAC卡位址,導致找不到真正的網路閘道器而不能連如internet。原來解決這種攻擊的辦法是修改自己的MAC卡位址,使得攻擊者暫時失去真正的目標,然後重新連入網路,獲取網路閘道器的正確MAC卡位址,以便在以後被攻擊後好恢復網路。
  方法如下:進入到虛擬的DOS模式下ping自己的網路閘道器,然後用arp -a命令可以看到快取記憶體中網路閘道器對應的MAC卡位址,然後記錄下來。當再次受到攻擊導致無法上網時候可以在DOS下用arp -s 網路閘道器ip 網路閘道器MAC卡位址的方式手動建立映射關係重新恢復和網路閘道器的通信。
  但是這種方法在碰到惡意的連續攻擊的情況下是很麻煩的,嚴整影響了正常使用,因為你不得不常常去修改你的快取記憶體。推薦使用ColorSoft出的Anti Arp sniffer小東西,使用起來很簡單,直接把你記錄到的網路閘道器正確MAC填進去,在把自己的網卡MAC填進去,然後打開自動防護和防護地址衝突就可以了,他會自動過濾掉攻擊的欺騙資料包,從而使你網路更穩定。呵呵,再也不怕因為攻擊而遊戲掉線了。現在Anti Arp sniffer出到了2.0版,但是感覺還是不夠方便,不能自動獲得當前本機的網卡MAC,在受到連續攻擊的時候不停彈出受攻擊的提示,十分礙眼。不過總體說來還是不錯的好東東了。
本人測試後 發覺它像網路防火牆一樣會記錄攻擊者的MAC卡位址,儘管是攻擊者偽造出來,但功能是挺好的,希望以後版本能真正檢測到攻擊者(有點難度)


菜鳥圖解如何防止ARP攻擊
圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_e662162ad72ff2c.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_7254f871fcc3c92.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_aa68bf3b8fd4048.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_d042f0b229a7c14.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_b2b513d85ba59af.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_68344f44917f4d2.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_431ac756e282fbd.jpg

圖片:
http://bbs.crsky.com/1128632305/Mon_0607/6_159318_f5d40af485e7265.jpg

局域網的用戶多了,什麼人也有。經常有些鳥人用什麼網路執法官來搞搞事,想防範的方法也很多,現在圖解一下,如何用更改網卡地址來防止ARP攻擊(在XP系統下)。
順便提供一下防止ARP攻擊的綠色中文軟件。是(AntiARP)
psac 目前離線  
送花文章: 3, 收花文章: 1624 篇, 收花: 3187 次
舊 2006-10-11, 05:30 PM   #6 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

命令行 Arp
Arp
顯示和修改「位址解析協議 (ARP)」快取記憶體中的專案。ARP 快取記憶體中包含一個或多個表,它們用於存儲 IP 位址及其經過解析的乙太網或令牌環物理位址。電腦上安裝的每一個乙太網或令牌環網路適配器都有自己單獨的表。如果在沒有參數的情況下使用,則 arp 命令將顯示幫助訊息。

語法
arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]

參數
-a[ InetAddr] [ -N IfaceAddr]

顯示所有接頭的當前 ARP 快取記憶體表。要顯示特定 IP 位址的 ARP 快取記憶體項,請使用帶有 InetAddr 參數的 arp -a,此處的 InetAddr 代表 IP 位址。如果未指定 InetAddr,則使用第一個適用的接頭。要顯示特定接頭的 ARP 快取記憶體表,請將 -N IfaceAddr 參數與 -a 參數一起使用,此處的 IfaceAddr 代表指派給該接頭的 IP 位址。-N 參數區分大小寫。

-g[ InetAddr] [ -N IfaceAddr]

與 -a 相同。

-d InetAddr [IfaceAddr]

刪除指定的 IP 位址項,此處的 InetAddr 代表 IP 位址。對於指定的接頭,要刪除表中的某項,請使用 IfaceAddr 參數,此處的 IfaceAddr 代表指派給該接頭的 IP 位址。要刪除所有項,請使用星號 (*) 通配符代替 InetAddr。

-s InetAddr EtherAddr [IfaceAddr]

向 ARP 快取記憶體新增可將 IP 位址 InetAddr 解析成物理位址 EtherAddr 的靜態項。要向指定接頭的表新增靜態 ARP 快取記憶體項,請使用 IfaceAddr 參數,此處的 IfaceAddr 代表指派給該接頭的 IP 位址。

/?

在命令提示字元下顯示幫助。

註釋
‧ InetAddr 和 IfaceAddr 的 IP 位址用帶圓點的十進制記數法表示。

‧ EtherAddr 的物理位址由六個字節組成,這些字節用十六進制記數法表示並且用連字元隔開(比如,00-AA-00-4F-2A-9C)。

‧ 通過 -s 參數新增的項屬於靜態項,它們不會 ARP 快取記憶體超時。如果停止 TCP/IP 協議後再啟動,這些項會被刪除。要創建永久的靜態 ARP 快取記憶體項,請將適當的 arp 命令置於批處理文件中,並使用「任務計劃」在啟動時執行該批處理文件。


示例
要顯示所有接頭的 ARP 快取記憶體表,可鍵入:

arp -a

對於指派的 IP 位址為 10.0.0.99 的接頭,要顯示其 ARP 快取記憶體表,可鍵入:

arp -a -N 10.0.0.99

要新增將 IP 位址 10.0.0.80 解析成物理位址 00-AA-00-4F-2A-9C 的靜態 ARP 快取記憶體項,可鍵入:

arp -s 10.0.0.80 00-AA-00-4F-2A-9C

返回頁首
格式圖例

格式 意義
斜體
用戶必須提供的訊息

粗體
用戶必須像顯示的一樣準確鍵入的元素

省略號 (...)
可在命令行中重複多次的參數

在括號 ([]) 之間
可選專案

在大括號 ({}) 之間;將選項用管線 (|) 隔開。例如:{even|odd}
用戶必須從中只選擇一個選項的選項組

Courier font
代碼或程式輸出
psac 目前離線  
送花文章: 3, 收花文章: 1624 篇, 收花: 3187 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 05:50 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2018, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1