最后更新于2023年12月13日星期三23:57:56 GMT

Penetration testing 对于客户识别和修复漏洞和错误配置来说,这是一个有价值的工具吗, 特别是当强大的安全控制和威胁缓解可能会在只有一两个系统被遗漏的情况下失去作用.

像许多内部网络渗透测试一样, 它首先查找要利用的NetBIOS名称服务(NBT-NS)和链路本地多播名称解析(LLMNR)请求. 这些辅助名称解析服务可用于解析在DNS中找不到的主机名, 哪些易受攻击的主机在广播请求和多播请求中向本地网络传输. 通过向这些请求发送有毒的响应, which claim the desired host name, 恶意行为者可以从SMB连接接收NetNTLMv2密码哈希值.

在两个不同的本地网络上进行测试时,我确定了六台发出NBT-NS请求的主机. Among these hosts, though, 中毒攻击导致仅接收一个域用户的SMB连接和密码散列. 获取这些密码散列最直接的风险之一是它们可能被破解. However, 我无法破解获得的一个NetNTLMv2密码散列, so it must have been a pretty good, uncommon password. Good for them!

也就是说,能够请求这些SMB连接的另一个风险是 SMB relay, 在不需要破解密码的情况下,可以对其他主机重播质询-响应身份验证流量的地方. Using RunFinger.py, 我发现只有三个SMB主机不需要消息签名, 其中只有一个加入了定义域.

利用受NBT-NS中毒影响的一个用户帐户的SMB连接, and using Smbrelayx 将该连接中继到不需要SMB消息签名的一个域主机, 我很快就能够从该主机检索本地用户帐户的密码散列.

这些NTLM密码哈希值不是质询-响应对, 并且可以用于“传递哈希”身份验证, 在哪里,未破解的密码散列可以用作基于网络身份验证的实际密码的替代品. 我能够在评估范围内的近一半SMB主机上使用这些相同的本地管理员凭证. From there, 使用Mimikatz检索缓存的明文密码和密码哈希值很快, 一套常用的本地密码恢复工具, 这导致发现了一个域管理员的缓存NTLM密码哈希. Win.

Returning to cracking, 现在拥有了所有域用户的NTLM密码散列, I still had very limited success. 只发现了三个工作用户帐户的有效凭据. 而这些账户足以在文件共享和SharePoint中找到敏感文档, 密码破解结果表明,该客户端在几乎整个用户群中都有一个健康的强密码生成文化. 在现场汇报中讨论这些结果时, 客户解释说,他们的大多数用户都有智能卡和长卡, randomly generated passwords. But, 尽管这些强大的密码和非常有限的发现在大多数主机, 这次接触表明,仅仅是少数被遗漏的系统仍然可以让恶意行为者使用常见的攻击技术获得立足点.

有兴趣了解更多关于Rapid7渗透测试人员如何进行评估的信息? 每周回来看看这个系列的新故事.