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地址段。
真的是相当方便啊!