
Laboratório de detecção SOC e resposta a incidentes simulando a bypass de autenticação CVE-2024-27198 no JetBrains TeamCity. Inclui ELK SIEM, Suricata IDS, regras Sigma e um playbook completo de resposta a incidentes para treinamento prático em segurança.
Desvio de Autenticação no JetBrains TeamCity | Pontuação CVSS: 9.8 (Crítico)
Este projeto constrói um ambiente completo de Laboratório SOC para simular, detectar e responder ao CVE-2024-27198 — uma vulnerabilidade de desvio de autenticação no JetBrains TeamCity 2023.11.3 usando técnicas de confusão de caminho.
| Componente | Tecnologia | Porta |
|---|---|---|
| Servidor Vítima | TeamCity 2023.11.3 (Docker) | :8111 |
| Banco de Dados | 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
[Painel do TeamCity]
TeamCity 2023.11.3 rodando como servidor vítima — versão vulnerável confirmada
[Painel SOC do Kibana]
Painel de monitoramento de logs em tempo real mostrando linha do tempo de atividade de ataque (19 de junho de 2026)
[Regra de Alerta do Kibana]
Regra de Alerta de Detecção CVE-2024-27198 — Ativada, verificando a cada 1 minuto
.
├── 1-lab-setup/
│ ├── docker-compose.yml # Pilha completa: TeamCity + PostgreSQL + ELK
│ ├── logstash.conf # Pipeline de log com detecção de tag suspeita
│ └── kibana.yml # Configuração do Kibana
├── 2-detection/
│ ├── sigma/
│ │ └── cve-2024-27198-detect.yml # Regra de detecção Sigma (MITRE T1190)
│ └── ids-ips/suricata/
│ └── cve-2024-27198.rules # Regras IDS Suricata (3 regras)
├── 3-incident-response/
│ ├── playbook/
│ │ └── SOC-Playbook.md # Triagem → Contenção → Erradicação
│ └── containment/
│ └── block-ip.sh # Script de bloqueio automático de IP
└── 4-evidence/
└── screenshots/ # Evidências de ataque (5 capturas de tela)
Detecta padrões de confusão de caminho (?jsp=, ;.jsp) direcionando endpoints da API REST do TeamCity com respostas HTTP 200.
| ID da Regra | Descrição |
|---|---|
| SID 9000001 | Confusão de caminho usando sufixo ;.jsp |
| SID 9000002 | Acesso não autorizado a /app/rest/users |
| SID 9000003 | Requisição POST criando admin não autorizado |
Automaticamente marca logs contendo ;, .jsp ou jsp= como suspeitos e encaminha para o índice Elasticsearch teamcity-logs-*.
Veja 3-incident-response/playbook/SOC-Playbook.md
| Fase | Ação |
|---|---|
| Triagem | Verificar alerta nos logs do Kibana / Suricata |
| Contenção | Bloquear IP do atacante via block-ip.sh |
| Erradicação | Remover contas não autorizadas, revogar tokens, corrigir TeamCity |
| Fase | Tática | Técnica | Descrição |
|---|
| 1 | Reconhecimento | — | Identificar versão do TeamCity 2023.11.3 |
| 2 | Acesso Inicial | T1190 | Explorar desvio de autenticação via confusão de caminho ?jsp= |
| 3 | Elevação de Privilégio | T1078 | Criar conta não autorizada SYSTEM_ADMIN |
| 4 | Persistência | T1098 | Gerar token de acesso de longa duração |