Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
kube-hunter — Chassez les failles de sécurité dans les clusters Kubernetes | Kitploit
Outils/GitHubGitHub/aquasecurity/kube-hunter
Scanners de VulnérabilitésSécurité des ConteneursTests d'IntrusionSécurité CloudMauvaise Configuration
GitHubaquasecurity/kube-hunter

kube-hunter

Chassez les failles de sécurité dans les clusters Kubernetes

Voir le dépôt
5.1k611il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Avis

kube-hunter n'est plus en développement actif. Si vous êtes intéressé par l'analyse des clusters Kubernetes pour des vulnérabilités connues, nous vous recommandons d'utiliser Trivy. Plus précisément, l'analyse de mauvaise configuration Kubernetes de Trivy et l'analyse de vulnérabilités KBOM. En savoir plus dans la documentation Trivy.


kube-hunter traque les faiblesses de sécurité dans les clusters Kubernetes. L'outil a été développé pour accroître la sensibilisation et la visibilité des problèmes de sécurité dans les environnements Kubernetes. Vous ne devez PAS exécuter kube-hunter sur un cluster Kubernetes qui ne vous appartient pas !

Exécuter kube-hunter : kube-hunter est disponible en tant que conteneur (aquasec/kube-hunter), et nous proposons également un site web à kube-hunter.aquasec.com où vous pouvez vous inscrire en ligne pour recevoir un token vous permettant de voir et partager les résultats en ligne. Vous pouvez également exécuter le code Python vous-même comme décrit ci-dessous.

Explorer les vulnérabilités : La base de connaissances de kube-hunter comprend des articles sur les vulnérabilités et problèmes détectables. Lorsque kube-hunter signale un problème, il affiche son VID (Identifiant de vulnérabilité) afin que vous puissiez le consulter dans la KB à https://aquasecurity.github.io/kube-hunter/
Si vous êtes intéressé par l'intégration de kube-hunter avec la matrice ATT&CK Kubernetes, Continuer la lecture

Vidéo de démonstration de kube-hunter

Table des matières

  • Table des matières
    • Matrice ATT&CK Kubernetes
    • Chasse
      • Où dois-je exécuter kube-hunter ?
      • Options d'analyse
      • Authentification
      • Chasse active
      • Liste des tests
      • Cartographie des nœuds
      • Sortie
      • Envoi
    • Utilisation avancée
      • Analyse rapide Azure
      • Chasse personnalisée
    • Déploiement
      • Sur machine
        • Prérequis
          • Installation avec pip
          • Exécution depuis les sources
      • Conteneur
      • Pod
    • Contribution
    • Licence

Matrice ATT&CK Kubernetes

kube-hunter prend désormais en charge le nouveau format de la matrice ATT&CK Kubernetes. Alors que les vulnérabilités de kube-hunter sont une collection de techniques créatives conçues pour imiter un attaquant dans le cluster (ou en dehors), la norme ATT&CK de Mitre définit des catégories de techniques plus générales et standardisées pour y parvenir.

Vous pouvez considérer les vulnérabilités de kube-hunter comme des étapes pour un attaquant, qui suivent la piste d'une technique plus générale qu'il viserait. La plupart des chasseurs et vulnérabilités de kube-hunter peuvent être classés sous ces techniques, c'est pourquoi nous avons décidé de suivre la norme de la matrice.

Certaines vulnérabilités de kube-hunter que nous n'avons pas pu mapper à une technique Mitre sont préfixées par le mot-clé General kube-hunter

Chasse

Où dois-je exécuter kube-hunter ?

Il existe trois façons différentes d'exécuter kube-hunter, chacune offrant une approche différente pour détecter les faiblesses de votre cluster :

Exécutez kube-hunter sur n'importe quelle machine (y compris votre ordinateur portable), sélectionnez l'analyse à distance et donnez l'adresse IP ou le nom de domaine de votre cluster Kubernetes. Cela vous donnera une vue d'attaquant de votre configuration Kubernetes.

Vous pouvez exécuter kube-hunter directement sur une machine du cluster, et sélectionner l'option pour sonder toutes les interfaces réseau locales.

Vous pouvez également exécuter kube-hunter dans un pod à l'intérieur du cluster. Cela indique à quel point votre cluster serait exposé si l'un de vos pods d'application était compromis (par exemple, via une vulnérabilité logicielle). (drapeau --pod)

Options d'analyse

Vérifiez d'abord ces prérequis.

Par défaut, kube-hunter ouvrira une session interactive dans laquelle vous pourrez sélectionner l'une des options d'analyse suivantes. Vous pouvez également spécifier l'option d'analyse manuellement en ligne de commande. Voici vos options :

  1. Analyse à distance

Pour spécifier des machines distantes à chasser, sélectionnez l'option 1 ou utilisez l'option --remote. Exemple : kube-hunter --remote some.node.com

  1. Analyse d'interface

Pour spécifier l'analyse d'interface, vous pouvez utiliser l'option --interface (cela analysera toutes les interfaces réseau de la machine). Exemple : kube-hunter --interface

  1. Analyse réseau

Pour spécifier un CIDR particulier à analyser, utilisez l'option --cidr. Exemple : kube-hunter --cidr 192.168.0.0/24

  1. Auto-découverte des nœuds Kubernetes

Définissez le drapeau --k8s-auto-discover-nodes pour interroger Kubernetes afin d'obtenir tous les nœuds du cluster, puis tentez de les analyser tous. Par défaut, il utilisera la configuration dans le cluster pour se connecter à l'API Kubernetes. Si vous souhaitez utiliser un fichier kubeconfig explicite, définissez --kubeconfig /emplacement/du/fichier/kubeconfig.

Notez également que cela est toujours effectué lors de l'utilisation du mode --pod.

Authentification

Afin d'imiter un attaquant à ses premiers stades, kube-hunter ne nécessite aucune authentification pour la chasse.

  • Impersonnalisation - Vous pouvez fournir à kube-hunter un token de compte de service spécifique à utiliser lors de la chasse en passant manuellement le token JWT Bearer du secret du compte de service avec le drapeau --service-account-token.

    Exemple :

    root@kitploit:~
    $ kube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
    
  • Lors de l'exécution avec le drapeau --pod, kube-hunter utilise le token de compte de service monté à l'intérieur du pod pour s'authentifier auprès des services qu'il trouve pendant la chasse.

    • s'il est spécifié, le drapeau --service-account-token a la priorité lors de l'exécution en tant que pod

Chasse active

La chasse active est une option dans laquelle kube-hunter exploite les vulnérabilités qu'il trouve pour explorer d'autres vulnérabilités. La principale différence entre la chasse normale et la chasse active est qu'une chasse normale ne modifiera jamais l'état du cluster, tandis que la chasse active peut potentiellement effectuer des opérations modifiant l'état du cluster, ce qui pourrait être dangereux.

Par défaut, kube-hunter n'effectue pas de chasse active. Pour chasser activement un cluster, utilisez le drapeau --active. Exemple : kube-hunter --remote some.domain.com --active

Liste des tests

Vous pouvez voir la liste des tests avec l'option --list : Exemple : kube-hunter --list

Pour voir les tests de chasse active ainsi que passive : kube-hunter --list --active

Cartographie des nœuds

Pour voir uniquement une cartographie du réseau de vos nœuds, exécutez avec l'option --mapping. Exemple : kube-hunter --cidr 192.168.0.0/24 --mapping Cela affichera tous les nœuds Kubernetes que kube-hunter a trouvés.

Sortie

Pour contrôler la journalisation, vous pouvez spécifier un niveau de log, en utilisant l'option --log. Exemple : kube-hunter --active --log WARNING Les niveaux de log disponibles sont :

  • DEBUG
  • INFO (par défaut)
  • WARNING

Envoi

Par défaut, le rapport sera envoyé vers stdout, mais vous pouvez spécifier différentes méthodes en utilisant l'option --dispatch. Exemple : kube-hunter --report json --dispatch http Les méthodes d'envoi disponibles sont :

  • stdout (par défaut)
  • http (pour configurer, définissez les variables d'environnement suivantes :)
    • KUBEHUNTER_HTTP_DISPATCH_URL (par défaut : https://localhost)
    • KUBEHUNTER_HTTP_DISPATCH_METHOD (par défaut : POST)

Utilisation avancée

Analyse rapide Azure

Lors de l'exécution en tant que Pod dans un environnement Azure ou AWS, kube-hunter récupérera les sous-réseaux depuis le Service de Métadonnées d'Instance. Naturellement, cela rend le processus de découverte plus long. Pour limiter strictement l'analyse des sous-réseaux à un CIDR /24, utilisez l'option --quick.

Chasse personnalisée

La chasse personnalisée permet aux utilisateurs avancés de contrôler quels chasseurs sont enregistrés au début d'une chasse. Si vous savez ce que vous faites, cela peut aider si vous souhaitez ajuster le processus de chasse et de découverte de kube-hunter selon vos besoins.

Exemple :

root@kitploit:~
kube-hunter --custom <HunterName1> <HunterName2>

Activer la chasse personnalisée supprime tous les chasseurs du processus de chasse, à l'exception des chasseurs autorisés donnés.

Le drapeau --custom lit une liste de noms de classes de chasseurs. Pour voir tous les noms de classes de kube-hunter, vous pouvez combiner le drapeau --raw-hunter-names avec le drapeau --list.

Exemple :

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

Remarque : En raison de la conception architecturale de kube-hunter, les "Chasseurs/Classes de base" suivants seront toujours enregistrés (même lors de l'utilisation de la chasse personnalisée) :

  • HostDiscovery
    • Génère des adresses IP pour la chasse selon les configurations données
    • Découvre automatiquement les sous-réseaux en utilisant les APIs de métadonnées cloud
  • FromPodHostDiscovery
    • Découvre automatiquement les adresses IP de la surface d'attaque pour la chasse en utilisant des techniques basées sur l'environnement Pod
    • Découvre automatiquement les sous-réseaux en utilisant les APIs de métadonnées cloud
  • PortDiscovery
    • Analyse des ports sur les adresses IP données pour les ports de services Kubernetes connus
  • Collector
    • Collecte les vulnérabilités découvertes et les services ouverts pour un rapport futur
  • StartedInfo
    • Affiche le message de démarrage
  • SendFullReport
    • Envoie le rapport en fonction des configurations données

Déploiement

Il existe trois méthodes pour déployer kube-hunter :

Sur machine

Vous pouvez exécuter kube-hunter directement sur votre machine.

Prérequis

Vous devrez avoir installé les éléments suivants :

  • python 3.x
  • pip
Installation avec pip

Installer :

root@kitploit:~
pip install kube-hunter

Exécuter :

root@kitploit:~
kube-hunter
Exécution depuis les sources

Clonez le dépôt :

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

Installez les dépendances du module. (Vous pouvez préférer le faire dans un Environnement Virtuel)

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

Exécutez :

root@kitploit:~
python3 kube_hunter

Si vous souhaitez utiliser pyinstaller/py2exe, vous devez d'abord exécuter le script install_imports.py.

Conteneur

Aqua Security maintient une version conteneurisée de kube-hunter à aquasec/kube-hunter:aqua. Ce conteneur inclut ce code source, ainsi qu'un plugin de rapport supplémentaire (à source fermée) pour télécharger les résultats dans un rapport consultable sur kube-hunter.aquasec.com. Veuillez noter que l'exécution du conteneur aquasec/kube-hunter et le téléchargement des données de rapport sont soumis à des conditions générales supplémentaires.

Le Dockerfile de ce dépôt vous permet de construire une version conteneurisée sans le plugin de rapport.

Si vous exécutez le conteneur kube-hunter avec le réseau hôte, il pourra sonder toutes les interfaces de l'hôte :

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

Note pour Docker pour Mac/Windows : Soyez conscient que l'"hôte" pour Docker pour Mac ou Windows est la VM dans laquelle Docker exécute les conteneurs. Par conséquent, spécifier --network host donne à kube-hunter accès aux interfaces réseau de cette VM, et non à celles de votre machine. Par défaut, kube-hunter s'exécute en mode interactif. Vous pouvez également spécifier l'option d'analyse avec les paramètres décrits ci-dessus, par exemple

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

Pod

Cette option vous permet de découvrir ce qu'un conteneur malveillant peut faire/découvrir sur votre cluster. Cela donne une perspective sur ce qu'un attaquant pourrait faire s'il parvenait à compromettre un pod, peut-être via une vulnérabilité logicielle. Cela peut révéler considérablement plus de vulnérabilités.

Le fichier d'exemple job.yaml définit un Job qui exécutera kube-hunter dans un pod, en utilisant les paramètres d'accès par défaut du pod Kubernetes. (Vous pouvez modifier cette définition, par exemple pour l'exécuter en tant qu'utilisateur non root, ou dans un namespace différent.)

  • Exécutez le job avec kubectl create -f ./job.yaml
  • Trouvez le nom du pod avec kubectl describe job kube-hunter
  • Consultez les résultats des tests avec kubectl logs <nom du pod>

Contribution

Pour lire les directives de contribution, Cliquez ici

Licence

Ce dépôt est disponible sous la Licence Apache 2.0.

Télécharger l’outil