
Moderner Cyber Range mit 50 praxisorientierten Herausforderungen in den Bereichen Web, API, Cloud, KI und Blue-Team-Sicherheit. Bietet geführte Angriffsketten, transparenten KI-Simulator und GRC-Nachweisberichterstattung zum Erlernen von Penetrationstests und defensiven Techniken.
Eine moderne verwundbare Anwendung & Cyber Range zum Erlernen von Web-, API-, Cloud-, KI- und Blue-Team-Sicherheit durch praktische Angriffsketten.
╔═══════════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗███╗ ██╗████████╗███████╗███████╗████████╗ ║
║ ██╔══██╗██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝ ║
║ ██████╔╝█████╗ ██╔██╗ ██║ ██║ █████╗ ███████╗ ██║ ║
║ ██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ╚════██║ ██║ ║
║ ██║ ███████╗██║ ╚████║ ██║ ███████╗███████║ ██║ ║
║ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ║
║ MODERN CYBER RANGE · 50 CHALLENGES · 8 TRACKS ║
╚═══════════════════════════════════════════════════════════════╝
★ Markiere dieses Repository mit einem Stern, wenn es dir hilft – es ist kostenlos und hilft anderen, kostenlose Sicherheitsausbildung zu entdecken.
PENTEST-LAB ist keine weitere einzelne Schwachstellen-Box. Es ist eine vollständige Cyber Range, die die Perspektiven von Angreifer und Verteidiger mit GRC-artigem Evidenz-Output kombiniert:
[SYSTEM][USER][RETRIEVED][HISTORY] Kontext, die generierte Ausgabe, die erkannte Injection-Technik und Umschalter für jede Gegenmaßnahme.127.0.0.1, warnt lautstark bei 0.0.0.0, alle Geheimnisse sind gefälscht und klar gekennzeichnet, SSRF zielt auf einen lokalen prozessinternen Mock (kein echter Netzausgang), keine externen Ziele.make verify-registry validiert das Challenge-Register (eindeutige IDs/Flags, erforderliche Felder, Ressourcen, Hinweiszählungen), sodass der Katalog konsistent bleibt.# 1. One-liner (installs deps, seeds the DB, starts the server)
python start_lab.py
# or: make start
Öffne http://localhost:3000 in deinem Browser.
# Backend only
cd backend && npm install && npm start
# Docker (published to 127.0.0.1 only)
docker compose up --build
# Reset captured flags / events / chain progress
make reset
# Refresh demo seed data
make seed
# Smoke test core routes (start the lab first)
make test
# Validate the challenge registry (unique ids/flags, fields, resources)
make verify-registry
# Safe local-only exploit demo (5 challenges)
python demo_exploit.py
Jede Challenge hat: ID, Titel, Pfad, Kategorie, Schwierigkeit, Ziel, verwundbaren Endpunkt, Ausbeutungskonzept, 3 progressive Hinweise (vage → spezifisch → Antwort), Flag, Behebung, Erkennungs-/Evidenznotizen, einen zugeordneten Kontrollbereich und eine Lerne-vor-dem-Lösen-Ressourcenliste.
Klicke auf eine beliebige Challenge-Karte, um das Modal zu öffnen. Es bietet dir:
Eine realistische, vollständig lokale Kette in sechs erkannten Schritten:
Recon → Information Disclosure → Credential/Token Abuse →
Privilege Escalation → Sensitive Data Access → Evidence Report
B=http://127.0.0.1:3000
curl -s $B/api/attack-chain/recon # 1. debug endpoint discloses routes
curl -s $B/api/attack-chain/leak # 2. leaked fake JWT secret (weak123)
# 3. forge admin token -> 4. escalate -> 5. read fake customer records -> 6. report
curl -s $B/api/attack-chain/progress
Verfolge den Fortschritt live im Angriffsketten-Tab.
Der Defender-Tab zeigt dieselben Aktivitäten, die der Angreifer gerade durchgeführt hat: aktuelle Ereignisse, fehlgeschlagene Anmeldungen, verdächtiger API-Zugriff, Datei-Uploads, SSRF-Versuche, Privilegienerweiterungsversuche, erfasste Flags und Angriffskettenfortschritt – jedes Ereignis farblich nach Schweregrad, Flag-Erfassungen mit 🚩 markiert.
curl -s http://localhost:3000/api/blue-team/dashboard
Erstelle einen Bericht aus deinen erfassten Flags, der jedes einem Befund zuordnet mit Schweregrad, betroffenem Endpunkt, Evidenz, geschäftlicher Auswirkung, Behebung, Kontrollbereich und einer Erkennungsmöglichkeit.
# Markdown (default)
curl -s -X POST http://localhost:3000/api/evidence/report \
-H 'Content-Type: application/json' -d '{"format":"markdown"}'
# JSON or CSV
curl -s -X POST http://localhost:3000/api/evidence/report -d '{"format":"csv"}'
# Control domains mapped: Access Control, Logging & Monitoring,
# Secure Development, Secrets Management, Change Management,
# Configuration Management, Data Protection, Incident Response.
⚠️ Dies ist eine breite Zuordnung von Kontrollbereichen für Erkennungs-/GRC-Lernen. Es wird keine Konformität mit einem Standard behauptet.
| Dashboard der Pfade | Angriffskette |
| Defender-Ansicht | Evidenzbericht |
🎬 Demo-GIF: docs/demo.gif – siehe docs/DEMO_WALKTHROUGH.md für ein ~6-minütiges Präsentationsskript. (Lege deine eigenen Aufnahmen in docs/screenshots/ und docs/demo.gif ab, um die Platzhalter zu ersetzen.)
Dieses Labor ist absichtlich verwundbar. Führe es nur in isolierten Umgebungen aus und setze es niemals dem Internet aus.
127.0.0.1 (HOST=127.0.0.1 in backend/.env).HOST=0.0.0.0 gibt eine laute Warnung aus; die UI zeigt ein Gefahrenbanner.├── start_lab.py # one-command launcher (deps + seed + run)
├── demo_exploit.py # safe local-only exploit demo (5 challenges)
├── docker-compose.yml # localhost-only publish
├── Makefile # install / start / reset / test / demo / docker
├── CHALLENGES.md # full challenge catalog
├── frontend/ # dashboard UI (tracks, chain, defender, evidence)
├── backend/
│ ├── server.js # Express app, localhost bind, route wiring
│ ├── challenges/registry.js # CENTRAL challenge registry (50 challenges)
│ ├── ai/ # TRANSPARENT AI simulator + RAG store (no external LLM)
│ ├── utils/events.js # CENTRAL event store + Blue Team feed
│ ├── routes/ # vulnerable + mode routes (api, cloud, ai, shop, ...)
│ ├── scripts/ # init-db, seed, reset, test_routes
│ └── middleware/ # auth (safe), auth.vulnerable, waf, security
├── solutions/ # Python exploit writeups
└── docs/ # SECURITY_REPORT, SETUP, DEMO_WALKTHROUGH
Einen Fehler gefunden oder eine Challenge hinzufügen möchten? Pull Requests willkommen.
backend/challenges/registry.js hinzu (einzige Quelle der Wahrheit).events.captureFlag({ flag, req }) von einer verwundbaren Route aus.make test und make verify-registry vor dem Einreichen aus.Nur für Bildungszwecke. Siehe LICENSE, falls vorhanden. Verwende nur gegen Systeme, die dir gehören oder für die du explizit autorisiert bist zu testen – hier bedeutet das dieses lokale Labor.
Wenn dir dieses Labor geholfen hat, etwas Neues zu lernen:
| Pfad | Was du lernst | # |
|---|
| ◆ Web-App-Pentest | SQLi, IDOR, Datei-Upload, Path Traversal, WAF-Bypass | 14 |
| ◆ API-Sicherheit | BOLA, Massenzuweisung, Rate-Limit-Bypass, Webhooks, GraphQL, CORS-Reflexion, NoSQL-Injection | 7 |
| ◆ Auth & Session | JWT kid/alg-Verwirrung, Refresh-Token-Wiederverwendung, Reset-Tokens, Fixierung, MFA, Host-Header-Reset-Poisoning | 9 |
| ◆ Cloud / DevOps | .env-Leck, SSRF-Metadaten, Docker-Debug, öffentlicher Speicher, CI/CD-Tokens | 5 |
| ◆ KI-Sicherheit | Prompt Injection, indirekte Injection, RAG-Leck/-Vergiftung, Tool-Aufrufe, Multi-Turn-Jailbreak, Output-Filter-Bypass | 7 |
| ◆ Geschäftslogik | Coupon-Stapelung, negative Menge, Race Conditions, Payment-Bypass | 5 |
| ◆ Angriffskette | Geführter End-to-End-Pfad + Legacy-Full-Chain-RCE, mit Evidenz | 2 |
| ◆ Blue-Team-Evidenz | Angriffe erkennen und einen GRC-Bericht erstellen | 1 |
| 50 |