Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
kube-hunter — Caça por fraquezas de segurança em clusters Kubernetes | Kitploit
Ferramentas/GitHubGitHub/aquasecurity/kube-hunter
Scanners de VulnerabilidadesSegurança de ContêineresTestes de PenetraçãoSegurança na NuvemConfiguração Incorreta
GitHubaquasecurity/kube-hunter

kube-hunter

Caça por fraquezas de segurança em clusters Kubernetes

Ver Repositório
5.1k611há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Aviso

O kube-hunter não está mais em desenvolvimento ativo. Se você está interessado em escanear clusters Kubernetes em busca de vulnerabilidades conhecidas, recomendamos usar o Trivy. Especificamente, a varredura de configuração incorreta e a varredura de vulnerabilidades KBOM do Trivy para Kubernetes. Saiba mais nos Documentos do Trivy.


O kube-hunter caça por pontos fracos de segurança em clusters Kubernetes. A ferramenta foi desenvolvida para aumentar a conscientização e visibilidade sobre problemas de segurança em ambientes Kubernetes. Você NÃO deve executar o kube-hunter em um cluster Kubernetes que não seja seu!

Execute o kube-hunter: O kube-hunter está disponível como um contêiner (aquasec/kube-hunter), e também oferecemos um site em kube-hunter.aquasec.com onde você pode se registrar online para receber um token que permite visualizar e compartilhar os resultados online. Você também pode executar o código Python você mesmo, conforme descrito abaixo.

Explore vulnerabilidades: A base de conhecimento do kube-hunter inclui artigos sobre vulnerabilidades e problemas detectáveis. Quando o kube-hunter relata um problema, ele mostra seu VID (ID de Vulnerabilidade) para que você possa consultá-lo na KB em https://aquasecurity.github.io/kube-hunter/
Se você está interessado na integração do kube-hunter com a Matriz ATT&CK do Kubernetes, Continue Lendo

Vídeo de demonstração do kube-hunter

Sumário

  • Sumário
    • Matriz ATT&CK do Kubernetes
    • Caça
      • Onde devo executar o kube-hunter?
      • Opções de varredura
      • Autenticação
      • Caça Ativa
      • Lista de testes
      • Mapeamento de Nós
      • Saída
      • Envio
    • Uso Avançado
      • Varredura Rápida no Azure
      • Caça Personalizada
    • Implantação
      • Na Máquina
        • Pré-requisitos
          • Instalar com pip
          • Executar a partir do código-fonte
      • Contêiner
      • Pod
    • Contribuição
    • Licença

Matriz ATT&CK do Kubernetes

O kube-hunter agora suporta o novo formato da matriz ATT&CK do Kubernetes. Enquanto as vulnerabilidades do kube-hunter são uma coleção de técnicas criativas projetadas para imitar um invasor no cluster (ou fora dele), O ATT&CK do Mitre define categorias padronizadas mais gerais de técnicas para fazer isso.

Você pode pensar nas vulnerabilidades do kube-hunter como pequenos passos para um invasor, que seguem a trilha de uma técnica mais geral que ele buscaria. A maioria dos caçadores e vulnerabilidades do kube-hunter podem se enquadrar nessas técnicas, por isso passamos a seguir o padrão da Matriz.

Algumas vulnerabilidades do kube-hunter que não pudemos mapear para uma técnica do Mitre são prefixadas com a palavra-chave General kube-hunter

Caça

Onde devo executar o kube-hunter?

Existem três maneiras diferentes de executar o kube-hunter, cada uma oferecendo uma abordagem diferente para detectar pontos fracos no seu cluster:

Execute o kube-hunter em qualquer máquina (incluindo seu notebook), selecione a varredura Remota e forneça o endereço IP ou nome de domínio do seu cluster Kubernetes. Isso lhe dará uma visão do atacante sobre sua configuração Kubernetes.

Você pode executar o kube-hunter diretamente em uma máquina no cluster e selecionar a opção de sondar todas as interfaces de rede locais.

Você também pode executar o kube-hunter em um pod dentro do cluster. Isso indica o quão exposto seu cluster estaria se um de seus pods de aplicação fosse comprometido (através de uma vulnerabilidade de software, por exemplo). (sinalizador --pod)

Opções de varredura

Primeiro verifique estes pré-requisitos.

Por padrão, o kube-hunter abrirá uma sessão interativa, na qual você poderá selecionar uma das seguintes opções de varredura. Você também pode especificar a opção de varredura manualmente pela linha de comando. Estas são suas opções:

  1. Varredura Remota

Para especificar máquinas remotas para caça, selecione a opção 1 ou use a opção --remote. Exemplo: kube-hunter --remote algum.node.com

  1. Varredura de Interface

Para especificar a varredura de interface, você pode usar a opção --interface (isso irá escanear todas as interfaces de rede da máquina). Exemplo: kube-hunter --interface

  1. Varredura de Rede

Para especificar um CIDR específico para escanear, use a opção --cidr. Exemplo: kube-hunter --cidr 192.168.0.0/24

  1. Descoberta automática de nós Kubernetes

Defina o sinalizador --k8s-auto-discover-nodes para consultar o Kubernetes por todos os nós no cluster e, em seguida, tentar escanear todos eles. Por padrão, usará a configuração no cluster para conectar à API do Kubernetes. Se você quiser usar um arquivo kubeconfig explícito, defina --kubeconfig /local/do/arquivo/kubeconfig.

Observe também que isso é sempre feito ao usar o modo --pod.

Autenticação

Para imitar um invasor em seus estágios iniciais, o kube-hunter não requer autenticação para a caça.

  • Personificar - Você pode fornecer ao kube-hunter um token de conta de serviço específico para usar durante a caça, passando manualmente o token JWT Bearer do segredo da conta de serviço com o sinalizador --service-account-token.

    Exemplo:

    root@kitploit:~
    $ kube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
    
  • Ao executar com o sinalizador --pod, o kube-hunter usa o token da conta de serviço montado dentro do pod para autenticar nos serviços que encontrar durante a caça.

    • se especificado, o sinalizador --service-account-token tem prioridade ao executar como um pod

Caça Ativa

A caça ativa é uma opção na qual o kube-hunter irá explorar vulnerabilidades que encontrar, para buscar mais vulnerabilidades. A principal diferença entre a caça normal e a ativa é que uma caça normal nunca altera o estado do cluster, enquanto a caça ativa pode potencialmente realizar operações de mudança de estado no cluster, o que pode ser prejudicial.

Por padrão, o kube-hunter não faz caça ativa. Para caçar ativamente um cluster, use o sinalizador --active. Exemplo: kube-hunter --remote algum.dominio.com --active

Lista de testes

Você pode ver a lista de testes com a opção --list. Exemplo: kube-hunter --list

Para ver também os testes de caça ativa, além dos passivos: kube-hunter --list --active

Mapeamento de Nós

Para ver apenas um mapeamento da rede dos seus nós, execute com a opção --mapping. Exemplo: kube-hunter --cidr 192.168.0.0/24 --mapping Isso exibirá todos os nós Kubernetes que o kube-hunter encontrou.

Saída

Para controlar o registro de logs, você pode especificar um nível de log, usando a opção --log. Exemplo: kube-hunter --active --log WARNING Os níveis de log disponíveis são:

  • DEBUG
  • INFO (padrão)
  • WARNING

Envio

Por padrão, o relatório será enviado para stdout, mas você pode especificar métodos diferentes usando a opção --dispatch. Exemplo: kube-hunter --report json --dispatch http Os métodos de envio disponíveis são:

  • stdout (padrão)
  • http (para configurar, defina as seguintes variáveis de ambiente:)
    • KUBEHUNTER_HTTP_DISPATCH_URL (padrão: https://localhost)
    • KUBEHUNTER_HTTP_DISPATCH_METHOD (padrão: POST)

Uso Avançado

Varredura Rápida no Azure

Ao executar como um Pod em um ambiente Azure ou AWS, o kube-hunter buscará sub-redes no Serviço de Metadados de Instância. Naturalmente, isso torna o processo de descoberta mais demorado. Para limitar rigidamente a varredura de sub-redes a um CIDR /24, use a opção --quick.

Caça Personalizada

A caça personalizada permite que usuários avançados tenham controle sobre quais caçadores são registrados no início de uma caça. Se você sabe o que está fazendo, isso pode ajudar se quiser ajustar o processo de caça e descoberta do kube-hunter para suas necessidades.

Exemplo:

root@kitploit:~
kube-hunter --custom <NomeDoCaçador1> <NomeDoCaçador2>

Ativar a caça personalizada remove todos os caçadores do processo de caça, exceto os caçadores fornecidos na lista de permissões.

O sinalizador --custom lê uma lista de nomes de classes de caçadores. Para visualizar todos os nomes de classes do kube-hunter, você pode combinar o sinalizador --raw-hunter-names com o sinalizador --list.

Exemplo:

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

Aviso: Devido ao design arquitetônico do kube-hunter, os seguintes "Caçadores/Classes Principais" sempre serão registrados (mesmo ao usar caça personalizada):

  • HostDiscovery
    • Gera endereços IP para a caça com base nas configurações fornecidas
    • Descobre automaticamente sub-redes usando APIs de Metadados na nuvem
  • FromPodHostDiscovery
    • Descobre automaticamente endereços IP de superfície de ataque para a caça usando técnicas baseadas em ambiente de Pod
    • Descobre automaticamente sub-redes usando APIs de Metadados na nuvem
  • PortDiscovery
    • Varredura de portas em endereços IP fornecidos para portas conhecidas de serviços Kubernetes
  • Collector
    • Coleta vulnerabilidades e serviços abertos descobertos para relatório futuro
  • StartedInfo
    • Imprime a mensagem de início
  • SendFullReport
    • Envia o relatório com base nas configurações fornecidas

Implantação

Existem três métodos para implantar o kube-hunter:

Na Máquina

Você pode executar o kube-hunter diretamente na sua máquina.

Pré-requisitos

Você precisará ter instalado:

  • python 3.x
  • pip
Instalar com pip

Instalar:

root@kitploit:~
pip install kube-hunter

Executar:

root@kitploit:~
kube-hunter
Executar a partir do código-fonte

Clone o repositório:

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

Instale as dependências do módulo. (Você pode preferir fazer isso dentro de um Ambiente Virtual).

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

Executar:

root@kitploit:~
python3 kube_hunter

Se você quiser usar pyinstaller/py2exe, primeiro execute o script install_imports.py.

Contêiner

A Aqua Security mantém uma versão containerizada do kube-hunter em aquasec/kube-hunter:aqua. Este contêiner inclui este código-fonte, além de um plugin de relatório adicional (código fechado) para enviar resultados para um relatório que pode ser visualizado em kube-hunter.aquasec.com. Observe que executar o contêiner aquasec/kube-hunter e enviar dados de relatórios estão sujeitos a termos e condições adicionais.

O Dockerfile neste repositório permite que você construa uma versão containerizada sem o plugin de relatório.

Se você executar o contêiner kube-hunter com a rede do host, ele poderá sondar todas as interfaces no host:

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

Nota para Docker for Mac/Windows: Esteja ciente de que o "host" para Docker for Mac ou Windows é a VM onde o Docker executa os contêineres. Portanto, especificar --network host permite que o kube-hunter acesse as interfaces de rede dessa VM, em vez das da sua máquina. Por padrão, o kube-hunter é executado em modo interativo. Você também pode especificar a opção de varredura com os parâmetros descritos acima, por exemplo:

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

Pod

Esta opção permite descobrir o que executar um contêiner malicioso pode fazer/descobrir no seu cluster. Isso fornece uma perspectiva sobre o que um invasor poderia fazer se conseguisse comprometer um pod, talvez através de uma vulnerabilidade de software. Isso pode revelar significativamente mais vulnerabilidades.

O arquivo de exemplo job.yaml define um Job que executará o kube-hunter em um pod, usando as configurações de acesso padrão do pod Kubernetes. (Você pode modificar esta definição, por exemplo, para executar como um usuário não root ou em um namespace diferente.)

  • Execute o job com kubectl create -f ./job.yaml
  • Encontre o nome do pod com kubectl describe job kube-hunter
  • Veja os resultados dos testes com kubectl logs <nome do pod>

Contribuição

Para ler as diretrizes de contribuição, Clique aqui

Licença

Este repositório está disponível sob a Apache License 2.0.

Baixar ferramenta