
Authentication Bypass in JetBrains TeamCity | CVSS Score: 9.8 (Critical)
This project builds a complete SOC Lab environment to simulate, detect, and respond to CVE-2024-27198 — an authentication bypass vulnerability in JetBrains TeamCity 2023.11.3 using path confusion techniques.
| Component | Technology | Port |
|---|---|---|
| Victim Server | TeamCity 2023.11.3 (Docker) | :8111 |
| Database | PostgreSQL 15 (Docker) | :5432 (internal) |
| SIEM | ELK Stack 8.13 (Docker) | :9200, :5601 |
| IDS | Suricata 7.x | — |
| Attacker | Kali Linux + Burp Suite | — |
cd 1-lab-setup
docker-compose up -d
[TeamCity Dashboard]
TeamCity 2023.11.3 running as the victim server — confirmed vulnerable version>
[Kibana SOC Dashboard]
Real-time log monitoring dashboard showing attack activity timeline (June 19, 2026)
[Kibana Alert Rule]
CVE-2024-27198 Detection Alert rule — Enabled, checking every 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)
Detects path confusion patterns (?jsp=, ;.jsp) targeting TeamCity REST API endpoints with HTTP 200 responses.
| Rule ID | Description |
|---|---|
| SID 9000001 | Path confusion using ;.jsp suffix |
| SID 9000002 | Unauthorized access to /app/rest/users |
| SID 9000003 | POST request creating unauthorized admin |
Automatically tags logs containing ;, .jsp, or jsp= as suspicious and forwards to Elasticsearch index teamcity-logs-*.
See 3-incident-response/playbook/SOC-Playbook.md
| Phase | Action |
|---|---|
| Triage | Verify alert in Kibana / Suricata logs |
| Containment | Block attacker IP via block-ip.sh |
| Eradication | Remove unauthorized accounts, revoke tokens, patch TeamCity |
| Phase | Tactic | Technique | Description |
|---|
| 1 | Reconnaissance | — | Identify TeamCity version 2023.11.3 |
| 2 | Initial Access | T1190 | Exploit auth bypass via ?jsp= path confusion |
| 3 | Privilege Escalation | T1078 | Create unauthorized SYSTEM_ADMIN account |
| 4 | Persistence | T1098 | Generate long-lived access token |