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 Lernen von Web-, API-, Cloud-, KI- und Blue-Team-Sicherheit durch praxisnahe Angriffsketten.
╔═══════════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗███╗ ██╗████████╗███████╗███████╗████████╗ ║
║ ██╔══██╗██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝ ║
║ ██████╔╝█████╗ ██╔██╗ ██║ ██║ █████╗ ███████╗ ██║ ║
║ ██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ╚════██║ ██║ ║
║ ██║ ███████╗██║ ╚████║ ██║ ███████╗███████║ ██║ ║
║ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ║
║ MODERN CYBER RANGE · 53 CHALLENGES · 8 TRACKS ║
╚═══════════════════════════════════════════════════════════════╝
★ Star dieses Repo, wenn es dir hilft – es ist kostenlos und hilft anderen, kostenlose Sicherheitsbildung zu entdecken.
PENTEST-LAB ist keine weitere Box mit einer einzelnen Schwachstelle. Es ist eine vollständige Cyber Range, die die Perspektiven von Angreifer und Verteidiger mit GRC-orientierter Beweisausgabe kombiniert:
[SYSTEM][USER][RETRIEVED][HISTORY]-Kontext, die generierte Ausgabe, die erkannte
Injection-Technik und Schalter für jede Gegenmaßnahme.127.0.0.1, warnt laut bei 0.0.0.0, alle
Geheimnisse sind gefälscht und klar gekennzeichnet, SSRF-Ziele sind ein lokaler
prozessinterner Mock (kein echter ausgehender Verkehr), keine externen Ziele.make verify-registry validiert das Herausforderungsregister
(eindeutige IDs/Flags, Pflichtfelder, Ressourcen, Hinweiszahlen), sodass der Katalog
konsistent bleibt.# 1. Einzeiler (installiert Abhängigkeiten, befüllt die DB, startet den Server)
python start_lab.py
# oder: make start
Öffne http://localhost:3000 in deinem Browser.
# Nur Backend
cd backend && npm install && npm start
# Docker (nur auf 127.0.0.1 veröffentlicht)
docker compose up --build
# Erfasste Flags / Ereignisse / Kettenfortschritt zurücksetzen
make reset
# Demo-Seeddaten aktualisieren
make seed
# Smoke-Test der Kernrouten (Labor zuerst starten)
make test
# Herausforderungsregister validieren (eindeutige IDs/Flags, Felder, Ressourcen)
make verify-registry
# Sichere lokale Exploit-Demo (5 Herausforderungen)
python demo_exploit.py
| Track | 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, Fixation, MFA, Host-Header-Reset-Poisoning | 9 |
| ◆ Cloud / DevOps | .env-Leak, SSRF-Metadaten, Docker-Debug, öffentlicher Speicher, CI/CD-Tokens | 5 |
| ◆ KI-Sicherheit | Prompt-Injection, indirekte Injection, RAG-Leak/Poisoning, Tool-Aufrufe, Multi-Turn-Jailbreak, Output-Filter-Bypass und dreistufige Audit-Übungen | 10 |
| ◆ Geschäftslogik | Coupon-Stapelung, negative Menge, Race Conditions, Zahlungs-Bypass | 5 |
| ◆ Angriffskette | Geführter End-to-End-Pfad + Legacy-Vollketten-RCE, mit Beweisen | 2 |
| ◆ Blue-Team-Beweise | Angriffe erkennen und einen GRC-Bericht erstellen | 1 |
| 53 |
Jede Herausforderung hat: ID, Titel, Track, Kategorie, Schwierigkeit, Ziel, verwundbaren Endpunkt, Ausnutzungskonzept, 3 progressive Hinweise (vage → spezifisch → Antwort), Flag, Behebung, Erkennungs-/Beweisnotizen, einen zugeordneten Kontrollbereich und eine Lernen-vor-dem-Lösen-Ressourcenliste.
Klicke auf eine beliebige Herausforderungskarte, um das Modal zu öffnen. Es bietet dir:
Eine realistische, vollständig lokale Kette in sechs erkannten Schritten:
Recon → Informationsoffenlegung → Anmeldedaten-/Token-Missbrauch →
Privilegieneskalation → Zugriff auf sensible Daten → Beweisbericht
B=http://127.0.0.1:3000
curl -s $B/api/attack-chain/recon # 1. Debug-Endpunkt legt Routen offen
curl -s $B/api/attack-chain/leak # 2. geleaktes Fake-JWT-Geheimnis (weak123)
# 3. Admin-Token fälschen -> 4. eskalieren -> 5. Fake-Kundendatensätze lesen -> 6. Bericht
curl -s $B/api/attack-chain/progress
Verfolge den Fortschritt live im Tab Angriffskette.
Der Tab Verteidiger zeigt dieselbe Aktivität, die der Angreifer gerade ausgeführt hat: aktuelle Ereignisse, fehlgeschlagene Logins, verdächtiger API-Zugriff, Datei-Uploads, SSRF- Versuche, Privilegieneskalationsversuche, erfasste Flags und Angriffskettenfortschritt – jedes Ereignis schweregradfarbig, Flag-Erfassungen mit 🚩 markiert.
curl -s http://localhost:3000/api/blue-team/dashboard
Erstelle einen Bericht aus deinen erfassten Flags, der jedes einem Befund mit Schweregrad, betroffenem Endpunkt, Beweis, geschäftlichen Auswirkungen, Behebung, Kontrollbereich und einer Erkennungsmöglichkeit zuordnet.
# Markdown (Standard)
curl -s -X POST http://localhost:3000/api/evidence/report \
-H 'Content-Type: application/json' -d '{"format":"markdown"}'
# JSON oder CSV
curl -s -X POST http://localhost:3000/api/evidence/report \
-H 'Content-Type: application/json' -d '{"format":"csv"}'
# Zugeordnete Kontrollbereiche: Zugriffskontrolle, Protokollierung & Überwachung,
# Sichere Entwicklung, Geheimnisverwaltung, Änderungsmanagement,
# Konfigurationsmanagement, Datenschutz, Incident Response.
⚠️ Dies ist eine breite Kontrollbereichszuordnung für Erkennungs-/GRC-Lernen. Sie behauptet keine Konformität mit irgendeinem Standard.
Das Repository enthält keine Screenshots oder ein aufgezeichnetes GIF. Wenn du
lokale Demo-Assets erstellst, lege sie unter docs/screenshots/ ab und dokumentiere den
Erfassungsprozess daneben. Das präsentationsfertige
docs/DEMO_WALKTHROUGH.md ist das gepflegte Demo-
Skript.
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 # Ein-Befehl-Starter (Abhängigkeiten + Seed + Ausführung)
├── demo_exploit.py # sichere lokale Exploit-Demo (5 Herausforderungen)
├── docker-compose.yml # nur localhost-Veröffentlichung
├── Makefile # install / start / reset / test / demo / docker
├── CHALLENGES.md # vollständiger Herausforderungskatalog
├── frontend/ # Dashboard-UI (Tracks, Kette, Verteidiger, Beweise)
├── backend/
│ ├── server.js # Express-App, localhost-Bindung, Routenverdrahtung
│ ├── challenges/registry.js # ZENTRALES Herausforderungsregister (53 Herausforderungen)
│ ├── ai/ # TRANSPARENTER KI-Simulator + RAG-Speicher (kein externes LLM)
│ ├── utils/events.js # ZENTRALER Ereignisspeicher + Blue-Team-Feed
│ ├── routes/ # verwundbare + Modus-Routen (api, cloud, ai, shop, ...)
│ ├── scripts/ # init-db, seed, reset, test_routes
│ └── middleware/ # auth (sicher), auth.vulnerable, waf, security
├── solutions/ # Python-Exploit-Writeups
└── docs/ # Setup-, Tool-, Demo- und Angriffsketten-Anleitungen
Einen Fehler gefunden oder möchtest du eine Herausforderung hinzufügen? PRs sind 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 es nur gegen Systeme, die du
besitzt oder für die du ausdrücklich autorisiert bist, sie zu testen – hier bedeutet das dieses lokale Labor.
Wenn dieses Labor dir geholfen hat, etwas Neues zu lernen: