GB | BIG5
|
| 首頁 > 網絡管理 > 互聯網技術 > 正文 |
 |
| IP MAC捆綁原理及缺陷 |
| 本文出自:清華BBS 作者: (2001-10-18 10:00:01) |
路由器從外面收到發給子網的包時,直接用其事先存儲的 ARP 表查出對應 MAC 地址而以這個MAC
地址為目的MAC地址在子網內發包 , 這樣沒有注冊的網卡就收不到外面來的包. 但這種方法有缺
陷,就是對發出的包不檢查,即使網卡MAC 是未登記的, 也可以向外發數據包,而且可以用偽造
的IP, 當然有的路由器檢查源IP的范圍, 這時候偽造的IP也必須屬子網內的IP.
我們這裡的路由器則更土, 把沒有登記的IP 對應的 MAC 設為23456789AB , 所以只要把網卡
的 MAC 改成這個通用 MAC , 就可以以任何沒有登記的 IP 出去, 至錢就不知道記在哪個倒
霉鬼的頭上了.
從根本上說,採用 IP-MAC 來防止IP 盜用是不行的,所有的網卡 MAC 都可以修改而且更讓人吃
驚的是網卡發出的包的源 MAC 地址並不是網卡本身寫上去的, 而是應用程序提供的,只是在通
常的實現中,應用程序先從網卡上得到了MAC地址,每次發送包的時候用這個MAC 地址作為源MAC
地址而已,所以完全可以不用! 網卡帶的配置程序修改MAC僅僅靠修改網絡的驅動程序就可以改MAC .
在 pkt-driver + win31 的環境下我已經測試過的確是可以的,win95 下利用 NDIS 也是可以的。
對基連接的TCP協議來說,偽造IP就不是太容易, 這就涉及到 TCP 連接序號的預測的問題,
這裡面有很多的學問了,國外有很多Hack站點有這些方面問題的討論.
這個嘛....說實話,我也沒幹過....
只是曾和這樣的人聊過,方法:
1.直接對網卡操作,改其EPROM內容(以太網卡的地址正是存在此)
2.現在有的網卡據說驅動就能改網卡地址,以前有人討論過的,你可找找...
其實我也很想實驗下,苦無法詳細了解具體細節,老兄要是
有了進一步的體會心得,還望不吝賜教.
初次發表文章,我這裡獻醜了,先將我對王卡的一些研究與大家分享。
我們知道網卡有一個唯一表示其地址的物理地址,該地址寫在ROM中(不管該ROM
是EEPROM或ROM),在網卡組幀時需要將該網卡地址寫入幀中,那網卡在寫入
幀中時是否是將MAC地址直接從ROM中寫入幀的呢?答案是否定的。
實際上在網卡中有一地址寄存器,該? σ布親AC地址,網卡組幀時所用的MAC
地址即從此處讀出,然由硬件寫入幀中,而地址寄存器的內容則是程序在網卡
初始化時從ROM中讀出寫入的,用圖表示如下:
| ROM | |地址寄存器 | | 幀 |
--------------- -------------- -------
&nbs! p; | | | |
|-----程序----------------| |硬件------
由此過程可以看出,程序部分是唯一一部分可以用來修改MAC的部分,即我們可以截取網卡驅動程序
中該部分代碼,進行修改以修改MAC。
如果HUB換用Switch, 某些Switch可以鎖定端口和MAC, 某個端口只允許指定
MAC接入, 再加上IP-MAC綁定, 還要加上將Switch鎖起來, 情況回好些. 這時
別人要盜用IP除了要改IP,改MAC,還要將機器搬過來換網線:).
有這個問題, 好? CP/IP啟動時會先發ARP廣播一下自己的IP和MAC(?) 不知到95/NT & nbsp;是
否會檢測到這個. 我的試驗是在兩台Linux上做的(許多實驗室都用Linux跑router) 至少
ifconfig兩台機器都沒有給出信息(在前台, 沒看log). 這裡的關鍵在那合法 IP的MAC地址
是在router處定好的(static), router不會發ARP查詢 MAC, 因此至少 從router外來的包ARP不
會亂(也就是一直用合法IP機的MAC), 而盜用IP的目的當然不會 是在subnet內轉悠 :-) 相當
盜用IP機進入promisc模式, 從合法IP機的包中取出屬 自己的IP包(port不對的丟棄). 經實
驗, ping, traceroute等ICMP雙方(合法非法IP機)可以用, UDP也可以(DNS實驗). 但TCP不
行(telnet, ftp等), 我看看source到底是怎回事, 現在是合法IP機TCP可用, 盜用者不可用...
要是TCP也可以了, 那盜用IP豈非很簡單, 根本不用改什MAC, ifconfig/route 兩條命令就搞定了...
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
|
|
|
|
 |
★ 樊強制作 歡迎分享 ★ |