本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途!
ARP欺骗
ARP中间人攻击也称ARP缓存攻击。为了捕获那些本来不应该被kali本机看到的流量数据,我们需要想办法把不属于kali的数据包截获发送到kali本地系统上,也叫拦截其他主机收发的数据,然后再把原有数据转发给原本的收发双方,从而实现流量捕获(不同于上节课的kali本机流量捕获!)。换言之,这是业内普片采用的地址解析协议(ARP)缓存攻击,也称ARP欺骗攻击。
ARP演示
比如ubuntu(192.168.31.178)发送数据到xp(192.168.31.50)。一个数据包在发送之前,ubuntu会确定xp目标主机的ip地址以及mac地址,一旦确定,才会进行发送数据包。
而这个过程是:
如果ubuntu的ARP缓存条目列表中没有xp的ip和MAC地址。Ubuntu就会骚动起来,拿着喇叭在本地网络上广播,相当于在那喊(谁的ip地址是192.168.31.50,我要送你一封情书,嘿嘿!),然后本地网络中某个妹子(xp)听到了,骚动的回答(你妹的,我的ip是192.168.31.50,另外我的mac地址是00:0c:29:a9:ce:92,发我这来)。
如果ubuntu的ARP缓存已经存在xp的ip和MAC地址(之前连接过)。Ubuntu此时就不会在本地网络大声喊麦了(不用广播),而是直接拿起存好的xp电话号码(已经在ARP缓存中存好的ip),进行联系,实现发送数据包。
但不管怎样,数据包的收发都需要目标设备的ip地址和对应的MAC地址。
那么我们来个第三者kali,使用ip转发,开启ARP缓存攻击,就会将ubuntu上ARP中xp的ip和mac变成kali的ip和mac;同时也会将xp中ARP缓存的列表ubuntu修改成kali的ip和mac。这样就实现了kali截获ubuntu发往xp,或者xp发往ubuntu的数据流量。
测试案例:ubuntu靶机登录xp靶机的Filezilla的ftp服务,使用ARP缓存攻击来截获登录信息!
路由转发
在诱使ubuntu靶机把流量发送到我们kali之前,需要打开kali的路由转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
如果没有进行路由转发,整个本地网络就会出现Dos拒绝服务,导致ubuntu无法正确发送数据,xp也无法接收数据。我们不是来破坏网络,而是默默的在中间截取他们之间的情话,然后黯然欣喜即可!
使用arpspoof工具将kali伪装成xp
Kali终端输入:
arpspoof -i eth0 -t 192.168.31.178 192.168.31.50
解释:-i设置本地网络接口、-t靶机发送方ubuntu、靶机接收方xp(其实是kali伪装的),kali在这里充当中间人,伪装成xp接收方,使用我们的mac作为xp接收方的mac,实现截获!
上面的arpspoof(kali)立即开始向ubuntu发送方发送arp(伪装成xp)应答,
现在继续开启一个arpspoof实例,kali新终端输入:
arpspoof -i eth0 -t 192.168.31.50 192.168.31.178
解释:kali继续充当中间人,-t靶机发送方xp,靶机接收方ubuntu(其实是kali伪装的),告诉xp我们kali就是接收方Ubuntu,此处使用我们kali的mac来充当接收方ubuntu的mac,实现截获!
查看ubuntu上的ARP缓存列表
之前kali、xp都和ubuntu通信过,这样才会在ubuntu的ARP缓存中存储kali、xp本身的ip和MAC地址。可以采取在xp、kali终端中 ping ubuntu的ip实现通信 (ping 192.168.31.178)
Ubuntu终端输入:
arp -a
发现kali(192.168.31.206)的MAC地址(00:0c:29:1a:7f:b9)和xp(192.168.31.50)的mac是一模一样的!这就意味着ubuntu发完xp的数据会先发给kali主机,然后kali主机又将数据转发给xp,这个过程中,kali就使用wireshark将流量捕获、分析!
在kali终端中开启wireshark流量捕获
Kali终端中输入:
wireshark
在ubuntu中登录xp的FTP服务器(实现流量传输的一个例子)
Ubuntu终端下输入:
ftp 192.168.31.50
查看kali的wireshark捕获的数据结果
这是原本的所有流量捕获!
在规则过滤器中填写:FTP进行过滤查看
你仔细看看,kali这次捕获的是当前网段中两位其他主机(ubunu和xp)之间的通信,而不是kali本身。这就是ARP中间人缓存攻击的厉害之处,因为只要在同一个网段中,你和他人的所有通信数据都有可能被第三方违法者使用ARP欺骗截获,从而导致信息泄露!
到目前为止,我们已经学会了ARP的基础知识,以及如何进行ARP缓存攻击渗透同一网段中的其他主机,从而截获目标主机间的流量数据,获取重要敏感信息!
所有的渗透测试旨在于告诉我们网络信息安全不可忽视,切勿用于违法目的!后果自负!