Section outline

    • 本任务的目的是使用数据包伪造对目标发起 ARP 缓存中毒攻击,使得当两台受害者机器 A 和 B 尝试相互通信时,其数据包将被攻击者拦截并修改,从而使攻击者成为 A 和 B 之间的中间人。这被称为中间人(MITM)攻击。在本任务中,我们的重点在于 ARP 缓存中毒部分。
       
      在本任务中,我们有三台机器(容器),A、B 和 M。我们将使用 M 作为攻击者机器。我们希望让 A 在其 ARP 缓存中添加一个伪造的条目,使得 B 的 IP 地址被映射到 M 的 MAC 地址。我们可以使用以下命令检查一台计算机的 ARP 缓存。如果你想查看与特定接口关联的 ARP 缓存,可以使用 -i 选项。
      $ arp -n
      Address     HWtype  HWaddress           Flags Mask  Iface
      10.0.2.1    ether   52:54:00:12:35:00   C           enp0s3
      10.0.2.3    ether   08:00:27:48:f4:0b   C           enp0s3
       
      有许多方法可以实施 ARP 缓存中毒攻击。学生需要尝试以下三种方法,并汇报每种方法是否有效:
      • 任务 1.A(使用 ARP 请求) 在主机 M 上构造一个 ARP 请求包,将 B 的 IP 地址映射到 M 的 MAC 地址,将该包发送给 A 并检查攻击是否成功;
      • 任务 1.B(使用 ARP 响应) 在主机 M 上构造一个 ARP 响应包,将 B 的 IP 地址映射到 M 的 MAC 地址,并将该包发送给 A 并检查攻击是否成功。同时在以下两种情景下尝试攻击并汇报攻击结果:
        • 情景 1:B 的 IP 地址已经存在于 A 的缓存中
        • 情景 2:B 的 IP 地址未出现在 A 的缓存中。你可以使用命令 "arp -d a.b.c.d" 来删除 IP 地址 a.b.c.d 对应的 ARP 缓存条目
      • 任务 1.C(使用 ARP 免费消息) 在主机 M 上构造一个 ARP 免费数据包,并将 B 的 IP 地址映射 到 M 的 MAC 地址。 请在与任务 1.B 中描述的相同两种情况下发起攻击。
        ARP 免费数据包是一种特殊的 ARP 请求包,当一台宿主机器需要更新其他机器的 ARP 缓存中的过时信息时会使用它。 免费 ARP 数据包具有以下特点:
        • 源和目标的 IP 地址相同,是发出该消息的主机的 IP 地址
        • ARP 头部和以太网头部的目标 MAC 地址都是广播 MAC 地址 (ff:ff:ff:ff:ff:ff)
        • 不期望有响应