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地址段。

  真的是相当方便啊!

MAC地址欺骗(原理及实验)的更多相关文章

  1. mac地址泛洪攻击的实验报告

    案例介绍: PC A 访问 本网络的一台FTPserver主机,中间人进行arp的投毒,获取PC-A和FTPserve之间的回话记录,截获用户名和密码. 实验拓扑:

  2. 分分钟学会系列:mac地址泛洪攻击实验

    一.实验目的: 通过实战深入理解mac地址泛洪攻击的原理. 二.实验原理: 交换机中有一张非常重要的表,叫做mac表,这个表是一个硬件组成的表,主要是完成快速转发.mac表有大小限制,不同的交换机的m ...

  3. 交换机工作原理、MAC地址表、路由器工作原理详解

    一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ...

  4. Mininet实验 MAC地址学习

    实验目的 了解交换机的MAC地址学习过程. 了解交换机对已知单播.未知单播和广播帧的转发方式. 实验原理 MAC(media access control,介质访问控制)地址是识别LAN节点的标识.M ...

  5. Huawei-R&S-网络工程师实验笔记20190608-VLAN划分基础(基于端口、MAC地址、子网地址、协议)

    >Huawei-R&S-网络工程师实验笔记20190608-VLAN划分基础(基于端口.MAC地址.子网地址.协议) >>实验开始,先上拓扑图参考: 一.基于端口划分VLAN ...

  6. Mininet实验 MAC地址学习分析

    拓扑图 学习过程分析 首先交换机A和交换机B一开始的MAC地址表都是空的. 此时主机11向主机33发送一个数据帧. 数据帧会先到达交换机A,交换机A会获得主机11的MAC地址和端口号.(此时交换机A的 ...

  7. ARP防火墙绑定网关MAC地址预防ARP攻击和P2P终结者

    [故障原理]  要了解故障原理,我们先来了解一下ARP协议.  在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和M ...

  8. TCP连接三次握手协议,释放连接四次挥手,以及使用 awl伪造mac地址进行多线程syn洪泛攻击。

    这个TCP连接就是一次追女生-谈恋爱-分手,追求比分手简单,但是分手比追求复杂.哥,谈了半年的女朋友,在就快要成功了的时候分了,原因是因为有人在后面该老子背后搞SYN洪泛攻击,最后女朋友丢失了.学会T ...

  9. Cisco 绑定mac地址

    在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址(网卡硬件地址),方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址(网 ...

随机推荐

  1. Excel决定吃什么

    1.Excel填充 在第一列填充1到100 (1)下拉填充 (2)填充——自动填充——序列 2.第二列加权填上自己吃的午饭 3.vloopup函数(列查找) 几乎都使用精确匹配,该项的参数一定要选择为 ...

  2. CSS躬行记(2)——伪类和伪元素

    一.伪类选择器 伪选择器弥补了常规选择器的不足,能够实现一些特殊情况下的样式,例如在鼠标悬停时或只给字符串中的第一个字符指定样式.与类选择器类似,可以从HTML元素的class属性中查看到,但伪选择器 ...

  3. springboot集成通用mapper详细配置

    通常,我们利用mybatis写持久层方法.要么按照传统定义mapper方法,定义xml文件的方式,全部手写.要么需要通过mybatis-generator逆向工程插件生成大量的xxxExample文件 ...

  4. Spring装配Bean的三种方式+导入和混合配置

    目录 Spring IoC与bean 基于XML的显式装配 xml配置的基本结构 bean实例的三种创建方式 依赖注入的两种方式 构造器注入方式 setter方法注入方式 利用命名空间简化xml 基于 ...

  5. IntelliJ IDEA 激活码 [已购买,分享给码友]

    一.前言 笔者在网上找了一圈,各种方法都试过了,之前那种在网上随便找个注册码,过了一段时间就被封了,想了想还是经常用的和朋友一起购买了,方便日后使用 二.下载最新的 IDEA 其实也可以从老版本直接升 ...

  6. C++中的字符串切片操作

    string str = "hello"; str.substr(0,2); //输出"he", 表示[0,2)

  7. 1007 Maximum Subsequence Sum (25 分)

    1007 Maximum Subsequence Sum (25 分)   Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A ...

  8. NAT及静态转换,动态转换及PAT

    NAT及静态转换,动态转换及PAT 案例1:配置静态NAT 案例2:配置端口映射 案例3:配置动态NAT 案例4:PAT配置 案例5:办公区Internet的访问 1 案例1:配置静态NAT 1.1 ...

  9. python中汉字转数字

    #!/usr/bin/env python # -*- coding: utf-8 -*- common_used_numerals_tmp ={'零':0, '一':1, '二':2, '三':3, ...

  10. 震撼!全网第一张源码分析全景图揭秘Nginx

    不管是C/C++技术栈,还是PHP,Java技术栈,从事后端开发的朋友对nginx一定不会陌生. 想要深入学习nginx,阅读源码一定是非常重要的一环,但nginx源码量毕竟还是不算少,一不小心就容易 ...