暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ARP毒化攻击防御配置演示

爱婷如命一生一世 2018-10-12
613


众所周知,在大部分的局域网攻击中,都是利用ARP欺骗原理,当然还有DHCP_dos攻击等手段。

有些运维人员开启了防火墙或者360以及管家之类的软件,在实战中虽然开启了也不一定能防御ARP攻击!因为好多软件是默认不开启的!即使是开启这样的功能,也会对网卡转发报文的效率产生影响,接下来,我就分享下ARP欺骗攻击的原理以及精确的防御方法。


ARP欺骗断网攻击

ARP协议在出现的不久后,有人就发现了这个协议是一根筋的思维,何为一根筋,我们慢慢道来........

首先,通常在实施攻击前我们会利用嗅探工具进行扫描(前期已做分享。)

现在,我利用图中的攻击者去攻击我的真实主机 10.0.8.26/24



打开kali linux 输入以下命令。


我的真实主机也一直在长ping网关进行观察:

实施攻击的时候,我们发现在Ping网关的界面中出现了请求超时,并且你在浏览浏览器的时候也会出现访问不了的故障!


crtl+c停止攻击,看到界面中的网络已恢复!虽然我们开启了360之类的防御软件,但是没有开启特殊防护功能是无法防御的!


这种攻击的原理在于ARP欺骗。ARP这个地址解析协议协议在局域网中我们常常能看到,这种基础协议的作用无非就是通过目的IP地址,请求对方MAC地址的一个过程!这个过程过于基础,这里不做详细解释。

ARP属于一个泛洪的报文,目标mac地址是全F。

取决于交换机的工作原理,交换机见到全F的报文就会形成群发操作,设备时分不清这个是正常流量还是攻击流量!

我们来看下这张图,当服务器想去访问10.0.1.4/24的主机2的时候,在局域网中服务器是不知道主机2在那里,它就会发送一个ARP请求报文,由交换机从除了流入端口外的所有端口转发出去,形成广播报文,等待10.0.1.3的mac地址回应。



在ARP回应报文中携带了主机2的mac地址返回给服务器的时候,我们就可以发送ARP欺骗攻击了。利用技术手段让黑客这台主机发送ARP回应报文,伪装成10.0.1.4这台主机。

在众多网络协议中,ARP这个协议不算是聪明的一类,在它的规则中,任何人发送一个报文并且最后回应道到设备的,我就相信谁的报文

所以,黑客技术利用了ARP协议的这一BUG,即使你服务器没有发送ARP请求,我也可以毫无顾忌的发送ARP回应报文(单播报文),服务器设备还是相信并且刷新自己的MAC地址表,这就造成了即使真正的数据报文回应到服务器上也会很快的被虚假Mac表覆盖掉,而交换机又不知道这个Mac 地址是真是假,就把来自服务器的数据报文转发给黑客的那台主机了。

这时,你就不能正常访问互联网了。原因就是黑客欺骗了你,让你这台主机以为他就是网关了。

我们可以在arp -a中,能看到主机的网关地址的真实地址。

而被攻击后,就变成了攻击者的Mac地址了。

稍微高明的黑客会让你的数据通过,并且保留你的数据报文,进行嗅探和挖掘。这样就很麻烦了,黑客就可以进行对这些数据进行篡改,限速等等......黑客一是会欺骗你的主机冒充网关,二是欺骗网关冒充你的主机。


ARP两头哄骗技术图解

黑客的攻击机首先会毒化网关,不停的发送arp回应报文称自己是服务器2.毒化网关的ARP缓存表。


黑客再发送arp回应报文给1.40 冒充网关欺骗1.40,毒化服务器2,这样的话,设备就会覆盖当前(后来的优先)的arp表,也叫两头哄骗技术。




最后造成的结果,就是服务器如果想要访问互联网,那么数据一定是经过黑客的那台主机的路径进行访问,黑客那台主机再开启转发功能的话,将你的数据转发给10.0.1.1,那么你是绝对不会察觉到断网的,这样他就可以随心所欲的捕获和限制的你业务流量了。



Kali linux 开启转发功能

我们模拟黑客那台主机,捕获到用户业务数据后,攻击时让用户察觉不到断网,查看用户数据报文。

开启 kali linux 路由转发报文功能

默认是不开启的。如果输入0就代表了关闭路由转发报文功能。

root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward


在实施攻击前,我看下局域网内的一个主机真实的网关Mac地址:在我实施攻击之后,我们可以观察到这个网关的地址会变成攻击者的网卡对的mac地址。而且用户不会察觉到断网。




小技巧

在Linux中我们使用crtl+shift+t的快捷键可以快速的切终端窗口

在实施攻击之后,我们发现局域网的这台受害者主机的mac地址发生了变化。变成了Kali Linux主机的网卡的mac地址。


演示两头欺骗攻击演示。

除了欺骗受害者冒充网关外,还要毒化网关,告诉网关自己是服务器2。这个实验可以在真机上模拟,为了不使局域网其他真实主机攻击影响,我决定在ENSP模拟器中模拟这次实验。具体拓扑如下:

在局域网中,如果想要实现对数据的截获,必须要进行ARP欺骗,因为用户访问互联网,数据流的方向一定是转向3层接口,不经过局域网其他主机,因此这里的攻击手段主要是ARP欺骗。

在Kali linux 发送ARP回应报文,告诉网关,自己是10.0.8.200这台主机。


再次发送一个ARP回应报文给10.0.8.200这台主机,告诉这台主机自己是网关...... 形成两头欺骗技术。

这样的话,就会造成,如果8.200这台主机访问互联网数据方向一定是这样的:

回程的数据报文也是相反的。


除了在拓扑中配置接口IP地址外,还要在R2上配置一条静态路由,将路由方向指向拓扑中的网关地址:

[R2]ip route-static 0.0.0.0 0.0.0.0 10.0.8.201  (可选)

为的是访问环回接口---后续实验结果用不上

这里我需要解释的是,为何这个桥接的kali linx攻击主机的mac地址是我的真实无线网卡地址呢? 我可以证明下:

站在Kali linux 中去Ping一下8.200,使其形成arp缓存表。

ping完成后,站在R1上查看arp映射表,我们会发现会产生一个同样Mac 地址不同IP的现象,这就说明了,桥接网络时,虚拟机会利用的我无线网卡mac地址实现数据转发。


先让R1访问下3.3.3.3 代表访问公网是正常的。

并且查看arp映射:<R2>dis arp

我们看到其对应的网关Mac地址是:0965结尾的mac地址。


同样,站在网关设备上去看以下8.200的mac地址是631b结尾。

这样才是正常的mac地址表映射。

在确保开启kali linux 转发功能后

①我们实施arp欺骗攻击。毒化网关,告诉其自己是8.200。

我们惊讶的看到网关的ARP表中,8.200的mac地址表变成了攻击主机的mac地址,网关被欺骗了。

②毒化R2的ARP缓存表,冒充自己是网关

观察R2的arp缓存表,其中的网关arp映射表已被毒化:

这样造成的结果,就是数据流方向就是经过了攻击机。

因为是桥接网卡原因,如果站在R2上去访问3.3.3.3是经过我的网卡,是访问不了的,因此这里我只是访问10.0.8.201,站在攻击主机上看看有没有经过的报文。

站在R2上去长ping 网关地址:


后台运行wireshark抓包软件。

我们在攻击机中利用抓包软件可以看到客户机发送的Icmp 报文。这就证明了我捕获到了相应的数据报文。


不仅仅能捕获ICMP协议报文,还可以捕获telnet报文:

①在网关设备中开启telnet功能(实战中的华为Telnet功能是默认不开启的。)

在AAA模式下新增一个用具,等级为3,设置密文密码。

[R1]aaa

[R1-aaa]local-user fengxin privilege level 3 password cipher 123.com!

[R1-aaa]local-user fengxin service-type telnet

②进入到虚拟链路中设置认证方式为aaa。

[R1]user-interface vty 0 4

[R1-ui-vty0-4]authentication-mode aaa

查看telnet的服务状态:s5720s系列的交换机默认是不开启的,我们需要开启它!


开启后,我们telnet登录设备,最后看看能不能抓到这些设备账户和密码。

攻击保持,在抓包软件中过滤Telnet协议,我们就能看到R2连接网关的账户和密码了。

我们一个个拆取字节,就可以抓取到账户和密码了



在抓包软件中进行分析,追踪流----tcp连接


我们就可以看到分析出来的账号和密码了,存在TCP/IP握手机制,账号需要-1。我们就可以明明白白的看到账号和密码,就连你进入到系统之中,操作了什么我都可以看到!这样网络隐私就被公之于众!





ARP毒化防范


局域网中单单存在ARP欺骗,我们在二层交换机中可以设置dchp snooping和arp动态检测。

如果想要实现防御ARP泛洪攻击,我们可以配置arp 限速(一个接口每秒接收arp报文限制数量)。

小企业中的往往会部署着许多傻瓜式二层交换机,这样只能在每个客户端中开启360安全卫士局域网防护功能或者电脑管家。开启后,再次攻击的哈,会有提示拦截攻击提示!



DHCP_snooping防御配置演示


但是这个实验在ENSP中做,测试的时候并不生效,真实物理机完全生效,这里只做配置演示


前提是这个交换机上一定有dhcp shoping这个功能。

DHCP Snooping是一种是一种DHCP安全技术,能够有效防止网络中仿冒DHCP服务器的攻击,保证客户端从合法的服务器获取IP地址,而且能够记录DHCP客户端IP地址与MAC地址等参数的对应关系而生成绑定表,同时还可以防范各种基于DHCP服务的攻击。


交换机中开启DHCP 功能

[HeXin]dhcp enable 


开启DHCP Snooping功能


根据这张拓扑图,来演示我们的dhcp snoping配置实验。



核心交换机上开启DHCP功能

[HeXin]dhcp enable 


在vlan接口下启用DHCP全局模式

[HeXin]interface vlan1

[HeXin-Vlanif1]dhcp select interface 

[HeXin-Vlanif1]dhcp server dns-list 202.106.0.20

针对vlan1上开启dhcp snooping功能

[HeXin]dhcp snooping enable 

[HeXin]dhcp snooping enable vlan 1

这里我指的是针对vlan1上开启dhcp snooping功能


在交换机的接口中开启dhcp snooping

[HeXin-GigabitEthernet0/0/2]dhcp snooping enable


DHCP Snooping能够实现“信任功能”和“基本侦听功能”。我们后续文章会详细介绍。


测试客户端是否能动态获取地址:


开启DHCP snooping功能之后,交换设备中会形成一张DHCP映射表:

华为官方是这样介绍的:DHCP Snooping基本功能就是能够保证客户端从合法的服务器获取IP地址,而且能够记录DHCP客户端IP地址与MAC地址等参数的对应关系进而生成绑定表。

[HeXin]display dhcp snooping user-bind all 

我们能看到交换机所分配的IP地址会对应一个PC的mac地址和所在的交换端口以及对应的vlanID。

用户从这个接口流入DHCP报文,接入层交换机会将相关信息会记录在这张表中,

 


这样的话如果流入的dhcp报文中不符合这些信息,就认为其实欺骗报文,直接丢弃操作!

除了开启DHCP Snooping功能外,我们可选交换端口中的DAI动态ARP检测

每个接入层的PC端口都需要配置DAI动态ARP检测。

使能动态ARP检测丢弃报文警告功能。(可选)

[HeXin-GigabitEthernet0/0/2]arp anti-attack check user-bind enable 

开启这个功能后,结合DHCP Snooping这张唯一有权威性的映射表去检查报文的mac地址等参数。

设置告警阈值。(可选

作用防止泛洪的ARP报文流入交换机拖垮性能。

[HeXin-GigabitEthernet0/0/2]arp anti-attack rate-limit enable

默认开启的告警阈值是:每秒100个arp响应报文。

我们也可以指定速率,举例,每5秒检查一次,超过每秒200个arp报文流入就直接将报文丢弃。

[HeXin-GigabitEthernet0/0/2]arp anti-attack rate-limit 200 block timer 5 



文章转载自爱婷如命一生一世,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论