Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Enigm-Writeup — 针对 Hack The Box - Enigma 机器的全面渗透测试报告与漏洞利用细节,涵盖本地枚举、OliveTin CVE-2026-27626 命令注入以及 root 权限提升 | Kitploit
工具/GitHubGitHub/abdelhakimgafernetworksec/enigm-writeup
权限提升侦察漏洞分析漏洞利用Web应用程序漏洞利用后渗透利用CTF渗透测试学习与教育

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
实验室与实践
GitHubabdelhakimgafernetworksec/enigm-writeup

Enigm-Writeup

针对 Hack The Box - Enigma 机器的全面渗透测试报告与漏洞利用细节,涵盖本地枚举、OliveTin CVE-2026-27626 命令注入以及 root 权限提升

查看仓库
12122天前尚未审核

Hack The Box: Enigma - 全面渗透测试与报告

1. 执行摘要

Enigma 是 Hack The Box 上的一台中级 Linux 靶机。评估方法遵循标准渗透测试生命周期:侦察、枚举、通过凭据收集获得初始访问权限、本地枚举,以及通过服务层漏洞(OliveTin 中的 CVE-2026-27626)进行 root 权限提升。本报告详细介绍了逐步的向量分析、工具集、代码执行策略以及完全攻陷目标并获取管理控制权所需的修复指南。


2. 信息收集与侦察

2.1 网络端口扫描(Nmap)

评估从 TCP SYN 扫描开始,以识别目标主机上开放的端口和运行的服务。

nmap -p- --min-rate=1000 -T4 <TARGET_IP>

扫描结果:

  • 端口 22/tcp (SSH):开放,运行 OpenSSH 守护进程。
  • 端口 80/tcp (HTTP):开放,Nginx/Apache Web 服务器托管一个 Web 应用程序。
  • 端口 2049/tcp (NFS):开放,网络文件共享服务。

2.2 Web 枚举与目录爆破

使用目录发现工具(gobuster / ffuf),我们扫描了端口 80 上的 Web 服务,以发现隐藏的端点、管理门户或配置工件。

  • 发现了一个面向公众的 Web 存在以及概述内部基础设施组件的开发者博客文章。
  • 识别出与数据库配置文件和自动化脚本相关的潜在应用程序路径。

3. 初始访问(用户级攻陷)

3.1 凭据发现

通过对 Web 应用程序文件和辅助 NFS 共享的详细分析,我们发现了有效的开发者凭据。

  • 用户名:haris
  • 密码:bestfriends

3.2 通过 SSH 建立用户 Shell

利用发现的凭据,我们对 SSH 服务进行身份验证,在目标系统上建立了一个交互式低权限 Shell:

ssh haris@<TARGET_IP>
  • 已获取交互式 Shell:haris@enigma:~$
  • 成功定位并获取了用户标志(user.txt)。

4. 本地枚举与权限提升发现

4.1 内部服务审计

在建立用户级 Shell 后,我们审查了本地监听端口和活动进程,以识别未对外暴露的潜在攻击面:

ss -tulpn

关键发现:

  • OliveTin 自动化管理 Web 服务在 127.0.0.1:1337 上以 root 权限在本地运行。

4.2 分析 OliveTin 配置与漏洞

对 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 控制操作符(例如分号 ;、管道 | 或反引号)的输入。


5. 利用策略与执行(CVE-2026-27626)

5.1 设置 SSH 端口转发隧道

由于存在漏洞的 OliveTin 服务严格绑定到 127.0.0.1:1337,来自 Kali 攻击机的外部请求会被阻止,并返回 Connection refused 错误。为了与该服务交互,我们通过 SSH 建立了本地端口转发隧道:

ssh -L 1337:127.0.0.1:1337 haris@<TARGET_IP>

5.2 构造并执行利用载荷

使用针对 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 标志已成功通过命令输出流直接提取。


6. 后渗透与攻陷证据

  • 已获取 Root 标志:ae9306f5690c4812c6f9445027d0d060
  • 管理持久化:另一种持久化机制涉及通过命令注入向量将 SSH 公钥追加到 /root/.ssh/authorized_keys,从而授予无缝的管理终端访问权限。

7. 修复与防御建议

  1. 输入清理与参数化:确保传递给系统命令的应用程序参数(例如 OliveTin 中的数据库密码)严格针对字母数字字符集进行验证,禁止原始 shell 元字符。
  2. 最小权限原则:除非绝对必要,避免在 root 安全上下文中运行像 OliveTin 这样的管理自动化软件。在具有最小权限的专用服务账户下运行服务。
  3. 软件更新:将 OliveTin 及相关自动化包装器升级到已修补版本,其中通过模板化参数进行的命令注入漏洞已得到缓解。
  4. 网络分段:如果管理监督需要多因素身份验证或网络级访问控制列表(ACL),则限制管理接口绑定到回环接口。
下载工具