利用ARP欺骗进行MITM(中间人攻击)

ARP欺骗主要骑着信息收集得作用,比如可以利用欺骗获取对方流量,从流量分析你认为重要得信息

0X01  了解ARP

Arp协议

ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。

以太网(局域网)进行信息传输时,不是根据IP地址进行通信,因为IP地址是可变的,用于通信是不安全的。然而MAC地址是网卡的硬件地址,一般出厂后就具有唯一性。ARP协议就是将目标IP地址解析成MAC地址进行验证通信。

ARP通信原理

每台主机都会在自己的ARP缓冲区建立一个ARP列表(生命周期二十分钟),用于表示IP地址和MAC地址的对应关系。而这份协议信任以太网所有节点,不检查自己是否接受或发送过请求包,只要收到ARP广播包,他就会把对应得IP-mac更新到自己得缓存表,这就导致我们可以不停的向以太网发送ARP广播包,更i性能ip-mac缓存表

 

0X02  实验环境:

win10  IP:192.168.0.101      mac:00:f4:8d:18:de:e8

中间人Kali     IP:192.168.0.104     mac:00:0c:29:cc:35:6b

ubuntu    IP:192.168.0.103     mac:00:0c:29:cc:5d:22

使用工具arpspoof、tcpdump

a)   linux因为系统安全,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,需要修改为1

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

b)   查看arp攻击前win10和Ubuntu的ARP表中对应的mac地址

win10中ARP表的对应关系 

image

Ubuntu中ARP表的对应关系

image

c)    使用arpspoof实现双向欺骗 

  服务通过端口和IP传输数据,IP通过mac地址去寻找对应的机器发送数据

正常情况下首先去寻找win10自身ARP缓冲区中的列表,找到列表里IP对应的mac地址,如果使用arpspoof更新win10的ARP列表,使的Kali的mac地址与Ubuntu的ip地址成一一对应关系,当win10向想要通信的IP地址发送数据的时候,实则是向Kali发送数据,同理欺骗Ubuntu服务器,从而做到双向欺骗

arpspoof –i eth0 –t 192.168.0.101  192.168.0.103  #参数:-i 指Kali所用网卡,-t 表示攻击目标 使用这条语句得作用:告诉192.168.0.101,我(Kali)是192.168.0.103,工具会更新靶机的ARP表,在表里192.168.103这个IP会和Kali的mac地址对应上

arpspoof –i eth0 –t 192.168.0.103  192.168.0.101  #同上

以上两条命令可合并为一条  arpspoof –r 参数 

毒化两个主机(目标和主机(host))以捕获两个方向的网络流量。(仅仅在和-t参数一起使用时有效)

arpspoof -i eth0 -t 192.168.11.101 -r 192.168.11.3

d)  在靶机上查看FTP服务器的mac地址

WIN10的ARP表

image

Ubuntu的ARP表

image

f)  使用工具tcpdump监听80端口并将所截获数据包导入到1.txt中(如没有1.txt,则自动新建)

tcpdump  -X -i eth0 tcp prot 21 > 1.txt

使用WIN10通过浏览器访问Ubuntu,产生如下数据

image

在文件中查找有用信息,比如user password

g)  结合driftnet和ettercap工具进行进一步攻击

 

h)  防御方法: 将IP和mac地址双向绑定,设置为静态绑定

原文地址:https://www.cnblogs.com/sup3rman/p/12324512.html