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
kube-hunter — Sicherheitsschwachstellen in Kubernetes-Clustern aufspüren | Kitploit
Tools/GitHubGitHub/aquasecurity/kube-hunter
SchwachstellenscannerContainer-SicherheitPenetrationstestsCloud-SicherheitFehlkonfiguration
GitHubaquasecurity/kube-hunter

kube-hunter

Sicherheitsschwachstellen in Kubernetes-Clustern aufspüren

Repository anzeigen
5.1k611vor 2 JahrenVon 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

Hinweis

kube-hunter wird nicht mehr aktiv weiterentwickelt. Wenn Sie Kubernetes-Cluster auf bekannte Schwachstellen scannen möchten, empfehlen wir die Verwendung von Trivy. Insbesondere Trivys Kubernetes-Fehlkonfigurationsscan und KBOM-Schwachstellenscan. Erfahren Sie mehr in der Trivy-Dokumentation.


kube-hunter jagt nach Sicherheitslücken in Kubernetes-Clustern. Das Tool wurde entwickelt, um das Bewusstsein und die Sichtbarkeit für Sicherheitsprobleme in Kubernetes-Umgebungen zu erhöhen. Sie sollten kube-hunter NICHT auf einem Kubernetes-Cluster ausführen, der Ihnen nicht gehört!

kube-hunter ausführen: kube-hunter ist als Container verfügbar (aquasec/kube-hunter), und wir bieten auch eine Website unter kube-hunter.aquasec.com an, auf der Sie sich online registrieren können, um einen Token zu erhalten, mit dem Sie die Ergebnisse online einsehen und teilen können. Sie können den Python-Code auch selbst ausführen, wie unten beschrieben.

Schwachstellen erkunden: Die Wissensdatenbank von kube-hunter enthält Artikel über erkennbare Schwachstellen und Probleme. Wenn kube-hunter ein Problem meldet, zeigt es seine VID (Vulnerability ID) an, sodass Sie es in der KB unter https://aquasecurity.github.io/kube-hunter/ nachschlagen können.
Wenn Sie an der Integration von kube-hunter mit der Kubernetes ATT&CK Matrix interessiert sind, lesen Sie weiter hier

kube-hunter Demovideo

Inhaltsverzeichnis

  • Inhaltsverzeichnis
    • Kubernetes ATT&CK Matrix
    • Jagen (Hunting)
      • Wo sollte ich kube-hunter ausführen?
      • Scan-Optionen
      • Authentifizierung
      • Aktives Jagen
      • Liste der Tests
      • Knoten-Mapping
      • Ausgabe
      • Versand (Dispatching)
    • Erweiterte Nutzung
      • Azure Schnellscan
      • Benutzerdefiniertes Jagen
    • Bereitstellung
      • Auf dem Rechner
        • Voraussetzungen
          • Installation mit pip
          • Ausführen aus dem Quellcode
      • Container
      • Pod
    • Beitrag (Contribution)
    • Lizenz

Kubernetes ATT&CK Matrix

kube-hunter unterstützt nun das neue Format der Kubernetes ATT&CK-Matrix. Während die Schwachstellen von kube-hunter eine Sammlung kreativer Techniken sind, die einen Angreifer im Cluster (oder außerhalb) nachahmen sollen, definiert Mitres ATT&CK eine allgemeinere standardisierte Kategorisierung von Techniken.

Man kann sich die Schwachstellen von kube-hunter als kleine Schritte eines Angreifers vorstellen, die dem Pfad einer allgemeineren Technik folgen, auf die er abzielt. Die meisten Jäger und Schwachstellen von kube-hunter lassen sich eng unter diese Techniken einordnen. Daher sind wir dazu übergegangen, dem Matrix-Standard zu folgen.

Einige Schwachstellen von kube-hunter, die wir keiner Mitre-Technik zuordnen konnten, sind mit dem Schlüsselwort General gekennzeichnet. kube-hunter

Jagen (Hunting)

Wo sollte ich kube-hunter ausführen?

Es gibt drei verschiedene Möglichkeiten, kube-hunter auszuführen, die jeweils einen anderen Ansatz zur Erkennung von Schwachstellen in Ihrem Cluster bieten:

Führen Sie kube-hunter auf einem beliebigen Rechner (einschließlich Ihres Laptops) aus, wählen Sie die Remote-Scanning-Option und geben Sie die IP-Adresse oder den Domainnamen Ihres Kubernetes-Clusters an. Dies gibt Ihnen die Sicht eines Angreifers auf Ihre Kubernetes-Einrichtung.

Sie können kube-hunter direkt auf einem Rechner im Cluster ausführen und die Option wählen, alle lokalen Netzwerkschnittstellen zu scannen.

Sie können kube-hunter auch in einem Pod innerhalb des Clusters ausführen. Dies zeigt, wie exponiert Ihr Cluster wäre, wenn einer Ihrer Anwendungs-Pods kompromittiert wird (z. B. durch eine Software-Sicherheitslücke). (--pod Flag)

Scan-Optionen

Überprüfen Sie zunächst diese Voraussetzungen.

Standardmäßig öffnet kube-hunter eine interaktive Sitzung, in der Sie eine der folgenden Scan-Optionen auswählen können. Sie können die Scan-Option auch manuell über die Befehlszeile angeben. Ihre Optionen:

  1. Remote-Scanning

Um entfernte Rechner zum Jagen anzugeben, wählen Sie Option 1 oder verwenden Sie die Option --remote. Beispiel: kube-hunter --remote some.node.com

  1. Schnittstellen-Scanning

Um das Scannen von Schnittstellen anzugeben, können Sie die Option --interface verwenden (dadurch werden alle Netzwerkschnittstellen des Rechners gescannt). Beispiel: kube-hunter --interface

  1. Netzwerk-Scanning

Um ein bestimmtes CIDR zu scannen, verwenden Sie die Option --cidr. Beispiel: kube-hunter --cidr 192.168.0.0/24

  1. Automatische Erkennung von Kubernetes-Knoten

Setzen Sie das Flag --k8s-auto-discover-nodes, um Kubernetes nach allen Knoten im Cluster abzufragen und dann zu versuchen, alle zu scannen. Standardmäßig wird die In-Cluster-Konfiguration verwendet, um eine Verbindung zur Kubernetes-API herzustellen. Wenn Sie eine explizite kubeconfig-Datei verwenden möchten, setzen Sie --kubeconfig /pfad/zur/kubeconfig/datei.

Beachten Sie auch, dass dies immer im --pod-Modus durchgeführt wird.

Authentifizierung

Um einen Angreifer in seinen frühen Phasen nachzuahmen, benötigt kube-hunter keine Authentifizierung für die Jagd.

  • Impersonate - Sie können kube-hunter ein bestimmtes Service-Account-Token zur Verwendung während der Jagd bereitstellen, indem Sie das JWT-Bearer-Token des Service-Account-Secrets manuell mit dem Flag --service-account-token übergeben.

    Beispiel:

    root@kitploit:~
    $ kube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
    
  • Bei Verwendung des --pod-Flags verwendet kube-hunter das Service-Account-Token, das innerhalb des Pods eingebunden ist, um sich bei Diensten zu authentifizieren, die während der Jagd gefunden werden.

    • Falls angegeben, hat das Flag --service-account-token Priorität, wenn als Pod ausgeführt wird.

Aktives Jagen

Aktives Jagen ist eine Option, bei der kube-hunter gefundene Schwachstellen ausnutzt, um nach weiteren Schwachstellen zu suchen. Der Hauptunterschied zwischen normalem und aktivem Jagen besteht darin, dass ein normales Jagen niemals den Zustand des Clusters ändert, während aktives Jagen potenziell zustandsändernde Operationen am Cluster durchführen kann, die schädlich sein können.

Standardmäßig führt kube-hunter kein aktives Jagen durch. Verwenden Sie das Flag --active, um einen Cluster aktiv zu jagen. Beispiel: kube-hunter --remote some.domain.com --active

Liste der Tests

Sie können die Liste der Tests mit der Option --list einsehen. Beispiel: kube-hunter --list

Um sowohl aktive als auch passive Jagd-Tests zu sehen: kube-hunter --list --active

Knoten-Mapping

Um nur eine Abbildung Ihres Knotennetzwerks zu sehen, führen Sie mit der Option --mapping aus. Beispiel: kube-hunter --cidr 192.168.0.0/24 --mapping Dies gibt alle Kubernetes-Knoten aus, die kube-hunter gefunden hat.

Ausgabe

Um die Protokollierung zu steuern, können Sie eine Protokollebene mit der Option --log angeben. Beispiel: kube-hunter --active --log WARNING Verfügbare Protokollebenen sind:

  • DEBUG
  • INFO (Standard)
  • WARNING

Versand (Dispatching)

Standardmäßig wird der Bericht an stdout gesendet, aber Sie können andere Methoden mit der Option --dispatch angeben. Beispiel: kube-hunter --report json --dispatch http Verfügbare Versandmethoden sind:

  • stdout (Standard)
  • http (zum Konfigurieren setzen Sie die folgenden Umgebungsvariablen:)
    • KUBEHUNTER_HTTP_DISPATCH_URL (Standard: https://localhost)
    • KUBEHUNTER_HTTP_DISPATCH_METHOD (Standard: POST)

Erweiterte Nutzung

Azure Schnellscan

Bei der Ausführung als Pod in einer Azure- oder AWS-Umgebung ruft kube-hunter Subnetze vom Instance Metadata Service ab. Dies macht den Erkennungsprozess natürlich länger. Um das Subnetz-Scannen auf ein /24-CIDR zu begrenzen, verwenden Sie die Option --quick.

Benutzerdefiniertes Jagen

Benutzerdefiniertes Jagen ermöglicht fortgeschrittenen Benutzern die Kontrolle darüber, welche Jäger zu Beginn einer Jagd registriert werden. Wenn Sie wissen, was Sie tun, kann dies helfen, das Jagen und den Erkennungsprozess von kube-hunter an Ihre Bedürfnisse anzupassen.

Beispiel:

root@kitploit:~
kube-hunter --custom <JägerName1> <JägerName2>

Durch Aktivieren des benutzerdefinierten Jagens werden alle Jäger aus dem Jagdprozess entfernt, mit Ausnahme der angegebenen freigegebenen Jäger.

Das --custom-Flag liest eine Liste von Jäger-Klassennamen. Um alle Klassennamen von kube-hunter anzuzeigen, können Sie das Flag --raw-hunter-names mit dem --list-Flag kombinieren.

Beispiel:

root@kitploit:~
kube-hunter --active --list --raw-hunter-names

Hinweis: Aufgrund der Architektur von kube-hunter werden die folgenden "Kernjäger/Klassen" immer registriert (auch bei Verwendung von benutzerdefiniertem Jagen):

  • HostDiscovery
    • Generiert IP-Adressen für die Jagd basierend auf gegebenen Konfigurationen
    • Erkennt automatisch Subnetze mithilfe von Cloud-Metadaten-APIs
  • FromPodHostDiscovery
    • Erkennt automatisch IP-Adressen der Angriffsfläche für die Jagd mithilfe von Pod-basierten Umgebungstechniken
    • Erkennt automatisch Subnetze mithilfe von Cloud-Metadaten-APIs
  • PortDiscovery
    • Port-Scanning gegebener IP-Adressen auf bekannte Kubernetes-Dienst-Ports
  • Collector
    • Sammelt entdeckte Schwachstellen und offene Dienste für den zukünftigen Bericht
  • StartedInfo
    • Gibt die Startnachricht aus
  • SendFullReport
    • Versendet den Bericht basierend auf den gegebenen Konfigurationen

Bereitstellung

Es gibt drei Methoden zur Bereitstellung von kube-hunter:

Auf dem Rechner

Sie können kube-hunter direkt auf Ihrem Rechner ausführen.

Voraussetzungen

Sie benötigen Folgendes installiert:

  • Python 3.x
  • pip
Installation mit pip

Installieren:

root@kitploit:~
pip install kube-hunter

Ausführen:

root@kitploit:~
kube-hunter
Ausführen aus dem Quellcode

Klonen Sie das Repository:

root@kitploit:~
git clone https://github.com/aquasecurity/kube-hunter.git

Installieren Sie die Modulabhängigkeiten. (Sie können dies vorzugsweise in einer virtuellen Umgebung tun.)

root@kitploit:~
cd ./kube-hunter
pip install -r requirements.txt

Ausführen:

root@kitploit:~
python3 kube_hunter

Wenn Sie pyinstaller/py2exe verwenden möchten, müssen Sie zuerst das Skript install_imports.py ausführen.

Container

Aqua Security unterhält eine containerisierte Version von kube-hunter unter aquasec/kube-hunter:aqua. Dieser Container enthält diesen Quellcode sowie ein zusätzliches (Closed-Source-)Berichts-Plugin zum Hochladen von Ergebnissen in einen Bericht, der unter kube-hunter.aquasec.com eingesehen werden kann. Bitte beachten Sie, dass die Ausführung des aquasec/kube-hunter-Containers und das Hochladen von Berichtsdaten zusätzlichen Geschäftsbedingungen unterliegen.

Das Dockerfile in diesem Repository ermöglicht es Ihnen, eine containerisierte Version ohne das Berichts-Plugin zu erstellen.

Wenn Sie den kube-hunter-Container mit dem Host-Netzwerk ausführen, kann er alle Schnittstellen des Hosts scannen:

docker run -it --rm --network host aquasec/kube-hunter

Hinweis für Docker für Mac/Windows: Beachten Sie, dass der "Host" für Docker für Mac oder Windows die VM ist, in der Docker Container ausführt. Daher ermöglicht die Angabe von --network host kube-hunter den Zugriff auf die Netzwerkschnittstellen dieser VM, nicht auf die Ihres Rechners. Standardmäßig läuft kube-hunter im interaktiven Modus. Sie können die Scan-Option auch mit den oben beschriebenen Parametern angeben, z.B.

docker run --rm aquasec/kube-hunter --cidr 192.168.0.0/24

Pod

Diese Option ermöglicht es Ihnen herauszufinden, was ein bösartiger Container in Ihrem Cluster tun/entdecken kann. Dies gibt eine Perspektive darauf, was ein Angreifer tun könnte, wenn er in der Lage wäre, einen Pod zu kompromittieren, vielleicht durch eine Software-Sicherheitslücke. Dies kann deutlich mehr Schwachstellen aufdecken.

Die Beispiel-Job-Definition job.yaml definiert einen Job, der kube-hunter in einem Pod ausführt, unter Verwendung der standardmäßigen Kubernetes-Pod-Zugriffseinstellungen. (Sie können diese Definition ändern, z.B. um als Nicht-Root-Benutzer auszuführen oder in einem anderen Namespace.)

  • Führen Sie den Job mit kubectl create -f ./job.yaml aus
  • Finden Sie den Pod-Namen mit kubectl describe job kube-hunter
  • Zeigen Sie die Testergebnisse mit kubectl logs <Pod-Name> an

Beitrag (Contribution)

Um die Richtlinien für Beiträge zu lesen, klicken Sie hier

Lizenz

Dieses Repository ist unter der Apache License 2.0 verfügbar.

Tool herunterladen