地址解析协议(ARP)中毒是一种攻击,涉及通过局域网发送欺骗的ARP消息。也称为 ARP欺骗,ARP中毒路由和ARP缓存中毒.
这些攻击试图将流量从其最初打算的主机转移到攻击者。 ARP中毒通过将攻击者的媒体访问控制(MAC)地址与目标的IP地址相关联来实现。它仅适用于使用ARP的网络.
ARP中毒是一种中间人攻击,可用于 停止网络流量,对其进行更改或对其进行拦截. 该技术通常用于发起进一步的进攻,例如 会话劫持或拒绝服务.
什么是地址解析协议(ARP)?
ARP是一种协议,它将给定的IP地址与相关物理机器的链路层地址相关联。由于IPv4仍然是最常用的互联网协议, ARP通常可以弥合32位IPv4地址和48位MAC地址之间的差距. 它可以双向工作.
给定的MAC地址及其IP地址之间的关系保存在称为ARP缓存的表中。当朝向LAN上主机的数据包到达网关时,网关使用ARP将MAC或物理主机地址与其关联的IP地址相关联.
然后,主机搜索其ARP缓存。如果找到相应的地址,则该地址用于转换格式和数据包长度。如果找不到正确的地址,则ARP将发出请求数据包,询问本地网络上的其他计算机是否知道正确的地址。如果机器使用该地址答复,则如果以后有来自同一源的任何请求,则使用该地址更新ARP缓存.
什么是ARP中毒?
既然您对底层协议有了更多的了解,我们就可以更深入地介绍ARP中毒。 ARP协议被开发为有效的,这导致了严重的 缺乏安全感 在其设计中。只要某人可以访问其目标的本地网络,这相对容易使他们发动这些攻击.
ARP中毒涉及发送 伪造的ARP应答数据包通过本地网络发送到网关. 攻击者通常使用Arpspoof或Arppoison等欺骗工具来简化工作。他们设置工具的IP地址以匹配其目标地址。然后,该工具会在目标LAN中扫描其主机的IP和MAC地址.
一旦攻击者获得了主机的地址,他们便开始通过本地网络向主机发送伪造的ARP数据包。. 欺诈性消息告诉收件人,攻击者的MAC地址应连接到他们所针对的计算机的IP地址上.
这导致收件人使用攻击者的地址更新其ARP缓存。将来的接收者与目标交流时, 他们的消息实际上将发送给攻击者.
此时,攻击者正秘密地处于通信中间,可以利用此位置来读取流量并窃取数据。攻击者还可以在消息到达目标之前对其进行更改,甚至完全停止通信.
攻击者可以使用此信息来发起进一步的攻击,例如拒绝服务或会话劫持:
- 拒绝服务 –这些攻击可以将多个单独的IP地址链接到目标的MAC地址。如果有足够的地址向目标发送请求,它可能会因通信量而过载,从而中断其服务并使其无法使用.
- 会话劫持 –可以利用ARP欺骗来窃取会话ID,黑客使用该ID进入系统和帐户。一旦获得访问权,他们就可以对目标发动各种破坏.
如何检测ARP中毒
ARP中毒可以通过几种不同的方式进行检测。您可以使用Windows的命令提示符,开源数据包分析器(例如Wireshark)或专有选项(例如XArp).
命令提示符
如果您怀疑自己可能遭受ARP中毒攻击,则可以签入命令提示符。首先,以管理员身份打开命令提示符。最简单的方法是按 Windows键 打开开始菜单。输入 ”指令”,然后按 Crtl, 转移 和 输入 同时.
尽管您可能必须单击,这将显示命令提示符。 是 授予应用程序进行更改的权限。在命令行中,输入:
阿普-1
这将为您提供ARP表:
*由于隐私原因,上图中的地址已部分涂黑.*
该表在左列显示IP地址,在中间显示MAC地址. 如果表包含共享相同MAC地址的两个不同IP地址,则您可能正在遭受ARP中毒攻击.
举例来说,假设您的ARP表包含许多不同的地址。扫描时,您可能会注意到两个IP地址具有相同的物理地址。如果您实际上是中毒的,那么您可能会在ARP表中看到以下内容:
互联网地址物理地址
192.168.0.1 00-17-31-dc-39-ab
192.168.0.105 40-d4-48-cr-29-b2
192.168.0.106 00-17-31-dc-39-ab
如您所见,第一个和第三个MAC地址都匹配。这表明192.168.0.106 IP地址的所有者很可能是攻击者.
其他选择
尽管这些步骤不在本教程的讨论范围之内,并且可能最好留给有该程序经验的人员使用,但Wireshark可用于通过分析数据包来检测ARP中毒。.
诸如XArp之类的商用ARP中毒检测器使这一过程变得更加容易。当ARP中毒开始时,它们可以为您提供警报,这意味着可以更早地检测到攻击并将损害降至最低.
如何防止ARP中毒
您可以使用多种方法来防止ARP中毒,每种方法都有其自己的优点和缺点。其中包括静态ARP条目,加密,VPN和数据包嗅探.
静态ARP条目
该解决方案涉及大量管理开销,仅建议用于较小的网络。它涉及将网络上每台计算机的ARP条目添加到每台单独的计算机中.
使用静态IP和MAC地址集映射计算机有助于防止欺骗攻击,因为计算机可以忽略ARP答复。不幸, 此解决方案只能保护您免受更简单的攻击.
加密
诸如HTTPS和SSH之类的协议还可以帮助减少成功进行ARP中毒攻击的机会。对流量进行加密后,攻击者将不得不执行附加步骤,诱骗目标浏览器接受非法证书。然而, 在这些协议之外传输的任何数据仍将易受攻击.
虚拟专用网
VPN对于个人而言可以算是合理的防御手段,但通常不适合大型组织。如果只有一个人在进行潜在的危险连接(例如在机场使用公共wifi),则 VPN将加密在客户端和出口服务器之间传输的所有数据. 这有助于确保它们的安全,因为攻击者只能看到密文.
这在组织级别上不太可行,因为需要在每台计算机和每台服务器之间建立VPN连接。这不仅设置和维护起来很复杂,而且如此大规模的加密和解密也会阻碍网络的性能.
封包过滤器
这些过滤器分析通过网络发送的每个数据包。他们能 过滤并阻止恶意数据包, 以及那些IP地址可疑的用户。数据包筛选器还可以判断数据包是否声称它实际上来自外部,而实际上是来自内部网络的,这有助于减少攻击成功的机会.
保护您的网络免遭ARP中毒
如果您想让您的网络免受ARP中毒的威胁,最好的方案是结合上述预防和检测工具. 预防方法在某些情况下往往存在缺陷, 因此,即使是最安全的环境也可能会遭受攻击.
如果还使用了主动检测工具,则您将在ARP中毒开始后立即了解它。只要您的网络管理员在收到警报后立即采取行动,通常 在造成较大损失之前,请关闭这些攻击.
在0x55534C下基于ARP欺骗的图像设计 CC3.0
ARP中毒是一种常见的攻击方式,它利用ARP协议的漏洞,通过发送欺骗的ARP消息来将流量从其最初打算的主机转移到攻击者。这种攻击可以用于停止网络流量、对其进行更改或对其进行拦截,甚至可以发起进一步的进攻,例如会话劫持或拒绝服务。为了防止ARP中毒,可以采用静态ARP条目、加密、虚拟专用网和数据包嗅探等多种方法。同时,结合预防和检测工具可以更好地保护网络免遭ARP中毒的威胁。