HackTheBox:Mailing靶机渗透实战——路径遍历与NTLM哈希窃取

0 阅读8分钟

HackTheBox : Mailing

侦察

Nmap扫描

我们首先进行一次Nmap扫描:

(图片: Nmap全TCP扫描) (图片: UDP前200端口扫描)

技术栈

让我们枚举一下Web服务器使用的技术:

(图片: 技术栈)

Web服务器后端使用 ASP.NETPHP 作为编程语言。

主网页

(图片: 主网页)

这里有三个重要信息值得注意:

  1. 公司使用的邮件服务器是 hMailServer
  2. 我们找到了一些团队成员的名字:Ruy Alonso、Maya Bendito、Gregory Smith。这些信息稍后可能会用到。
  3. 在最底部,他们提供了一个文档,向我们展示了如何将计算机连接到公司的邮件服务。

(图片: 关于如何连接到mailing.htb邮件服务器的文档)

那么,让我们看看是否有影响 hMailServer 的已知公开漏洞:

(图片: 漏洞研究)

PHPWebAdmin文件包含

根据我们的情况,PHPWebAdmin File Inclusion 仍然是最有趣的漏洞。但是,由于我们不知道他们是否使用 4.4.2 版本,我们无法完全确认目标是否存在此漏洞。让我们试一试吧!毕竟,谁知道呢?也许它确实存在漏洞!

以下是漏洞利用的样子:

(图片: hMailServer 4.4.2 — 本地和远程文件包含)

在执行此攻击之前,我们首先需要找到端点。为此,我们可以进行目录和文件模糊测试。

目录/文件模糊测试

(图片: 目录/文件模糊测试) (图片: /instructions/) (图片: /instructions/ 文件包含失败) (图片: /download.php) (图片: /download.php 文件包含失败)

在四处点击时,我注意到当我点击 Download Instructions 按钮时,Burp 没有拦截到任何东西:

(图片: Burp未拦截请求)

因此,我决定激活 “Intercept On”,然后再次点击按钮以拦截请求:

(图片: 在Burp中拦截请求)

太棒了!如你所见,我们的浏览器发出了一个对 /download.php?file=instructions.pdf 的请求以下载PDF文件。

路径遍历

让我们检查一下 file 参数是否容易受到路径遍历攻击。我们来测试一下:

(图片: File参数存在路径遍历漏洞)

为了使路径遍历漏洞的影响更大,我们将尝试访问敏感文件,例如源代码和配置文件。

(图片: download.php 源代码)

如你所见,这确实是一个路径遍历漏洞。因此,它不能被视为文件包含漏洞,因为没有使用PHP的 includerequire 函数。

快速搜索一下关于配置文件的信息,结果如下:

(图片: 搜索 hmailserver 配置文件)

这是我在这个论坛上找到的:

(图片: hmailserver 的配置文件)

配置文件似乎位于:c:\Program Files (x86)\hMailServer\Bin\hMailServer.ini

让我们检查一下:

(图片: 在配置文件中找到密码)

太棒了!配置文件中包含一个似乎是属于 Administrator 的密码哈希。这看起来是一个非加盐的MD5哈希。让我们看看能否通过使用 crackstation 执行彩虹表攻击来恢复明文密码:

(图片: 哈希成功破解)

太棒了!哈希已成功破解。我们可以检查一下我们是否可以在目标系统上以 Administrator 身份进行身份验证:

(图片: 身份验证失败)

好吧,让我们尝试一下密码喷洒攻击:

(图片: 密码喷洒攻击失败)

这也失败了。

话虽如此,我最终决定安装Thunderbird来检查我是否可以访问 Administrator 的邮箱:

(图片: 安装Thunderbird) (图片: 使用Thunderbird尝试对Administrator的邮箱进行身份验证) (图片: 访问Administrator的邮箱)

瞧!我们成功进入了Administrator的邮箱。现在让我们看看是否可以在不同的文件夹中找到有趣的信息:

(图片: 收件箱中没有消息) (图片: 垃圾箱中没有消息)

不幸的是,我在这里没有找到任何有用的东西。

补充知识: 我们也可以使用 SWAKS(SMTP客户端命令行)来对Administrator的邮箱进行身份验证。使用方法如下: (图片: 使用SWAKS检查身份验证)

CVE-2024-21413

话虽如此,经过一番挖掘,我发现Microsoft Outlook存在一个RCE漏洞(CVE-2024-21413)。这个严重漏洞(CVSS评分为9.8)允许用户泄露Net-NTLM哈希并绕过称为Windows受保护视图的Windows安全功能。更多信息,请点击此处

为了执行此攻击,我使用了在GitHub上找到的这个PoC

(图片: 下载漏洞利用程序)

在我们的场景中,我们将专注于通过向不同用户发送电子邮件来窃取Net-NTLM哈希。让我们首先运行 Responder

(图片: 运行Responder)

Responder启动后,我们可以继续向我们在枚举阶段收集到的不同用户发送电子邮件。 提醒一下,电子邮件格式为 first_name@mailing.htb

此外,在 instructions.pdf 文档的末尾,你应该会看到这个:

(图片: Maya的电子邮件地址被披露)

如你所见,Maya的电子邮件地址(maya@mailing.htb)被披露了。

现在,让我们使用下载的PoC向Ruy、Maya和Gregory发送电子邮件:

(图片: 向Ruy发送邮件) (图片: 向Maya发送邮件) (图片: 向Gregory发送邮件)

一段时间后,我截获了maya的Net-NTLM哈希:

(图片: 截获Maya的Net-NTLM哈希)

让我们使用 hashcat 破解它:

(图片: Maya的Net-NTLM哈希被成功破解)

好了,现在让我们尝试使用这个新密码进行密码喷洒攻击:

(图片: 密码喷洒)

我们对maya的身份验证成功了。

获得Maya的Shell

让我们枚举她的共享文件夹:

(图片: 枚举共享文件夹)

我们在 Important Documents 共享文件夹上拥有 READ/WRITE 权限。让我们下载其内容:

(图片: 下载共享文件夹内容) (图片: 运气不佳!)

这个共享文件夹里什么都没有。

没关系!让我们看看我们是否可以使用WinRM通过Maya的帐户进行身份验证:

(图片: 身份验证成功)

如你所见,这是可行的。让我们登录她的帐户:

(图片: 成功登录Maya) (图片: 获取user flag)

权限提升 (CVE-2023-2255)

在这里,我们将尝试查看不同的权限提升途径,以便在目标机器上成为 Administrator。

我枚举了诸如用户组、权限、网络接口、系统信息、服务、凭据搜寻等内容,并尝试在Web服务器的Web根目录写入文件,但最终一无所获。

因此,我决定检查机器上安装的软件。当使用 wmic product get name 命令时,我遇到了访问被拒绝的错误:

(图片: 访问被拒绝)

另一种方法是查看 C:\Program FilesC:\Program Files (x86) 目录,它们分别包含安装在系统上的64位(x64)和32位(x86)应用程序。

(图片: x86已安装应用程序)

这里我没有找到什么真正有趣的东西,决定继续查看64位应用程序:

(图片: x64已安装应用程序)

在这里我发现了几个非默认应用程序,例如 LibreOffice、Ruxim 等。下一步是找出这些软件的版本,以检查它们是否受到已知的公开本地权限提升漏洞的影响。

(图片: LibreOffice版本)

如你所见,系统使用的是 LibreOffice 7.4.0.1

在谷歌搜索这个版本后,我发现了这个漏洞利用程序

(图片: CVE-2023-2255)

更多信息,请参阅此处

为了提升我们的权限,我们将遵循以下步骤:

  1. 生成一个反向shell (图片: 生成反向shell)

  2. 使用上述PoC生成一个恶意的 .odt 文档 (图片: 生成恶意的 .odt 文档)

  3. 运行一个netcat监听器 (图片: Netcat监听器)

  4. 启动一个Python Web服务器 (图片: Python Web服务器)

  5. 在目标机器上下载恶意的 .odt 文档 (图片: 下载恶意的 odt 文档)

在此之后,我们将等待有人打开这个文档以接收反向shell。

  1. 接收反向shell (图片: 成功获取反向shell)

太棒了!我们现在可以检索root flag并完成挑战:

(图片: root.txt)

关键技术

以下是我们在攻克这台机器时使用的主要技术:

  • 利用影响 hMailServer路径遍历 披露漏洞,在Web服务器上检索敏感文件。
  • 执行 彩虹表攻击 以检索明文密码。
  • 执行 密码喷洒攻击
  • 使用 ThunderbirdSwaks 访问邮箱。
  • 利用 CVE-2024-21413 获取初始访问权限。
  • 利用 CVE-2023-2255 提升我们的权限。

总结

以上就是全部内容。希望你们喜欢这篇记录并学到了一些新东西。

Hack The Planet :)

资源

联系方式

GitHub:github.com/0liverFlowFINISHED CSD0tFqvECLokhw9aBeRqoNv8leb5+40PlcX6sNzbPVlvc4LacNB4dfI4mpJCVGo0LibgwWQu1CdTjGko3Kj/KwCZfzG0aYS4NI8VaXodSY=