Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
kube-hunter — Buscar debilidades de seguridad en clústeres de Kubernetes | Kitploit
Herramientas/GitHubGitHub/aquasecurity/kube-hunter
Escáneres de VulnerabilidadesSeguridad de ContenedoresPruebas de PenetraciónSeguridad en la NubeMala Configuración
GitHubaquasecurity/kube-hunter

kube-hunter

Buscar debilidades de seguridad en clústeres de Kubernetes

Ver Repositorio
5.1k611hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Aviso

kube-hunter ya no está en desarrollo activo. Si estás interesado en escanear clústeres de Kubernetes en busca de vulnerabilidades conocidas, te recomendamos usar Trivy. En concreto, el escaneo de configuraciones erróneas de Kubernetes y el escaneo de vulnerabilidades KBOM de Trivy. Obtén más información en la documentación de Trivy.


kube-hunter busca debilidades de seguridad en clústeres de Kubernetes. La herramienta fue desarrollada para aumentar la conciencia y visibilidad sobre los problemas de seguridad en entornos Kubernetes. ¡NO debes ejecutar kube-hunter en un clúster de Kubernetes que no te pertenezca!

Ejecuta kube-hunter: kube-hunter está disponible como contenedor (aquasec/kube-hunter) y también ofrecemos un sitio web en kube-hunter.aquasec.com donde puedes registrarte en línea para recibir un token que te permitirá ver y compartir los resultados en línea. También puedes ejecutar el código Python tú mismo como se describe a continuación.

Explora vulnerabilidades: La base de conocimiento de kube-hunter incluye artículos sobre vulnerabilidades y problemas detectables. Cuando kube-hunter informa de un problema, mostrará su VID (ID de Vulnerabilidad) para que puedas consultarlo en la KB en https://aquasecurity.github.io/kube-hunter/
Si estás interesado en la integración de kube-hunter con la Matriz ATT&CK de Kubernetes, continúa leyendo

Video de demostración de kube-hunter

Tabla de Contenidos

  • Tabla de Contenidos
    • Matriz ATT&CK de Kubernetes
    • Cacería
      • ¿Dónde debería ejecutar kube-hunter?
      • Opciones de escaneo
      • Autenticación
      • Cacería Activa
      • Lista de pruebas
      • Mapeo de Nodos
      • Salida
      • Despacho
    • Uso Avanzado
      • Escaneo Rápido en Azure
      • Cacería Personalizada
    • Despliegue
      • En Máquina
        • Requisitos previos
          • Instalar con pip
          • Ejecutar desde el código fuente
      • Contenedor
      • Pod
    • Contribución
    • Licencia

Matriz ATT&CK de Kubernetes

kube-hunter ahora soporta el nuevo formato de la matriz ATT&CK de Kubernetes. Mientras que las vulnerabilidades de kube-hunter son una colección de técnicas creativas diseñadas para imitar a un atacante dentro del clúster (o fuera de él), la ATT&CK de Mitre define categorías más generales y estandarizadas de técnicas para hacerlo.

Puedes pensar en las vulnerabilidades de kube-hunter como pequeños pasos para un atacante, que siguen la pista de una técnica más general que buscaría. La mayoría de los cazadores y vulnerabilidades de kube-hunter pueden encajar estrechamente bajo esas técnicas, por eso hemos decidido seguir el estándar de la matriz.

Algunas vulnerabilidades de kube-hunter que no pudimos mapear a una técnica de Mitre tienen el prefijo General
kube-hunter

Cacería

¿Dónde debería ejecutar kube-hunter?

Hay tres formas diferentes de ejecutar kube-hunter, cada una proporciona un enfoque diferente para detectar debilidades en tu clúster:

Ejecuta kube-hunter en cualquier máquina (incluyendo tu portátil), selecciona la opción de escaneo remoto y proporciona la dirección IP o nombre de dominio de tu clúster de Kubernetes. Esto te dará una vista desde el punto de vista del atacante de tu configuración de Kubernetes.

Puedes ejecutar kube-hunter directamente en una máquina dentro del clúster y seleccionar la opción de sondear todas las interfaces de red locales.

También puedes ejecutar kube-hunter en un pod dentro del clúster. Esto indica cómo de expuesto estaría tu clúster si uno de tus pods de aplicación se viera comprometido (por ejemplo, a través de una vulnerabilidad de software). (indicador --pod)

Opciones de escaneo

Primero verifica estos requisitos previos.

Por defecto, kube-hunter abrirá una sesión interactiva en la que podrás seleccionar una de las siguientes opciones de escaneo. También puedes especificar la opción de escaneo manualmente desde la línea de comandos. Estas son tus opciones:

  1. Escaneo remoto

Para especificar máquinas remotas para la cacería, selecciona la opción 1 o usa la opción --remote. Ejemplo: kube-hunter --remote some.node.com

  1. Escaneo de interfaz

Para especificar escaneo de interfaz, puedes usar la opción --interface (esto escaneará todas las interfaces de red de la máquina). Ejemplo: kube-hunter --interface

  1. Escaneo de red

Para especificar un CIDR concreto para escanear, usa la opción --cidr. Ejemplo: kube-hunter --cidr 192.168.0.0/24

  1. Auto-descubrimiento de nodos Kubernetes

Establece la bandera --k8s-auto-discover-nodes para consultar a Kubernetes por todos los nodos del clúster y luego intentar escanearlos todos. Por defecto, usará la configuración dentro del clúster para conectarse a la API de Kubernetes. Si deseas usar un archivo kubeconfig explícito, establece --kubeconfig /ruta/del/archivo/kubeconfig.

Ten en cuenta también que esto siempre se hace cuando se usa el modo --pod.

Autenticación

Para imitar a un atacante en sus primeras etapas, kube-hunter no requiere autenticación para la cacería.

  • Suplantar: Puedes proporcionar a kube-hunter un token de cuenta de servicio específico para usar durante la cacería pasando manualmente el token JWT Bearer del secreto de la cuenta de servicio con la bandera --service-account-token.

    Ejemplo:

    root@kitploit:~
    $ kube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
    
  • Cuando se ejecuta con la bandera --pod, kube-hunter usa el token de cuenta de servicio montado dentro del pod para autenticarse en los servicios que encuentra durante la cacería.

    • si se especifica, la bandera --service-account-token tiene prioridad cuando se ejecuta como pod

Cacería Activa

La cacería activa es una opción en la que kube-hunter explotará las vulnerabilidades que encuentra para explorar más vulnerabilidades. La principal diferencia entre la cacería normal y la activa es que una cacería normal nunca cambiará el estado del clúster, mientras que la cacería activa puede potencialmente realizar operaciones que cambien el estado del clúster, lo que podría ser perjudicial.

Por defecto, kube-hunter no realiza cacería activa. Para cazar activamente un clúster, usa la bandera --active. Ejemplo: kube-hunter --remote some.domain.com --active

Lista de pruebas

Puedes ver la lista de pruebas con la opción --list. Ejemplo: kube-hunter --list

Para ver también las pruebas de cacería activa además de las pasivas: kube-hunter --list --active

Mapeo de Nodos

Para ver solo un mapeo de la red de tus nodos, ejecuta con la opción --mapping. Ejemplo: kube-hunter --cidr 192.168.0.0/24 --mapping Esto mostrará todos los nodos Kubernetes que kube-hunter ha encontrado.

Salida

Para controlar el registro, puedes especificar un nivel de log usando la opción --log. Ejemplo: kube-hunter --active --log WARNING Los niveles de log disponibles son:

  • DEBUG
  • INFO (por defecto)
  • WARNING

Despacho

Por defecto, el informe se despacha a stdout, pero puedes especificar métodos diferentes usando la opción --dispatch. Ejemplo: kube-hunter --report json --dispatch http Los métodos de despacho disponibles son:

  • stdout (por defecto)
  • http (para configurar, establece las siguientes variables de entorno:)
    • KUBEHUNTER_HTTP_DISPATCH_URL (por defecto: https://localhost)
    • KUBEHUNTER_HTTP_DISPATCH_METHOD (por defecto: POST)

Uso Avanzado

Escaneo Rápido en Azure

Cuando se ejecuta como Pod en un entorno Azure o AWS, kube-hunter obtendrá subredes del Servicio de Metadatos de Instancia. Naturalmente, esto hace que el proceso de descubrimiento lleve más tiempo. Para limitar el escaneo de subred a un CIDR /24, usa la opción --quick.

Cacería Personalizada

La cacería personalizada permite a los usuarios avanzados tener control sobre qué cazadores se registran al inicio de una cacería. Si sabes lo que estás haciendo, esto puede ayudar si deseas ajustar el proceso de cacería y descubrimiento de kube-hunter según tus necesidades.

Ejemplo:

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

Habilitar la cacería personalizada elimina todos los cazadores del proceso de cacería, excepto los cazadores incluidos en la lista blanca.

La bandera --custom lee una lista de nombres de clase de cazadores. Para ver todos los nombres de clase de kube-hunter, puedes combinar la bandera --raw-hunter-names con la bandera --list.

Ejemplo:

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

Aviso: Debido al diseño arquitectónico de kube-hunter, los siguientes "Cazadores/Clases Principales" siempre se registrarán (incluso cuando se usa cacería personalizada):

  • HostDiscovery
    • Genera direcciones IP para la cacería a partir de configuraciones dadas
    • Descubre automáticamente subredes usando APIs de Metadatos en la nube
  • FromPodHostDiscovery
    • Descubre automáticamente direcciones IP de superficie de ataque para la cacería usando técnicas basadas en entorno de Pod
    • Descubre automáticamente subredes usando APIs de Metadatos en la nube
  • PortDiscovery
    • Escaneo de puertos en direcciones IP dadas para puertos conocidos de servicios Kubernetes
  • Collector
    • Recolecta vulnerabilidades descubiertas y servicios abiertos para informes futuros
  • StartedInfo
    • Imprime el mensaje de inicio
  • SendFullReport
    • Despacha el informe basado en las configuraciones dadas

Despliegue

Hay tres métodos para desplegar kube-hunter:

En Máquina

Puedes ejecutar kube-hunter directamente en tu máquina.

Requisitos previos

Necesitarás tener instalado lo siguiente:

  • python 3.x
  • pip
Instalar con pip

Instalar:

root@kitploit:~
pip install kube-hunter

Ejecutar:

root@kitploit:~
kube-hunter
Ejecutar desde el código fuente

Clonar el repositorio:

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

Instalar las dependencias del módulo. (Puede preferir hacerlo dentro de un Entorno Virtual)

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

Ejecutar:

root@kitploit:~
python3 kube_hunter

Si deseas usar pyinstaller/py2exe, primero debes ejecutar el script install_imports.py.

Contenedor

Aqua Security mantiene una versión contenerizada de kube-hunter en aquasec/kube-hunter:aqua. Este contenedor incluye este código fuente, más un complemento de informes adicional (de código cerrado) para cargar los resultados en un informe que se puede ver en kube-hunter.aquasec.com. Ten en cuenta que ejecutar el contenedor aquasec/kube-hunter y cargar los datos del informe están sujetos a términos y condiciones adicionales.

El Dockerfile en este repositorio te permite construir una versión contenerizada sin el complemento de informes.

Si ejecutas el contenedor kube-hunter con la red del host, podrá sondear todas las interfaces del host:

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

Nota para Docker para Mac/Windows: Ten en cuenta que el "host" para Docker para Mac o Windows es la VM en la que Docker ejecuta contenedores. Por lo tanto, especificar --network host permite a kube-hunter acceder a las interfaces de red de esa VM, no a las de tu máquina. Por defecto, kube-hunter se ejecuta en modo interactivo. También puedes especificar la opción de escaneo con los parámetros descritos anteriormente, por ejemplo:

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

Pod

Esta opción te permite descubrir qué puede hacer o descubrir la ejecución de un contenedor malicioso en tu clúster. Esto proporciona una perspectiva de lo que un atacante podría hacer si lograra comprometer un pod, quizás a través de una vulnerabilidad de software. Esto puede revelar significativamente más vulnerabilidades.

El archivo de ejemplo job.yaml define un Job que ejecutará kube-hunter en un pod, usando la configuración de acceso predeterminada del pod de Kubernetes. (Puede modificar esta definición, por ejemplo, para ejecutarla como un usuario no root o en un namespace diferente.)

  • Ejecuta el job con kubectl create -f ./job.yaml
  • Encuentra el nombre del pod con kubectl describe job kube-hunter
  • Ver los resultados de la prueba con kubectl logs <nombre del pod>

Contribución

Para leer las pautas de contribución, haz clic aquí

Licencia

Este repositorio está disponible bajo la Licencia Apache 2.0.

Descargar herramienta