Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
网络协议
本地主机解析协议
LLMNR、NBT-NS 和 mDNS:
Microsoft 和其他操作系统在 DNS 失败时使用 LLMNR 和 NBT-NS 进行本地名称解析。同样,Apple 和 Linux 系统使用 mDNS。
这些协议易受拦截和伪造攻击的影响,因为它们通过 UDP 的未经身份验证的广播方式传输。
Responder 可以通过向查询这些协议的主机发送伪造响应来冒充服务。
可以在这里找到有关使用 Responder 进行服务冒充的更多信息。
Web 代理自动发现协议 (WPAD)
WPAD 允许浏览器自动发现代理设置。
通过 DHCP、DNS 或在 DNS 失败时回退到 LLMNR 和 NBT-NS 来进行发现。
Responder 可以自动化 WPAD 攻击,将客户端重定向到恶意的 WPAD 服务器。
Responder 用于协议毒化
Responder 是一种用于毒化 LLMNR、NBT-NS 和 mDNS 查询的工具,根据查询类型有选择性地响应,主要针对 SMB 服务。
它预装在 Kali Linux 中,可在
/etc/responder/Responder.conf
中配置。Responder 在屏幕上显示捕获的哈希值,并将其保存在
/usr/share/responder/logs
目录中。它支持 IPv4 和 IPv6。
Responder 的 Windows 版本可在这里找到。
运行 Responder
使用默认设置运行 Responder:
responder -I <Interface>
进行更积极的探测(可能会产生副作用):
responder -I <Interface> -P -r -v
通过技术捕获 NTLMv1 挑战/响应以便更轻松地破解:
responder -I <Interface> --lm --disable-ess
可以通过以下方式激活 WPAD 冒充:
responder -I <Interface> --wpad
NetBIOS 请求可以解析为攻击者的 IP,可以设置身份验证代理:
responder.py -I <interface> -Pv
使用 Responder 进行 DHCP 毒化
伪造 DHCP 响应可以永久毒化受害者的路由信息,提供了比 ARP 毒化更隐蔽的替代方案。
需要精确了解目标网络的配置。
运行攻击:
./Responder.py -I eth0 -Pdv
这种方法可以有效地捕获 NTLMv1/2 哈希,但需要小心处理以避免网络中断。
使用 Responder 捕获凭据
Responder 将使用上述协议冒充服务,捕获凭据(通常是 NTLMv2 挑战/响应),当用户尝试对冒充的服务进行身份验证时。
可以尝试降级到 NetNTLMv1 或禁用 ESS 以便更轻松地破解凭据。
需要强调的是,使用这些技术应该在合法和道德的前提下进行,确保获得适当的授权,避免干扰或未经授权访问。
Inveigh
Inveigh 是一款专为 Windows 系统设计的渗透测试人员和红队人员工具。它提供类似于 Responder 的功能,执行伪造和中间人攻击。该工具已经从 PowerShell 脚本发展为 C# 二进制文件,主要版本为 Inveigh 和 InveighZero。详细的参数和说明可以在 wiki 中找到。
Inveigh 可以通过 PowerShell 运行:
或者作为一个C#二进制文件执行:
NTLM Relay Attack
这种攻击利用SMB身份验证会话访问目标机器,如果成功则授予系统shell。关键先决条件包括:
认证用户必须在中继主机上具有本地管理员访问权限。
SMB签名应该被禁用。
445端口转发和隧道
在直接网络引入不可行的情况下,需要转发和隧道化445端口上的流量。像PortBender这样的工具有助于将端口445的流量重定向到另一个端口,这在本地管理员访问用于驱动加载时是必不可少的。
在Cobalt Strike中设置和操作PortBender:
用于 NTLM 中继攻击的其他工具
Metasploit:设置代理,本地和远程主机详细信息。
smbrelayx:一个用于中继 SMB 会话并执行命令或部署后门的 Python 脚本。
MultiRelay:Responder 套件中的一个工具,用于中继特定用户或所有用户,执行命令或转储哈希。
每个工具都可以配置为通过 SOCKS 代理运行,即使具有间接网络访问权限也可以进行攻击。
MultiRelay 操作
从 /usr/share/responder/tools 目录执行 MultiRelay,针对特定的 IP 或用户。
强制 NTLM 登录
在 Windows 中,您可能能够强制一些特权帐户对任意机器进行身份验证。阅读以下页面以了解详情:
Force NTLM Privileged Authentication参考资料
Last updated