Trilocor Robotics Ltd. (“Trilocor” herein) invited you to a private assessment to perform a targeted Web Application Penetration Test of Trilocor’s externally facing web applications to identify high-risk security weaknesses, determine the impact to Trilocor, document all findings in a clear and repeatable manner, and provide remediation recommendations.
The following types of findings are in-scope for this assessment:
* Sensitive or personally identifiable information disclosure
* Cross-Site Scripting (XSS)
* Remote Code Execution (RCE)
* Arbitrary file upload
* All forms of session attacks
* All forms of server-side attacks (excluding DoS ones)
* Authentication or authorization flaws, such as insecure direct object references (IDOR) and authentication bypasses
* All forms of injection vulnerabilities
* Directory traversal
* Local file read
* Significant security misconfigurations and business logic flaws
* Exposed credentials that could be leveraged to gain further access
The following types of activities are considered out-of-scope for this assessment:
* Scanning and assessing any other IP in the Entry Point's network
* Physical attacks against Trilocor properties
* Unverified scanner output
* Man-in-the-Middle attacks
* Any vulnerabilities identified through DDoS or spam attacks
* Self-XSS
* Login/logout CSRF
* Issues with SSL certificates, open ports, TLS versions, or missing HTTP response headers
* Vulnerabilities in third-party libraries unless they can be leveraged to significantly impact the target
* Any theoretical attacks or attacks that require significant user interaction or low risk
Scope
The scope of this assessment is as follows:
* www.trilocor.local, any identified *.trilocor.local subdomain and any open web server ports discovered on the "Entry Point" IP address that will become visible upon pressing "SPAWN INSTANCE" (Step 2 below).
* Scanning any other IP in the Entry Point's network is NOT allowed!
* Five (5) different applications exist, as well as simulated users in certain application locations that you can attack.
URL
Description
www.trilocor.local
Main Trilocor website
Discover the port
PR website
Discover the port
Jobs portal
Discover the port
HR website
Discover the port
Online shop
Connectivity Prerequisites
If you are using Pwnbox to conduct your exam web application security assessment activities, please make sure that eu-academy-exams-X or us-academy-exams-X is visible when opening a terminal. Then and only then Pwnbox will be able to reach the exam lab's applications. If you see otherwise, you will need to terminate any spawned Pwnbox in a module and spawn a new one from inside the exam lab's page (Step 1 below).
If you are using your own attacking virtual machine to connect to the exam lab's VPN, then you can test your connectivity by adding an entry regarding www.trilocor.local in your virtual machine's hosts file and browsing http://www.trilocor.local.
Exam Objectives
To be awarded the HTB Certified Web Exploitation Specialist (HTB CWES) certification you must:
* Obtain a minimum of 80 points by successfully completing the tasks below AND
* Compose and submit a commercial-grade report including all identified vulnerabilities, evidence of successful exploitation (in a step-by-step manner), and remediation advice, based on the provided report template.
TASK1
Try to gain access to the admin dashboard of Trilocor's main website to read the flag. (10 points)
TASK2
Try to gain remote code execution on Trilocor's main website to read the (.txt) flag in the '/' directory. (5 points)
TASK3
Try to bypass the login screen on Trilocor's HR dashboard application to read the flag. (5 points)
TASK4
Try to gain remote code execution on Trilocor's HR dashboard application to read the (.txt) flag in the '/' directory. (15 points)
TASK5
Try to gain access to the admin panel of Trilocor's Jobs Portal to read the flag. (10 points)
TASK6
Try to gain remote code execution on Trilocor's Jobs Portal to read the (.txt) flag in the '/' directory. (10 points)
TASK7
Try to gain access to Trilocor's PR admin panel to read the flag. (5 points)
TASK8
Try to gain remote code execution on Trilocor's PR admin panel to read the (.txt) flag in the '/' directory. (15 points)
TASK9
Try to gain admin access on Trilocor's Shop to read the flag. (10 points)
TASK10
Try to gain remote code execution on the Trilocor Shop application to read the (.txt) flag in the '/' directory. (15 points)
vi /etc/hosts
10.129.205.208 www.trilocor.local trilocor.local
nmap -sS -Pn -n --open -p- 10.129.205.208 --min-rate 3000
nmap -sS -Pn -n --open -p- 10.129.205.208 --min-rate 3000
Starting Nmap 7.93 ( https://nmap.org ) at 2026-01-01 18:14 KST
Nmap scan report for 10.129.205.208
Host is up (0.21s latency).
Not shown: 65528 closed tcp ports (reset), 2 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE
80/tcp open http
8009/tcp open ajp13
8080/tcp open http-proxy
8088/tcp open radan-http
9000/tcp open cslistener
Nmap done: 1 IP address (1 host up) scanned in 22.53 seconds
[Jan 01, 2026 - 18:17:56 (KST)] exegol-pentest /workspace # nmap -sC -sV -Pn -n --open -p80,8009,8080,8088,9000 10.129.205.208 --min-rate 3000 -oA cwes_svc
Starting Nmap 7.93 ( https://nmap.org ) at 2026-01-01 18:18 KST
Nmap scan report for 10.129.205.208
Host is up (0.21s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Did not follow redirect to http://www.trilocor.local/
|_http-server-header: Apache/2.4.41 (Ubuntu)
8009/tcp open http nginx
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
|_http-title: Trilocor Public Relations
|_ajp-methods: Failed to get a valid response for the OPTION request
8080/tcp open http Apache httpd 2.4.54 ((Unix))
|_http-open-proxy: Proxy might be redirecting requests
| http-title: Trilocor - Job Portal
|_Requested resource was /login.php
|_http-server-header: Apache/2.4.54 (Unix)
8088/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Human Resources - Login
9000/tcp open http nginx
|_http-title: TRILOCOR Shop | Home
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.47 seconds
[Jan 01, 2026 - 18:20:46 (KST)] exegol-pentest /workspace # curl -s -i http://www.trilocor.local/robots.txt
HTTP/1.1 200 OK
Date: Thu, 01 Jan 2026 09:21:06 GMT
Server: Apache/2.4.41 (Ubuntu)
Link: ; rel="https://api.w.org/"
Vary: Accept-Encoding
Content-Length: 118
Content-Type: text/plain; charset=utf-8
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: http://www.trilocor.local/wp-sitemap.xml
[Jan 01, 2026 - 18:29:50 (KST)] exegol-pentest /workspace # curl -s -i http://www.trilocor.local/wp-login.php | sed -n '1,20p'
HTTP/1.1 403 Forbidden
Date: Thu, 01 Jan 2026 09:33:10 GMT
Server: Apache/2.4.41 (Ubuntu)
Content-Length: 283
Content-Type: text/html; charset=iso-8859-1
403 Forbidden
Forbidden
You don't have permission to access this resource.