2006年12月17日 星期日

ARP、Netcut、arp spoofing

這幾個星期宿舍有部分地區出現ARP攻擊的情況,造成零星災情(癱瘓整個網段或幾寢室不等),為了維護多數使用者的權益,關閉發送ARP攻擊封包的部分網孔(封鎖IP無效,ARP運作在L2),事件發生至此暫時落幕,緊接而來的抱怨癱瘓了網管人員(每個人都裝無辜[凸]),於是又恢復連線,剛開始沒有異狀,直到半夜...!@#$%^&*()@$@%$#^#

Netcut症狀
1.網路時好時壞(5-10分鐘斷一次)
2."修復連線"後正常
3.arp -a指令查到的閘道位址與事實不符

網路上找了一下發現大部分流傳的解決方法是把閘道寫入static arp table,不過這個方法在小弟實測後破功,可能是新版的netcut(2.06)不只會欺騙目標電腦也會欺騙閘道,除非閘道也寫入static arp table不過宿舍設備沒有這個功能,就算目標電腦沒有被欺騙但是閘道會被欺騙,根據網路上的資料顯示目前有做ARP防護的交換器並不多,難道就這樣擺濫嗎?終於我在網路上找到一個用vb寫的arp table清除工具,他會自動去清除ARP Cache的資料,小弟就模仿用Java寫了一個Anti-netcut,這個工具會每隔1.8秒執行一次"arp -d *"指令,當網路程式要連線時找不到閘道MAC會送出詢問,這樣就能修正在閘道上錯誤的MAC,不過這個程式造成網路上ARP廣播封包增加的情況。

說這麼多似乎都沒有講到怎麼抓ARP攻擊,這個要從這些ARP攻擊程式是怎麼來的說起,一直以來我們都認為只有Netcut會造成這樣的情況(因為他比較有名,操作也比較簡單),直到小弟在網路上找到幾篇網咖業者的討論文,內容是說最近某款遊戲的外掛含有ARP攻擊的"附加功能",後來小弟去求證這個消息,發現滿多款外掛都會這樣...!@#$%^&*(%^&#%^*

抓ARP攻擊只有一個方法那就是用Sniffer去看網路上的ARP封包
1.Wireshark(原Ethereal)
2.Anti-arp Sniffer