ARP欺骗攻击,如何应对arp欺骗攻击

  ARP欺骗攻击,如何应对arp欺骗攻击

  

简介

  LLR&NBT-NS欺骗攻击是一种典型的内部网络攻击。但是一方面很少有人知道,另一方面在Windows中默认开启,所以攻击还是有效的。在本文中,我们首先向读者解释什么是LLMNR & NBT-NS攻击,然后介绍如何通过该攻击进行渗透测试,最后给出针对该漏洞的防御措施。

  

什么是LLMNR和NetBIOS名称服务器广播?

  当DNS名称服务器请求失败时,Microsoft Windows系统将尝试通过链接本地多播名称解析(LLMNR)和Net-BIOS名称服务(NBT-NS)在本地解析名称。

  

LLMNR和Netbios NS广播有什么问题吗?

  当无法解析DNS名称时,客户端将向网络广播未经身份验证的UDP,并询问它是否是本地系统的名称。事实上,这个过程是未经认证的,会广播到整个网络,从而允许网络上的任何机器响应并声称是目标机器。

  

什么是LLMNR / NBT-NS中毒攻击?

  通过监听LLMNR和NetBIOS广播,攻击者可以伪装成受害者(客户端)想要访问的目标机器,让受害者乖乖交出相应的登录凭证。接受连接后,攻击者可以使用Responder.py或Metasploit等工具将请求转发给执行身份验证过程的恶意服务(如smbtcp: 137)。在身份验证过程中,受害者会将用于身份验证的NTLMv2哈希值发送到流氓服务器。这个哈希值将被保存到磁盘,然后可以使用Hashcat或John Ripper(TJR)等工具离线破解,或者直接用于传递哈希攻击。

  在Windows中,LLMNR和NBT-NS是默认启用的,很少有人知道这种攻击,所以我们可以在内部渗透测试中使用这种攻击来收集凭据。为此,我们可以在用其他攻击手段测试的过程中,保持Responder.py一直运行。

  

Linux和苹果用户是否受该攻击的影响?

  是的,Linux和Apple客户端也使用类似的协议,即多播DNS(mDNS),它侦听TCP:5353端口。有关mDSN的更多信息,请参考mDNS的维基百科页面。

  典型的LLMNR/NetBIOS名称服务器攻击

  下图显示了一个典型的场景,在该场景中,由于无法解析服务器名称,用户受到了这种攻击。

  

攻击过程详解

  1.用户发送了不正确的SMB共享地址 SNARE01。

  2.DNS服务器响应 snare 01-未找到

  3.客户端广播LLMNR/NBT-NS

  4.响应者告诉客户端它是SNARE01,并接受NTLMv2哈希值

  5.响应者将错误发送回客户端,因此如果终端用户不擅长这样做,他们通常不会感到惊慌。

  

实例:使用KaliResponder.py

  首先克隆项目

  git clone https://github.com/sdfzy/Responder.git使用您的本地接口和IP地址运行Responder.py,如下所示:

  python Responder.py-I 192 . 168 . 210 . 145-I eth 0以便您可以启动responder . py:

  在Responder.py运行后,我们模拟用户键入错误的SMB服务器名称,例如使用SNARE01而不是SHARE01。

  接下来,从客户端计算机输入错误的SMB服务器名称:

  注意:实验室环境中的客户端计算机是Windows 2008 Server R2。

  在客户端广播不正确的服务器名称的几秒钟内,Responder.py完成了对广播请求的响应,并将NTLMv2哈希值写入硬盘。

  最后一步是破解NTLMv2哈希值。此步骤的成功取决于目标环境中密码策略的复杂性,这可能需要一些时间。当密码策略已知或者密码安全性疑似较高时,ocl-hashcat将是离线破解的最佳选择。因为我们在测试实验室环境中故意使用不安全的密码,所以这里使用john来破解NTLMv2哈希值:

  

如何保护网络免受LLMNR / NBT-NS中毒攻击

  好消息是:这种攻击很容易防范。请注意,为此需要禁用LLMNR和NetBIOS名称服务。如果只禁用LLMNR,Windows会将无法解析的名称传送到NetBIOS名称服务器进行解析。

  

禁用NetBIOS名称服务

  似乎没有办法用GPO来禁用NetBIOS名称服务(如果知道,请在回复中告知!),其说明书如下所示。

  1.请打开:控制面板网络和互联网网络连接。

  2.右键单击网络接口,选择属性,然后双击“Internet协议版本4 TCP/IPv4”

  3.在下一个屏幕上,单击高级,然后选择WINS选项卡。

  4.单击“禁用TCP/IP上的NetBIOS”旁边的单选按钮

  有关详细信息,请参考以下屏幕截图:

  

禁用LLMNR

  幸运的是,您可以使用GPO禁用LLMNR,如下所示:

  1.Start=Run=gpedit.msc

  打开本地计算机策略=计算机配置=管理模板=网络=DNS客户端。

  2.点按“关闭多播名称解析”并将其设定为“已启用”

  

小结

  本文介绍了一种经典的内网攻击方法。虽然这种方法由来已久,但至今仍然有效,因为很少有人知道这种攻击,并且Windows中默认启用相关设置。

  【本文原作者:shan66,本文由平安客原创,由渔阳、平安脉搏整理发布】

ARP欺骗攻击,如何应对arp欺骗攻击