
Laboratorio de detección SOC y respuesta a incidentes que simula la omisión de autenticación CVE-2024-27198 en JetBrains TeamCity. Incluye ELK SIEM, Suricata IDS, reglas Sigma y un libro de jugadas completo de respuesta a incidentes para formación práctica en seguridad.
Bypass de Autenticación en JetBrains TeamCity | Puntuación CVSS: 9.8 (Crítico)
Este proyecto construye un entorno completo de Laboratorio SOC para simular, detectar y responder a CVE-2024-27198 — una vulnerabilidad de bypass de autenticación en JetBrains TeamCity 2023.11.3 usando técnicas de confusión de ruta.
| Componente | Tecnología | Puerto |
|---|---|---|
| Servidor Víctima | TeamCity 2023.11.3 (Docker) | :8111 |
| Base de Datos | PostgreSQL 15 (Docker) | :5432 (interno) |
| SIEM | ELK Stack 8.13 (Docker) | :9200, :5601 |
| IDS | Suricata 7.x | — |
| Atacante | Kali Linux + Burp Suite | — |
cd 1-lab-setup
docker-compose up -d
[TeamCity Dashboard]
TeamCity 2023.11.3 ejecutándose como servidor víctima — versión vulnerable confirmada
[Kibana SOC Dashboard]
Panel de monitorización de logs en tiempo real mostrando la línea de tiempo de actividad de ataque (19 de junio de 2026)
[Kibana Alert Rule]
Regla de Alerta de Detección CVE-2024-27198 — Habilitada, comprobando cada 1 minuto
.
├── 1-lab-setup/
│ ├── docker-compose.yml # Stack completo: TeamCity + PostgreSQL + ELK
│ ├── logstash.conf # Pipeline de logs con detección de etiquetas sospechosas
│ └── kibana.yml # Configuración de Kibana
├── 2-detection/
│ ├── sigma/
│ │ └── cve-2024-27198-detect.yml # Regla de detección Sigma (MITRE T1190)
│ └── ids-ips/suricata/
│ └── cve-2024-27198.rules # Reglas IDS de Suricata (3 reglas)
├── 3-incident-response/
│ ├── playbook/
│ │ └── SOC-Playbook.md # Triage → Contención → Erradicación
│ └── containment/
│ └── block-ip.sh # Script de bloqueo automático de IP
└── 4-evidence/
└── screenshots/ # Evidencia de ataque (5 capturas de pantalla)
Detecta patrones de confusión de ruta (?jsp=, ;.jsp) dirigidos a endpoints de la API REST de TeamCity con respuestas HTTP 200.
| ID de Regla | Descripción |
|---|---|
| SID 9000001 | Confusión de ruta usando sufijo ;.jsp |
| SID 9000002 | Acceso no autorizado a /app/rest/users |
| SID 9000003 | Solicitud POST creando administrador no autorizado |
Etiqueta automáticamente logs que contienen ;, .jsp o jsp= como suspicious y los reenvía al índice de Elasticsearch teamcity-logs-*.
Véase 3-incident-response/playbook/SOC-Playbook.md
| Fase | Acción |
|---|---|
| Triage | Verificar alerta en logs de Kibana / Suricata |
| Contención | Bloquear IP del atacante mediante block-ip.sh |
| Erradicación | Eliminar cuentas no autorizadas, revocar tokens, aplicar parche a TeamCity |
| Fase | Táctica | Técnica | Descripción |
|---|
| 1 | Reconocimiento | — | Identificar versión de TeamCity 2023.11.3 |
| 2 | Acceso Inicial | T1190 | Explotar bypass de autenticación mediante confusión de ruta ?jsp= |
| 3 | Escalada de Privilegios | T1078 | Crear cuenta no autorizada SYSTEM_ADMIN |
| 4 | Persistencia | T1098 | Generar token de acceso de larga duración |