SMB中继竞赛——如何利用LLMNR和SMB消息签名获取乐趣与收益
Jordan Drysdale//
本文基本上是对Marcello工作的轻微更新和借鉴:https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html
/tl;dr – 通过暴露的Outlook Web App(OWA)和单因素VPN,在环境中从零权限提升到域管理员权限。技术概述摘自下文,攻击总结在本文中出现两次:
- 识别不需要SMB消息验证的网络系统
- 配置Impacket的NTLMrelayx以瞄准这些系统
- 在Responder中禁用SMB和HTTP请求/响应投毒并启动
- 等待凭证
我们以更全面的方式探讨“SMB认证投毒反射”的NTLM中继主题。我们将仅凭一个OWA门户、用户列表和微笑,从零开始执行整个攻击。
LLMNR、NBNS、NBT-NS——从攻击者和防御者的角度,它们是什么以及如何区分?NBT-NS和NBNS是同一事物,在UDP/137上运行,也称为NetBIOS和WINS。这些服务在设计上存在缺陷,允许通过响应竞争轻松攻击;因此称为SMB中继竞赛。
NBNS/NBT-NS(以下简称NBNS)是名称解析的回退机制。当系统无法通过标准DNS解析确定目标主机IP时,系统将在OSI第2层广播(MAC目的地全F——FF:FF:FF:FF:FF:FF),请求有人协助IP到主机名的映射过程。此广播包被子网和VLAN边界限制。此时攻击者可以响应并获取凭证材料。如果回退请求旨在解析文件服务器,攻击者系统可以在后续包中提供响应和认证挑战,从而在某些情况下获取受害者的哈希或明文密码。
LLMNR是链路层多播名称解析的缩写,其操作方式几乎与长版本描述完全相同。此名称解析技术也是系统无法通过标准DNS解析主机名时的回退机制。名称中的链路层引用将包保留在子网上,除非在特殊情况下,包括广播转发和IGMP PIM配置,这些在部署远程系统映像或电视广播等解决方案时更为常见。此请求的目标MAC地址定义为TCP/5355上的01:00:5E:00:00:FC。协议中对多播的引用将解析请求包的目标IP定义为多播保留空间中的224.0.0.252。与NBNS类似,LLMNR请求可以通过比任何人更快响应这些请求来被破坏。因此,以下截图来自@krelkci关于在网络上关闭此功能的博客。
SMB消息签名是验证系统SMB服务请求源的过程。当强制执行SMB消息检查时,中继攻击无效。通过组策略修改,我们可以通过启用“始终数字签名通信”设置来有效消除此风险。有讨论称此设置可能影响网络性能。虽然我们未在受控环境下测试此点,但如果您在考虑是否值得消除此风险,您应考虑Black Hills Information Security的渗透测试。我们的咨询团队可以为您量身定制套餐;他们随时准备通过[email protected]讨论我们的服务选项。
现在, armed with some background knowledge about the protocols, let’s attack our contrived environment first via OWA, in through the VPN, on to a Linux box, and over to the DCs.
攻击从侦察开始。我们今天跳过这一点。不过,玩得开心,也许可以尝试对您自己的组织进行这些操作。如果您投入一些努力,您可能会对发现的内容感到恐惧。
- Recon-ng
- theHarvester / InSpy
- Burp and LinkedIn
- DNSDumpster / DNS UltraTools
- MXToolbox
- Metadata Tools
- Credential Harvesting
- Pastebin
- Shodan
- 数据经纪公司报告(Acxiom、BeenVerified、Epsilon)
无论如何,当您完成侦察时,您希望得到类似以下的内容。
对我们来说,我们将从这里下载MailSniper,导入并执行!我们使用下一个命令恢复有效的域账户。通常,如果用户群足够大(几百用户),且密码策略弱(8-10字符最小长度),恢复凭证只是时间问题。
|
|
我们还继续使用以下命令下载全局地址列表。
|
|
接下来,使用我们在DNS侦察期间发现的一些有趣主机,我们能够访问并为我们恢复的用户账户下载配置文件。
我们可以认证!
注意:OpenVPN客户端将显示配置文件有权访问的网络。应扫描这些网络以寻找有趣的东西。
现在,我们运行Nmap查找东西并直接命中。
|
|
结果展示了胜利,我们恢复了此环境中的第一个标志,并获得了可以针对网络进行进一步攻击的主机。
让我们在LLMNR的背景下讨论SMB中继,以及为什么在扫描结果中不忽视此漏洞如此重要。首先,该漏洞在Nessus中称为“SMB消息签名禁用”。因为实验室是我们的,我们扫描了它。发现了36个系统禁用了SMB消息完整性验证检查。
如Tenable的漏洞写入所述,此漏洞允许攻击者对识别的SMB服务器进行MiTM攻击。更具体地说,此漏洞允许具有内部位置的攻击者将投毒的LLMNR和NBNS请求/响应对反射到此系统列表。当反射的NetNTLMv2哈希落在投毒“请求者”具有足够权限的系统上时,SAM被转储,新凭证被解锁。
攻击总结:
- 识别不需要SMB消息验证的网络系统
- 配置Impacket的NTLMrelayx以瞄准这些系统
- 在Responder中禁用SMB和HTTP响应投毒并启动
- 等待凭证
以下截图是两个命令的结果,此攻击所需的一切。在一个窗口中:
|
|
并且,在Responder窗格中,记得在Responder.conf文件中将SMB和HTTP设置为“Off”:
|
|
在几分钟内,我们有了目标系统的SAM内容。
当这些漏洞结合时,在野外更常见,结果可能是毁灭性的。在我们的环境中,我们现在窃取静止的NTLM哈希,并开始基于crackmapexec的掠夺。
|
|
因为为什么不运行整个子网并转储LSA?如下所示,我们捕获了更多用户,其中一个结果是DA。
那么。
您可以做什么来减少这些风险?
- 通过组策略在所有系统上强制执行SMB消息完整性检查(这只是解决此问题的一部分)——“始终数字签名通信”
- 特别审查网络系统和DNS配置
因为LLMNR和NBNS是回退机制,配置良好的DNS基础设施可以减少对这些弱协议名称查找的需求
- 更新您的黄金系统映像以包括设置为“禁用”的NBNS
配置在网络适配器上禁用NBNS / NetBIOS / WINS的组策略首选项 配置禁用LLMNR的组策略 限制网络上的用户权限,因为此攻击还依赖于反射的NetNTLMv2“认证器”具有足够的SMB登录权限
链接
- https://wiki.wireshark.org/NetBIOS/NBNS
- https://en.wikipedia.org/wiki/Link-Local_Multicast_Name_Resolution
- https://blogs.technet.microsoft.com/josebda/2010/12/01/the-basics-of-smb-signing-covering-both-smb1-and-smb2/
- https://www.blackhillsinfosec.com/how-to-disable-llmnr-why-you-want-to/
- https://github.com/dafthack/MailSniper
- https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html