返回介绍

4.3 在没有凭证的网络上

发布于 2024-10-13 11:41:06 字数 3435 浏览 0 评论 0 收藏 0

4.3.1 Responder

就像之前的行动,我们使用 Responder 工具(可在 GitHub 网站搜索)监听网络和欺骗响应数据,从而获取网络上的凭证。回顾本书第 2 版的内容,当网络上的系统查找 DNS 主机名失败时,该被攻击者系统将链路本地多播名称解析(LLMNR)和 Net-BIOS(NBT-NS)名称服务用于名称解析备份。当被攻击者主机无法通过 DNS 查询时,被攻击者开始询问网络上的主机是否可以解析该主机名。

有一个简单且通用的例子:假设您的主机有一个固定加载驱动\cyberspacekittenssecretdrive\ secrets。有一天,IT 部门从网络中删除了该共享驱动器,它已不再存在。由于主机仍然加载驱动器到服务器,因此系统将不断询问网络是否有主机知道驱动器的 IP 地址。现在,这个文件共享可能很难找到,由于网络中存在先前连接的系统的可能性很高,因此这个问题仍然会发生。我们已经从安装的驱动器、具有硬编码服务器的应用程序中看到这个问题,而且很多时候仅仅是配置错误。

我们可以使用类似 Responder 的工具来利用那些寻找主机名的系统,并使用恶意服务器对其进行响应。更棒的是,Responder 工具可以更进一步,充当 Web 代理自动发现(WPAD)协议服务器,通过攻击者服务器代理所有的数据,但这是另外一种攻击方式。

  • cd /opt/Responder。
  • ./Responder.py -I eth0 -wrf。

现在,因为处于 Windows 企业环境中,所以可以假设 Responder 工具正在活动目录中运行。因此,如果响应来自受害主机的 DNS 查询,就可以让其连接到我们的 SMB 共享。由于它们连接到驱动器\cyberspacekittenssecretdrive,因此我们将强制被攻击者使用 NTLMv2 凭证(或缓存凭证)进行身份验证,如图 4.4 所示。捕获的这些凭证不是直接的 NTLM 散列值,而是 NTLM 质询/响应散列值(NTLMv2-SSP)。NTLMv2-SSP 散列值暴力破解的速度,比普通的 NTLM 散列值慢得多,但这不是大问题,因为我们可以使用大型破解设备实现破解(参见第 8 章)。

0404

图 4.4

我们可以输入 NTLMv2 散列,将其传递给 hashcat 工具,破解密码。在 hashcat 工具中,我们需要为 NetNTLMv2 指定散列格式“-m”。

  • hashcat -m 5600 hashes\ntlmssp_hashes.txt passwordlists/*。

现在,假设我们真的不想破解散列,或者我们不介意弹出对话框(提醒用户此处可疑)。我们可以不使用 NetNTLMv2 鉴权方式,强制使用基本的鉴权方式,参数是 F(ForceWpadAuth)和 b(基本身份验证)。

  • python ./Responder.py -I eth0 -wfFbv。

从图 4.5 可以看出,系统将提示用户输入用户名和密码,大多数人都会不自觉地输入。一旦用户提交了凭证,我们就能以明文形式捕获凭证,如图 4.6 所示。

0405

图 4.5

0406

图 4.6

4.3.2 更好的 Responder(MultiRelay.py)

Responder 工具和破解 NTLMv2-SSP 散列的问题在于破解这些散列值所需的时间可能很长。更糟糕的是,在这个环境中,管理员的密码长度超过 20 个字符。那么,在这个场景中,我们能做些什么呢?

如果目标没有强制执行 SMB 签名(可以使用快速 Nmap 脚本扫描找到它),那么我们可以使用一个小技巧,重放捕获的 SMB 请求。

Laurent Gaffie 在 Responder 中加入了一个工具来处理身份鉴权的重放攻击。在 Per Laurent 的网站上,Responder 的工具文件夹中包含 MultiRelay 工具,它是一个强大的渗透测试程序,使您能够对选定的目标执行 NTLMv1 和 NTLMv2 中继攻击。目前,MultiRelay 支持将 HTTP、WebDav、代理和 SMB 身份验证协议中继到 SMB 服务器。该工具可以定制接收多个用户中继,仅针对域管理员、本地管理员或特权账户。

从更高的层面来说,MultiRelay 将根据我们的设置,转发身份鉴权请求到被攻击者主机,而不是强制被攻击者向我们的 SMB 共享发送身份鉴权请求。当然,该中继用户需要访问另一台机器;如果成功,我们不需要处理任何密码或暴力破解。首先,需要配置 Responder 和 MultiRelay 工具。

  • 编辑 Responder 配置文件,禁用 SMB 和 HTTP 服务器。
    • gedit Responder.conf
    • 将 SMB 和 HTTP 更改为“关闭”
  • 启动 Responder 工具。
    • python ./Responder.py -I eth0 -rv
  • 在新的终端窗口中启动 MultiRelay。
    • /opt/Responder/tools
    • ./MultiRelay.py -t <target host> -c <shell command> -u ALL

一旦中继到被攻击者主机的目标实现,如图 4.7 所示,就需要考虑在被攻击者主机上执行的内容。默认情况下,MultiRelay 可以生成基本 Shell,但我们也可以自动执行 Meterpreter PowerShell 静荷、Empire PowerShell 静荷、dnscat2 PowerShell 静荷、PowerShell 下载脚本和执行 C2 代理、Mimikatz,或者只运行 calc.exe 工具。

0407

图 4.7

4.3.3 PowerShell Responder

一旦突破了 Windows 系统,我们就可以使用 PowerShell 工具对被攻击者开展 Responder 攻击。早期的 Responder 的两个功能可以通过以下两个工具实现。

  • Inveigh。
  • Inveigh-Relay。

为了使事情变得更加简单,所有这些工具都已经集成到 Empire 中。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文