Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Owasp-top-10-k8s-2025 — Praxisorientiertes Capture-the-Flag-Labor für die OWASP Kubernetes Top 10 (2025). Nutzen Sie 11 reale Cluster-Schwachstellen aus, erbeuten Sie Flaggen, wenden Sie dann Korrekturen an und überprüfen Sie diese mit einem automatischen Prüfer. Läuft lokal auf kind. | Kitploit
Tools/GitHubGitHub/hac01/owasp-top-10-k8s-2025
Privilege EscalationContainer-SicherheitSchwachstellenanalyseCTFPenetrationstestsCloud-SicherheitLieferkettensicherheitFehlkonfigurationLernen & BildungRed TeamingLabs & Praxis
458vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
hac01/owasp-top-10-k8s-2025

Owasp-top-10-k8s-2025

Praxisorientiertes Capture-the-Flag-Labor für die OWASP Kubernetes Top 10 (2025). Nutzen Sie 11 reale Cluster-Schwachstellen aus, erbeuten Sie Flaggen, wenden Sie dann Korrekturen an und überprüfen Sie diese mit einem automatischen Prüfer. Läuft lokal auf kind.

Repository anzeigen

OWASP Kubernetes Top 10 (2025), praktisch

Ein Capture-the-Flag, aufbauend auf dem OWASP Kubernetes Top 10 — 2025. Du wurdest angeheuert, um NimbusMart zu red-teamen, ein fiktives E-Commerce-Unternehmen, dessen Cluster schneller wuchs als seine Sicherheit. Zehn Herausforderungen, eine pro OWASP-Risiko (plus ein Bonus) – nutze jede Schwachstelle aus, erobere die Flagge, wende dann die Korrektur an und beweise sie mit dem Checker.

Screenshot 2026-07-03 at 3 02 12 AM

Die Weltbibel (Unternehmen, Dienste, Namespaces, Flag-Schema) befindet sich in labs/NIMBUSMART.md.

Alles läuft lokal auf kind. Führe die verwundbaren Manifeste niemals gegen einen echten Cluster aus.

Erstellt von @hac01.


Was dies abdeckt

Dies ist keine Folienpräsentation – es ist ein funktionierender, von Natur aus verwundbarer Kubernetes-Cluster plus die Werkzeuge, um ihn anzugreifen, zu reparieren und die Reparatur zu überprüfen. In den elf Herausforderungen bekommst du praktische Erfahrung mit:

  • Container- und Node-Sicherheit – privilegierte Pods, hostPath-Mounts und Node- Breakout (K01).
  • RBAC und Autorisierung – Wildcard-ClusterRoles, übermäßig weitreichende ServiceAccounts, und wie ein gestohlener Token jedes Secret erreicht (K02, K09).
  • Secrets-Management – hartcodierte API-Schlüssel in Env/ConfigMaps und sicherere Alternativen (K03).
  • Admission Control & Policy – was durchrutscht, wenn nichts clusterweit Regeln durchsetzt, und wie Pod Security Admission / Policy Engines dies stoppen (K04).
  • Netzwerksegmentierung – flache Pod-Netzwerke vs. NetworkPolicy-Abschottung (K05).
  • Exponierte Komponenten – interne Dashboards und APIs, die über NodePort veröffentlicht werden (K06).
  • Cluster-Komponenten-Hygiene – Standard-Tokens, fehlende Quotas, veraltete/verwundbare Versionen (K07).
  • Cluster-zu-Cloud-Lateralbewegung – ein Pod, der den Node-Metadaten-Endpoint (IMDS) erreicht, um Cloud-Anmeldeinformationen zu stehlen (K08).
  • Authentifizierung – anonymer API-Zugriff und übermäßig gemountete Standard-Tokens (K09).
  • Logging & Monitoring – Erkennung (oder Nichterkennung) von stiller Datenexfiltration, und warum ein Audit-Trail wichtig ist (K10).
  • Supply Chain – unvertraute, veränderbare :latest-Images, die in Produktion ausgeliefert werden (Bonus).

Für jede Herausforderung erhältst du:

  • Ein Missionsbriefing – das NimbusMart-Szenario, dein Zugang und das Ziel.
  • Eine zu erobernde Flagge – nur erreichbar, indem du den Exploit ausführst (auf dem Node, in einem anderen Namespace, über das Netzwerk). Reiche sie in der Web-App ein; die Bestenliste verfolgt deinen Fortschritt und die Punkte (browser localStorage).
  • Progressive Hinweise plus eine Spoiler-Komplettlösung – zuerst kleine Hinweise, dann die vollständige Lösung, wenn du sie möchtest.
  • Eine tiefgehende Übersicht – was die Schwachstelle ist, wie Angreifer sie missbrauchen, Auswirkung, Ursachen.
  • Einen Abwehrleitfaden – konkrete Patches und eine Best-Practices-Checkliste.
  • Einen automatisierten Checker – ein Go-Binary, das deinen Cluster scannt und für jedes Risiko bestätigt, ob die Korrektur hält.

Voraussetzungen

Installiere diese, bevor du beginnst. Das Setup-Skript prüft die ersten vier und bricht schnell mit einer klaren Meldung ab, falls etwas fehlt.

brew-Befehle sind für macOS. Unter Linux verwende deinen Paketmanager oder die verlinkten Originalanleitungen.


Schnellstart (empfohlen) – alles innerhalb eines Clusters

Die Web-App, ein In-Browser-Terminal und der Checker können alle innerhalb des kind- Clusters laufen. Ein Befehl startet alles und gibt die URL aus:

root@kitploit:~
./setup.sh          # oder: make up
#   - erstellt den kind-Cluster, baut Images und lädt sie, stellt bereit, wartet auf Bereitschaft
#   - Web-App:  http://localhost:30090
#   - Terminal: der 'Terminal'-Button in der Web-App

./setup.sh erstellt den Cluster (neu) mit den richtigen Portzuordnungen, baut die beiden Images (nimbusmart-ctf-web, nimbusmart-ctf-terminal), lädt sie in kind und wendet deploy/ an. Erster Durchlauf zieht Basis-Images und dauert ~1-2 Minuten.

root@kitploit:~
./setup.sh            # frischer Cluster + vollständige Plattform (löscht alten 'owasp-labs'-Cluster)
./setup.sh --keep     # vorhandenen 'owasp-labs'-Cluster wiederverwenden, falls vorhanden

Öffne dann http://localhost:30090, wähle eine Herausforderung und verwende den Terminal- Button im Browser, um den Cluster zu steuern.

Der Terminal-Pod läuft als cluster-admin-ServiceAccount, so dass das Terminal im Browser genau diesen Cluster steuert – führe kubectl apply -f labs/... und owasp-k8s-checker --check kNN direkt dort aus.

Warnung: Das In-Browser-Terminal hat effektiv cluster-admin über ein WebSocket. Es ist nur sicher, weil es an deinen lokalen, wegwerfbaren kind-Cluster auf localhost gebunden ist. Setze die Ports 30080/30090/30091 niemals einem unsicheren Netzwerk aus.

Abbau

root@kitploit:~
kind delete cluster --name owasp-labs      # oder: make cluster-down

Repository-Struktur

root@kitploit:~
.
├── setup.sh         Ein-Befehl-Bootstrap (Cluster + Images + Deploy)
├── Makefile         Komfortziele – führe `make help` aus, um sie anzuzeigen
├── web/             Next.js + React-App (weiß/lila Thema) – die UI
├── labs/            Echte K8s-Manifeste pro Risiko (vulnerable.yaml + fixed.yaml + README)
│   ├── NIMBUSMART.md        Weltbibel: Unternehmen, Namespaces, Flag-Schema
│   └── kind-cluster.yaml    Gemeinsame lokale Cluster-Konfiguration (Portzuordnungen)
├── deploy/          Manifeste für In-Cluster-Plattform (Web + Terminal + RBAC) + build.sh
├── terminal-server/ WebSocket-Backend für das In-Browser-Terminal
└── checker/         Go-Binary, das einen Cluster gegen die Top 10 validiert

Nützliche make-Ziele (make help zeigt alle):


Die OWASP Kubernetes Top 10 – 2025

Jede Herausforderung ist eine echte Schwachstelle in NimbusMart's Cluster – wähle ein Ziel, nutze es aus, erobere die Flagge, patche sie dann und beweise die Korrektur mit dem Checker.

Screenshot 2026-07-03 at 3 03 34 AM

Was sich von 2022 geändert hat: Autorisierung (war RBAC) erweitert; Secrets, Netzwerk, Authn und Logging neu angeordnet; Übermäßig exponierte Komponenten (K06) und Cluster-zu-Cloud Lateralbewegung (K08) hinzugefügt; Fehlkonfigurierte + Veraltete Komponenten in K07 zusammengeführt; Supply Chain als Bonus-Herausforderung verschoben. Siehe labs/NIMBUSMART.md für die vollständige Zuordnung von Herausforderung zu Dienst zu Schwachstelle, Schwierigkeitsgrad und Punkte (2000 über 10 Herausforderungen, +300 Bonus).


Manueller / Entwickler-Workflow (ohne die In-Cluster-Plattform)

Bevorzugst du, die UI lokal auszuführen und Labs von deiner eigenen Shell aus zu steuern? Du kannst die Teile von Hand verbinden.

1. Führe die Web-App lokal aus

root@kitploit:~
cd web
npm install
npm run dev
# öffne http://localhost:3000       (oder: make web)

Das Terminal-Backend läuft separat auf :30091 und verwendet deine ~/.kube/config:

root@kitploit:~
make terminal-local

2. Erstelle einen Lab-Cluster

root@kitploit:~
kind create cluster --config labs/kind-cluster.yaml    # oder: make cluster
kubectl config use-context kind-owasp-labs

3. Spiele eine Herausforderung

Jede Herausforderung hat ihr eigenes README, aber das Muster ist dasselbe:

root@kitploit:~
# einige Herausforderungen seeden zuerst ein Ziel (eine Node-Datei, ein Ops-Secret, ...)
kubectl apply -f labs/k01-insecure-workload/setup.yaml       # nur wenn vorhanden

# setze die verwundbare Ressource ein und nutze sie aus, um die Flagge zu erobern
kubectl apply -f labs/k01-insecure-workload/vulnerable.yaml
# ...folge dem Missionsbriefing / den Hinweisen in der Web-App, schnapp dir FLAG{...}, reiche es ein...

# wende die gehärtete Version an und bestätige, dass der Flaggenweg geschlossen ist
kubectl delete -f labs/k01-insecure-workload/vulnerable.yaml
kubectl apply  -f labs/k01-insecure-workload/fixed.yaml

Setze alles zwischen den Herausforderungen mit make clean-labs zurück.

4. Überprüfe mit dem Checker

root@kitploit:~
cd checker
go run . --list            # alle Checks anzeigen
go run . --check k01       # einen einzelnen Check ausführen
go run . --all             # den gesamten Cluster scannen
go run . --all --json      # maschinenlesbar (für CI)
go run . --all -n apps     # auf einen Namespace beschränken

Der Checker beendet sich mit einem Fehlercode ungleich Null, wenn ein Check fehlschlägt, sodass er CI blockieren kann.

Erstelle ein eigenständiges Binary:

root@kitploit:~
cd checker
go build -o owasp-k8s-checker .    # oder: make checker
./owasp-k8s-checker --all

Wie der Checker zu den Labs passt

Jedes checker/checks/kNN.go validiert dieselbe Kontrolle, die das passende Lab lehrt. Setze das fixed.yaml ein, führe go run . --check kNN aus, und du solltest PASS sehen. Setze das vulnerable.yaml ein, und derselbe Check meldet die spezifischen Funde.

Sicherheit: Die verwundbaren Manifeste sind absichtlich ausnutzbar. Verwende nur einen lokalen, wegwerfbaren kind/minikube-Cluster. Lösche ihn, wenn du fertig bist: kind delete cluster --name owasp-labs.

Tool herunterladen
ToolWarumInstallieren
DockerFührt den kind-Cluster aus und baut Images. Muss laufen.Docker Desktop / Engine
kindLokaler Kubernetes-Cluster in Docker.brew install kind
kubectlSprich mit dem Cluster.brew install kubectl
Go 1.21+Baut und führt das Checker-Binary aus.brew install go
Node.js 18+Nur zum lokalen Ausführen der Web-App (make web). Nicht für das Ein-Befehl-In-Cluster-Setup erforderlich.brew install node
ZielWas es tut
make upEin Schuss: Cluster + Images + Deploy (führt setup.sh aus)
make webStarte die Web-App im Dev-Modus auf :3000
make cluster / make cluster-downLokalen kind-Cluster erstellen / löschen
make scanFühre jeden Checker gegen den aktuellen Cluster aus
make check ID=k01Führe einen einzelnen Check aus
make clean-labsLösche alle Lab-Ressourcen (zurücksetzen zwischen Herausforderungen)
IDRisikoLab-Ordner
K01Unsichere Workload-Konfigurationenlabs/k01-insecure-workload
K02Zu permissive Autorisierungskonfigurationenlabs/k02-authorization
K03Fehler im Secrets-Managementlabs/k03-secrets
K04Fehlende clusterweite Policy-Erzwingunglabs/k04-policy-enforcement
K05Fehlende Netzwerksegmentierungssteuerunglabs/k05-network-segmentation
K06Übermäßig exponierte Kubernetes-Komponentenlabs/k06-exposed-components
K07Fehlkonfigurierte und verwundbare Cluster-Komponentenlabs/k07-cluster-components
K08Cluster-zu-Cloud Lateralbewegunglabs/k08-cluster-to-cloud
K09Defekte Authentifizierungsmechanismenlabs/k09-authentication
K10Unzureichendes Logging und Monitoringlabs/k10-logging-monitoring
BonusSupply-Chain-Schwachstellenlabs/kbonus-supply-chain