2011年9月6日 星期二

ARP spoofing 解說 (ARP攻擊)

身為一個小小的宿舍網管
基本的必備知識一定要知道
Google了很多一些基本的網路指令
在新生入住的時候最容易有網路的問題
大部分都很好處理
但是比較棘手的就是"IP衝突"
雖然是個網管
但是什麼權限都沒有(要斷網、讓新生能夠重新申請IP之類的)
所以很多東西都要自力救濟
除非對方斷網
不然那個IP將會一直霸佔不放
突然想到「Netcut」這個軟體
它到底可不可行呢?
先從了解這個軟體的原理開始吧!
它是藉由Arp spoofing使目標主機斷網(俗稱ARP欺騙)
這麼文言文!?有聽沒有懂?ARP到底能不能吃呢?請繼續看下去


電腦間無法直接用IP直接建立起橋梁,而必須要經由ARP轉換成MAC才可以在電腦間進行傳輸。
ARP(Address Resolution Protocol),或稱地址解析協議功用是在於IP轉換成MAC。

如果要發送一個封包到網路上
1.找到gateway IP
2.gateway IP 經由arp轉換得mac
3.傳送到網路

接收一個來自網路的封包
1.該封包上有目的地IP
2.gateway 利用arp詢問出該IP正確的MAC
3.發送到電腦

換句話說

你要寄包裹出去
            (封包)
去尋找家裡最近的郵局而郵局會幫你寄出去
(arp轉換成mac)               (gateway)


郵局很貼心地送包裹到你家
郵局收到包裹以後
               (封包)
找到你家在那裡以後親手拿給你
(arp詢問IP正確的MAC)

如果有人發動ARP欺騙的話(攻擊電腦)
就是告訴受害電腦"錯誤的郵局地址"
害那一台電腦找到加油站
加油站就不會幫你寄出去了

另一方面ARP還可以欺騙郵局(攻擊gateway)
跟郵局說受害電腦"搬家"了
所以郵局都把錯誤的包裹寄到錯誤的地址

欺騙的時候會發送大量的封包說"該IP已改成另一個MAC"

所以受害電腦永遠都等不到回應就斷網
即使使用arp -s 這也頂多可以傳送封包到gateway
但是gateway都不會回應它(因為gateway以為它搬家了,封包都傳給錯的地址)
「如果單向欺騙目標電腦是可以解決的,但如果雙向欺騙就.....」
如果有心人士發動更恐怖的"中間人攻擊(man-in-the-middle attack)"
這樣受攻擊的電腦完全不知情(都不會斷網)
也就是紛紛欺騙雙方以後
自己當個小小轉運站
之後把郵局要給電腦的包裹偷偷換成炸彈
這就是一個man-in-the-middle attack








ARP攻擊是難以被發現的,因為都是欺騙的訊息,即使知道MAC那也是假的

現在回過頭來
Netcut對於"IP衝突"有用嗎?
之前發生IP衝突的時候發現有兩個IP都指向同一個MAC

這說明著我問說「有誰是xxx或bbb?」都是同一個人回答「有!」
如果能用第三方電腦使用ARP spoofing讓getway反而能夠將IP指向正確的MAC這樣似乎就能解決問題。

或是用Netcut對兩個IP都進行切斷(也就是進行ARP攻擊),這樣會使的該電腦因為timeout斷網,停止攻擊以後再用衝突的電腦重新連線(這樣可以告訴gateway真正IP的MAC是誰)
如果可以知道netcut實際上用的指令到底是什麼
就可以直接敲指令將gateway指向正牌的電腦了

經過今天的小實驗發現
如果有設定錯誤的電腦先霸佔著IP
這樣後來正常的電腦就會出現IP衝突

而原本正常電腦用好好的
其他人故意去設定IP
什麼事情都不會發生

結論:
錯誤的IP先連接的話
gateway就會先以為他是正確的MAC
而正確的IP先連結
gateway才根本不管之後IP的MAC
除非!!發動 ARP攻擊
用大量的arp封包告訴gateway說是IP的MAC搬家
這樣就使得原本正常的電腦斷網囉~