内网渗透研究:LLMNR和NetBIOS欺骗攻击分析
内网渗透研究:LLMNR和NetBIOS欺骗攻击分析
基础知识
LLMNR是什么?
链路本地多播名称解析(LLMNR)是一个基于协议的域名系统(DNS)数据包的格式,使得双方的IPv4和IPv6的主机来执行名称解析为同一本地链路上的主机。当局域网中的DNS服务器不可用时,DNS客户端会使用LLMNR本地链路多播名称解析来解析本地网段上的主机的名称,直到网络连接恢复正常为止。
LLMNR 的工作过程
当一台主机想要访问到另一台主机时,主机在自己的内部名称缓存中查询名称,如果在缓存中没有找到名称,那么主机就会向自己配置的DNS服务器发送查询请求,如果主机没有收到回应或收到了错误信息,即DNS解析会失败,那么就会转为使用LLMNR链路本地多播名称解析。 使用链路本地多播名称解析时,主机会通过 UDP 向局域网内发送多播查询,查询主机名对应的IP,查询范围被限制在本地子网内。本地子网内每台支持LLMNR的主机在收到这个查询请求后,收到该请求的主机会判断自己的主机名是不是这个查询的主机名。如果是,这台主机会回复自己IP地址给请求该查询的主机;如果不是,则丢弃该请求。NetBIOS是什么?
Netbios(Network Basic Input Output System):网络基本输入输出系统,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,Netbios是一种应用程序接口(API),系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,几乎所有的局域网都是在NetBIOS协议的基础上工作的。NetBIOS也是计算机的标识名称,主要用于局域网内计算机的互访。NetBIOS的工作流程就是正常的机器名解析查询应答过程。在Windows操作系统中,默认情况下在安装 TCP/IP 协议后会自动安装NetBIOS。Windows系统名称解析顺序
1. 本地hosts文件(%windir%\System32\drivers\etc\hosts)
2. DNS缓存/DNS服务器
3. 链路本地多播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)
也就是说,如果在缓存中没有找到名称,DNS名称服务器又请求失败时,Windows系统就会通过链路本地多播名称解析(LLMNR)和Net-BIOS名称服务(NBT-NS)在本地进行名称解析。这时,客户端就会将未经认证的UDP广播到网络中,询问它是否为本地系统的名称。这就产生了一个安全问题。由于该过程未被认证,并且广播到整个网络,从而允许网络上的任何机器响应并声称是目标机器。通过工具监听LLMNR和NetBIOS广播,攻击者可以伪装成受害者要访问的目标机器,并从而让受害者交出相应的登陆凭证。LLMNR和NetBIOS欺骗攻击
攻击原理
我们利用SMB协议获取目标网络中计算机的Net-NTML Hash。
当用户输入 不存在、包含错误 或者 DNS中没有的主机名 时,主机先在自己的内部名称缓存中查询名称,如果没找到,主机就会向DNS服务器查询,而DNS解析会失败,此时就会退回LLMNR和NetBIOS进行计算机名称解析。那么攻击者就能够代替网络上任何不存在的主机回答请求,并诱导搜索内容的主机连接到我们。如果攻击者使用 Metasploit 和 Responder 等工具,就可以要求验证受害者主机的身份,而如果攻击者被认为是这些主机所在的本地网络中的一部分时,他们就会把自己进行哈希后的Windows凭据发给攻击者。核心过程与arp欺骗类似。
在渗透测试中,如果进入目标系统后没有获取到任何凭证,可以使用LLMNR和NetBIOS欺骗攻击对目标网络进行渗透。
Responder工具利用过程
下载地址:https://github.com/sdfzy/Responder
Responder是监听LLMNR和NetBIOS协议的工具之一,能够抓取网络中所有的LLMNR和NetBIOS请求并进行响应,获取最初的账户凭证。
Responder会利用内置SMB认证服务器、MSSQL认证服务器、HTTP认证服务器、HTTPS认证服务器、LDAP认证服务器,DNS服务器、WPAD代理服务器,以及FTP、POP3、IMAP、SMTP等服务器,收集目标网络中的明文凭据,还可以通过Multi-Relay功能在目标系统中执行命令。 Kali中内置了该工具。
responder -I eth0 -f
- -I:指定使用的网卡
- -f:允许攻击者查看受害者的主机指纹

net use \\whoami也可以在“运行”里面连接
dir \\whoami\c$

Net-NTML Hash是指在网络环境中经过NTML认证的散列值。挑战/响应验证中的响应就包含Net-NTML Hash。使用responder抓取的通常就是Net-NTML Hash。攻击者无法使用Net-NTML Hash进行哈希传递攻击,只能使用hashcat等工具爆破或进行NTLM-Relay攻击。 Net-NTML Hash详情请见:https://blog.csdn.net/qq_36119192/article/details/85941222


hashcat.exe -m 5600 hash.txt rockyou.txt // rockyou.txt为字典
得到明文密码。也可以使用kali自带的john工具进行破解,如下:

针对LLMNR和NetBIOS欺骗攻击的防御
关闭NetBIOS和LLMNR服务。 注意:在关闭这些服务以后,用户的一些正常需求可能会受到影响哦。 参考:https://baike.baidu.com/item/NETBIOS/611263?fr=aladdin https://baike.baidu.com/item/LLMNR/1116392?fr=aladdin https://blog.csdn.net/qq_38154820/article/details/106329725
