什么是ARP攻击呢?
它通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取 局域网 上的数据包甚至可篡改数据包,且可让网上上特定计算机或所有计算机无法正常连线。
1、 ARP协议
ARP协议是一个地址解析协议,是通过IP地址获取MAC地址的TCP/IP协议,位于数据链路层,下面用一个简单的图来解析他的通信原理。
主机A想要给主机B发消息,现在只知道主机B的IP地址而不知道MAC地址,这时候主机A就会给交换机发去一个ARP请求,请求包里包含有主机B的IP,交换机会以广播(ff.ff.ff.ff.ff.ff)的形式给同一子网的主机发送广播包。
主机B发现广播包中有自己的IP就会把自己的MAC地址发给主机A,同时交换机也保存了各主机的IP和MAC,下一次通信即可直接通信,ARP七篇就是基于以上实现的,接下来我们加入攻击者主机C。
2、 ARP欺骗
主机A想要给主机C发消息,首先会以广播的形式给子网的所有主机发消息:谁的IP是192.168.0.2,把你的MAC地址发给主机A,这时候主机B就把MAC地址发给主机A,但是只发一次,同时主机C也收到了消息。
它就一直给主机A发消息:我是主机B,我的MAC地址是cc.cc.cc,这就导致了原本缓存的主机B的MAC地址变成了cc.cc.cc,同时路由器里的缓存表也更新了,就导致了主机A不能给主机B发消息。
3、 模拟攻击
场景准备:
- Windows1 ip:192.168.159.131 mac:00-0C-29-5D-38-6C
- windows2 ip:192.168.159.1 mac:00-50-56-C0-00-08
- kali ip:192.168.159.130 mac:
首先要保证各主机之间能相互ping通,如果不能可以关闭防火墙或者更改入站规则(icmpv4),kali作为攻击机要先安装dsniff工具
apt-get install dsniff
关于dsniff工具命令的使用:
-i :表示哪个网卡
-t :要攻击的目标
我们先看通信主机间的原始数据
可以看到主机2中存储了主机1的ip和mac地址,这里我们先记住主机1对应的mac地址。
arpspoof -i 指定网卡 -t 目标IP 通信IP
可以看到主机3一直对主机说:主机2的mac地址是0:c:29:31:d8:6a,也就是攻击者的mac地址,同时我们看一下缓存表里的数据:
这里192.168.159.1所对应的mac地址已经变成了攻击机的了再ping192.168.159.1发现ping不通了。
只是让两台主机之间无法通信,那么如何让主机1实现断网呢,只需要更改一下命令就可以了,加入-r 默认网关
arpspoof -i 指定网卡 -r 默认网关 -t 目标IP
这样就可以实现让目标机器断网了
这种方式对付小白还可以,但是对于安全人员来说就有点不够看了,他们一旦发现ping不通就会开始排查,很容易会被发现,那么如何让主机1的数据包发出去后又能回收到数据包呢。
这时候我们只需要改一下kali里的配置文件即可,要更改文件的路是:/proc/sys/net/ipv4/ip_forward,我们先用cat命令查看一下,发现里面的内容是0,使用echo重定向的方法将0改成1就可以是主机1能ping通但是又没有网络了,因为主机1收到的数据包是攻击者转发给他的,没有实际意义。
进行到这一步你其实可以实现很多事情了,例如主机1发送了登录请求,而这个登录请求是发给你的,里面携带了登录的账号和密码,你可以借此实现许多操作~
题外话
黑客&网络安全如何学习
如果你也对网路安全技术感兴趣,但是又没有合适的学习资源,我可以把私藏的网安学习资料免费共享给你们,来看看有哪些东西。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,100多本网安电子书,最新学习路线图和工具安装包都有,不用担心学不全。