MAC地址欺騙
MAC地址欺騙(或MAC地址盜用)通常用於突破基於MAC地址的局域網訪問控制,例如在交換機上限定只轉發源MAC地址修改為某個存在於訪問列表中的MAC地址即可突破該訪問限制,而且這種修改是動態的並且容易恢復。還有的訪問控制方法將IP地址和MAC進行綁定,目的是使得一個交換機端口只能提供給一位用戶的一台主機使用,此時攻擊者需要同時修改自己的IP地址和MAC地址去突破這種限制。
在不同的操作系統中修改MAC地址有不同的方法,其實質都是網卡驅動程序從系統中讀取地址信息並寫入網卡的硬件存儲器,而不是實際修改網卡硬件ROM中存儲的原有地址,因此攻擊者可以為了實施攻擊臨時修改主機的MAC地址,事后很容易恢復為原來的MAC地址。
Windows系統下修改MAC地址的方法
在Windows中,幾乎所有的網卡驅動程序都可以從注冊表中讀取用戶指定的MAC地址,當驅動程序確定這個MAC地址有效時,就會將其編程寫入網卡的硬件寄存器中,而忽略網卡原來的MAC地址。
在網卡的【配置】-【高級】-【網絡地址】菜單項中修改,系統會自動重啟網卡,修改后可以在控制台窗口中鍵入“ipconfig /all”命令檢查網卡地址是否已成功更改,如果選擇【不存在】則恢復為原有MAC地址。該方法針對有線網卡有效,但是無線網卡默認沒有“網絡地址”,無法使用這種方法修改。
方法一
實驗:
新建一個Windows 7 x64 家庭版的虛擬機,網卡使用橋接模式;
然后在網絡和共享中心打開更改適配器設置;
右鍵,屬性;
點擊配置;
修改MAC地址並確定后,系統會自動重啟網卡;
在命令行輸入“ipconfig /all”可以看到網卡的地址已經修改成功;
選擇“不存在”后,再次查看發現已經恢復為原有MAC地址;
方法二
可以看到在無線網卡的配置里沒有網絡地址的鍵值;
直接修改注冊表,生成與第一種方法相同的針對無線網卡的“網絡地址”設置。
運行注冊表編輯器(regedit.exe),在“\HKEY_LOCALMACHINE\SYSTEM\ControlSet001\Control\Class”鍵下搜索網卡的描述信息,定位網卡配置選項在注冊表中的位置;
無線網卡的對應配置選項在注冊表項“HKEY_LOCAL_MACHIN\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0003”內;
然后在“Ndi\params”子項下新建子項“NetworkAddress”,並新增如下所有鍵值:
(默認) |
REG_SZ |
(數值未設置) |
default |
REG_SZ |
000000000000 |
LimitText |
REG_SZ |
12 |
Optional |
REG_SZ |
1 |
ParamDesc |
REG_SZ |
網絡地址 |
type |
REG_SZ |
edit |
UpperCase |
REG_SZ |
1 |
即可在無線網絡連接的配置選項中生成“網絡地址”菜單項,並可自由修改MAC地址;
當地址修改成功后,注冊表會自動在上述表項(即0003)中增加一個“NetworkAddress”的鍵值;
也可以將以下文本導入注冊表(保存為.reg后綴的文件名),也可產生同樣的效果。
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0003\Ndi\Params\NetworkAddress]
“default” = “000000000000”
“optional” = “1”
“ParamDesc” = “網絡地址”
“type” = “edit”
“UpperCase” = “1”
“LimitText” = “12”
可以看到無線網卡中出現了網絡地址的鍵值,進行修改;
可以看到注冊表中多了MAC地址;
但是在命令行輸入“ipconfig /all”查看的時候發現MAC地址並沒有改變;
原因查找:修改網卡地址時需要注意前三個字節表示網卡廠商,如果修改后的網卡地址不屬於該廠商,修改后的地址可能會無效,系統只會設置有效的地址,所以必須檢查修改后的地址是否生效,以及無線網的MAC值的第二個數只能是2、6、A、E中的一個,否則修改就不會起作用;
再次嘗試修改;
修改成功;
Linux系統下修改MAC地址的方法
方法一
在Linux系統下修改MAC地址十分方便,只要網卡的驅動程序支持修改網卡的物理地址,即可應用三條“ifconfig”命令完成地址修改任務:①禁用網卡;②設置網卡的MAC地址;③啟用網卡。(論將大象放入冰箱的步驟= =);
eth0是網卡名,ether表示是以太網類型的網卡,“0000aabbccff”是隨機設置的一個地址,使用“ifconfig eth0”即可查看地址修改是否已經生效。不過使用該方法有一點不方便的是,用戶需要自行保存原有的MAC地址,然后再用相同的方法恢復。
三條命令:
ifconfig eth0 down
ifconfig eth0 hw ether 0000aabbccff
ifconfig eth0 up
實驗:
打開kali-linux虛擬機;
方法二
使用地址修改工具macchanger,他不需要用戶保存原有地址即可自動恢復。不但可以修改為原有MAC地址為同一個廠家的隨機MAC地址、修改為不同廠家但是與原有地址屬於同一類型的隨機MAC地址、修改為不同廠家不同類型的隨機MAC地址或修改為完全隨機的MAC地址,而且還支持查詢各知名廠家的MAC地址段。
真的是相當方便啊!