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
KubiScan — Ein Tool zum Scannen von Kubernetes-Clustern auf riskante Berechtigungen | Kitploit
Tools/GitHubGitHub/cyberark/kubiscan
Authentifizierung & AutorisierungPrivilege EscalationSchwachstellenscannerContainer-SicherheitKonfigurationsprüfungInformationsbeschaffungPenetrationstestsCloud-SicherheitSecret-ErkennungFehlkonfigurationRed Teaming
1.4k1417vor 1 JahrVon 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
cyberark/kubiscan

KubiScan

Ein Tool zum Scannen von Kubernetes-Clustern auf riskante Berechtigungen

Repository anzeigen

GitHub release License Stars

Ein Werkzeug zum Scannen von Kubernetes-Clustern auf riskante Berechtigungen im rollenbasierten Zugriffskontrollmodell (RBAC) von Kubernetes. Das Tool wurde im Rahmen der Forschung „Securing Kubernetes Clusters by Eliminating Risky Permissions“ veröffentlicht: https://www.cyberark.com/threat-research-blog/securing-kubernetes-clusters-by-eliminating-risky-permissions/.

Inhaltsverzeichnis

  • Überblick
  • Was kann es tun?
  • Verwendung
    • Container
    • Direkt mit Python3
      • Voraussetzungen
      • Beispiel für die Installation unter Ubuntu
      • Mit KubeConfig-Datei
      • Aus der Ferne mit ServiceAccount-Token
  • Beispiele
  • Demo
  • Riskante Rollen YAML
  • Vorstellung
  • Lizenz
  • Referenzen

Überblick

KubiScan hilft Cluster-Administratoren, Berechtigungen zu identifizieren, die Angreifer möglicherweise ausnutzen könnten, um die Cluster zu kompromittieren.
Dies ist besonders in großen Umgebungen hilfreich, in denen es viele Berechtigungen gibt, die schwierig zu verfolgen sein können.
KubiScan sammelt Informationen über riskante Rollen/Clusterrollen, Rollenbindungen/Clusterrollenbindungen, Benutzer und Pods, automatisiert traditionelle manuelle Prozesse und gibt Administratoren die Transparenz, die sie zur Risikominderung benötigen.

Was kann es tun?

  • Riskante Rollen/Clusterrollen identifizieren
  • Riskante Rollenbindungen/Clusterrollenbindungen identifizieren
  • Riskante Subjekte (Benutzer, Gruppen und Servicekonten) identifizieren
  • Riskante Pods/Container identifizieren
  • Tokens aus Pods auslesen (alle oder nach Namespace)
  • Zugehörige Rollenbindungen/Clusterrollenbindungen zu einer Rolle, Clusterrolle oder einem Subjekt (Benutzer, Gruppe oder Servicekonto) abrufen
  • Subjekte mit einer bestimmten Art („Benutzer“, „Gruppe“ oder „Servicekonto“) auflisten
  • Regeln einer Rollenbindung oder Clusterrollenbindung auflisten
  • Pods anzeigen, die über ein Volume oder Umgebungsvariablen auf geheime Daten zugreifen können
  • Bootstrap-Tokens für den Cluster abrufen
  • CVE-Scan
  • EKS-/AKS-/GKE-Unterstützung

Verwendung

Container

So können Sie es ausführen:

root@kitploit:~
./docker_run.sh <kube_config_file>
# Beispiel: ./docker_run.sh ~/.kube/config

Es kopiert alle in der Konfigurationsdatei referenzierten Dateien in den Container und öffnet eine Shell im Container.

Zum Erstellen des Docker-Images führen Sie aus:

root@kitploit:~
docker build -t kubiscan .

Direkt mit Python3

Voraussetzungen:

  • Python 3.6+
  • Pip3
  • Kubernetes Python Client
  • Prettytable
  • openssl (in Ubuntu integriert) – wird nur für Join-Token verwendet

Beispiel für die Installation unter Ubuntu:

root@kitploit:~
apt-get update  
apt-get install -y python3 python3-pip 
pip3 install -r requirements.txt  

Führen Sie alias kubiscan='python3 /<KubiScan_Ordner>/KubiScan.py' aus, um kubiscan zu verwenden.

Nach der Installation aller oben genannten Anforderungen können Sie es auf zwei Arten ausführen:

Mit KubeConfig-Datei:

Stellen Sie sicher, dass Sie Zugriff auf die Datei ~/.kube/config und alle relevanten Zertifikate haben. Führen Sie einfach aus:
kubiscan <befehl>
Beispiel: kubiscan -rs zeigt alle riskanten Subjekte (Benutzer, Servicekonten und Gruppen) an.

Aus der Ferne mit ServiceAccount-Token

Einige Funktionen erfordern ein privilegiertes Servicekonto mit den folgenden Berechtigungen:

  • Ressourcen: ["roles", "clusterroles", "rolebindings", "clusterrolebindings", "pods", "secrets"]
    Verben: ["get", "list"]
  • Ressourcen: ["pods/exec"]
    Verben: ["create", "get"]

Die meisten Funktionen benötigen dies jedoch nicht, daher können Sie diese Einstellungen für ein eingeschränktes Servicekonto verwenden:
Es kann durch Ausführen von erstellt werden:

root@kitploit:~
kubectl apply -f - << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubiscan-sa
  namespace: default
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
  name: kubiscan-sa-secret
  annotations:
    kubernetes.io/service-account.name: kubiscan-sa
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata: 
  name: kubiscan-clusterrolebinding
subjects: 
- kind: ServiceAccount 
  name: kubiscan-sa
  namespace: default
  apiGroup: ""
roleRef: 
  kind: ClusterRole
  name: kubiscan-clusterrole
  apiGroup: ""
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata: 
  name: kubiscan-clusterrole
rules: 
- apiGroups: ["*"]
  resources: ["roles", "clusterroles", "rolebindings", "clusterrolebindings", "pods"]
  verbs: ["get", "list"]
EOF

Beachten Sie, dass ab Kubernetes 1.24 die Erstellung eines Servicekontos kein Secret mehr erzeugt. Das bedeutet, dass wir das Secret erstellen müssen.
Vor 1.24 können Sie das Secret-Objekt aus den obigen Befehlen entfernen und das Token des Servicekontos in einer Datei speichern:
kubectl get secrets $(kubectl get sa kubiscan-sa -o=jsonpath='{.secrets[0].name}') -o=jsonpath='{.data.token}' | base64 -d > token

Ab 1.24 müssen Sie nichts ändern und speichern das Token so:

root@kitploit:~
kubectl get secrets kubiscan-sa-secret -o=jsonpath='{.data.token}' | base64 -d > token  

Nach dem Speichern des Tokens in der Datei können Sie es wie folgt verwenden:
python3 ./KubiScan.py -ho <master_ip:master_port> -t /token <befehl>

Zum Beispiel:

root@kitploit:~
alias kubiscan='python3 /<KubiScan_Ordner>/KubiScan.py
kubiscan -ho 192.168.21.129:8443 -t /token -rs

Beachten Sie, dass Sie auch die Zertifizierungsstelle (ca.crt) verwenden können, um die SSL-Verbindung zu überprüfen:

root@kitploit:~
kubiscan -ho <master_ip:master_port> -t /token -c /ca.crt <befehl>

Um das privilegierte Servicekonto zu entfernen, führen Sie die folgenden Befehle aus:

root@kitploit:~
kubectl delete clusterroles kubiscan-clusterrole  
kubectl delete clusterrolebindings kubiscan-clusterrolebinding   
kubectl delete sa kubiscan-sa  
kubectl delete secrets kubiscan-sa-secret

Beispiele

Um alle Beispiele zu sehen, führen Sie python3 KubiScan.py -e oder innerhalb des Containers kubiscan -e aus.

Demo

Ein kleines Beispiel zur Nutzung von KubiScan:

Riskante Rollen YAML

Es gibt eine Datei namens risky_roles.yaml. Diese Datei enthält Vorlagen für riskante Rollen mit Priorität.
Obwohl die Art in jeder Rolle Role ist, werden diese Vorlagen mit jeder Rolle/Clusterrolle im Cluster verglichen.
Wenn jede dieser Rollen mit einer Rolle im Cluster überprüft wird, wird geprüft, ob die Rolle im Cluster die Regeln aus der riskanten Rolle enthält. Wenn dies der Fall ist, wird sie als riskant markiert.
Wir haben alle Rollen hinzugefügt, die wir als riskant erachtet haben, aber da jeder den Begriff „riskant“ anders definieren kann, können Sie die Datei ändern, indem Sie Rollen hinzufügen/entfernen, die Sie für mehr/weniger riskant halten.

❤️ Vorstellung

  • Vorgestellt auf der RSA 2020 „Compromising Kubernetes Cluster by Exploiting RBAC Permissions“
  • Vorgestellt auf der RSA 2022 „Attacking and Defending Kubernetes Cluster: Kubesploit vs KubiScan“
  • Artikel von PortSwigger „KubiScan: Open source Kubernetes security tool showcased at Black Hat 2020“

Lizenz

Copyright (c) 2020 CyberArk Software Ltd. Alle Rechte vorbehalten
Dieses Repository ist unter der GPL-3.0-Lizenz lizenziert – siehe LICENSE für weitere Details.

Referenzen:

Für weitere Kommentare, Vorschläge oder Fragen kontaktieren Sie Eviatar Gerzi (@g3rzi) und CyberArk Labs.

Tool herunterladen