
Laboratoire de détection SOC et de réponse aux incidents simulant le contournement d'authentification CVE-2024-27198 dans JetBrains TeamCity. Inclut ELK SIEM, Suricata IDS, les règles Sigma, et un playbook complet de réponse aux incidents pour une formation pratique en sécurité.
Contournement d'authentification dans JetBrains TeamCity | Score CVSS : 9.8 (Critique)
Ce projet construit un environnement complet de laboratoire SOC pour simuler, détecter et répondre à CVE-2024-27198 — une vulnérabilité de contournement d'authentification dans JetBrains TeamCity 2023.11.3 utilisant des techniques de confusion de chemin.
| Composant | Technologie | Port |
|---|---|---|
| Serveur victime | TeamCity 2023.11.3 (Docker) | :8111 |
| Base de données | PostgreSQL 15 (Docker) | :5432 (interne) |
| SIEM | ELK Stack 8.13 (Docker) | :9200, :5601 |
| IDS | Suricata 7.x | — |
| Attaquant | Kali Linux + Burp Suite | — |
cd 1-lab-setup
docker-compose up -d
[Tableau de bord TeamCity]
TeamCity 2023.11.3 tournant en tant que serveur victime — version vulnérable confirmée>
[Tableau de bord SOC Kibana]
Tableau de bord de surveillance des logs en temps réel montrant la chronologie de l'activité d'attaque (19 juin 2026)
[Règle d'alerte Kibana]
Règle d'alerte de détection CVE-2024-27198 — Activée, vérification toutes les 1 minute
.
├── 1-lab-setup/
│ ├── docker-compose.yml # Full stack: TeamCity + PostgreSQL + ELK
│ ├── logstash.conf # Log pipeline with suspicious tag detection
│ └── kibana.yml # Kibana configuration
├── 2-detection/
│ ├── sigma/
│ │ └── cve-2024-27198-detect.yml # Sigma detection rule (MITRE T1190)
│ └── ids-ips/suricata/
│ └── cve-2024-27198.rules # Suricata IDS rules (3 rules)
├── 3-incident-response/
│ ├── playbook/
│ │ └── SOC-Playbook.md # Triage → Containment → Eradication
│ └── containment/
│ └── block-ip.sh # Auto IP blocking script
└── 4-evidence/
└── screenshots/ # Attack evidence (5 screenshots)
Détecte les modèles de confusion de chemin (?jsp=, ;.jsp) ciblant les points de terminaison de l'API REST TeamCity avec des réponses HTTP 200.
| ID de règle | Description |
|---|---|
| SID 9000001 | Confusion de chemin utilisant le suffixe ;.jsp |
| SID 9000002 | Accès non autorisé à /app/rest/users |
| SID 9000003 | Requête POST créant un administrateur non autorisé |
Marque automatiquement les logs contenant ;, .jsp, ou jsp= comme suspicious et les transmet vers l'index Elasticsearch teamcity-logs-*.
Voir 3-incident-response/playbook/SOC-Playbook.md
| Phase | Action |
|---|---|
| Tri | Vérifier l'alerte dans les logs Kibana / Suricata |
| Confinement | Bloquer l'IP de l'attaquant via block-ip.sh |
| Éradication | Supprimer les comptes non autorisés, révoquer les jetons, mettre à jour TeamCity |
| Phase | Tactique | Technique | Description |
|---|
| 1 | Reconnaissance | — | Identifier la version 2023.11.3 de TeamCity |
| 2 | Accès initial | T1190 | Exploiter le contournement d'authentification via la confusion de chemin ?jsp= |
| 3 | Élévation de privilèges | T1078 | Créer un compte SYSTEM_ADMIN non autorisé |
| 4 | Persistance | T1098 | Générer un jeton d'accès à longue durée de vie |