Pular para o conteúdo
Skillpedia
Segurança48 mil · #3267

hunt-k8s

Ajuda seu agente a encontrar falhas de segurança em Kubernetes e Docker. Essencial para proteger ambientes de contêineres.

O que ela faz

Esta ferramenta ajuda a encontrar falhas de segurança em sistemas Kubernetes e Docker. Ela procura por configurações incorretas que podem permitir acesso não autorizado ou controle total do sistema.

Quando usar

  • ✓Ao testar a segurança de um ambiente Kubernetes.
  • ✓Para verificar se um servidor Docker está exposto de forma insegura.
  • ✓Para entender os riscos de segurança em um cluster Kubernetes.

Exemplo do que pedir para a IA

“Verifique se há vulnerabilidades de segurança no cluster Kubernetes em 192.168.1.100.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-k8s/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-k8s/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta escaneia portas comuns e tenta acessar APIs de gerenciamento. Ela procura por acessos anônimos ou com pouca permissão que possam ser explorados para obter controle.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill hunt-k8s

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-k8s/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

⚠️ USO AUTORIZADO APENAS Esta habilidade é apenas para fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.

Porta de confirmação obrigatória Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:

  1. Peça ao usuário para declarar o URL exato do alvo, IP, conta ou recurso.
  2. Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
  3. Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
  4. Aguarde a confirmação explícita na conversa atual.

Sem essa confirmação, permaneça apenas em modo somente leitura e forneça orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.

HUNT-K8S — Segurança de Kubernetes & Docker

Alvos de Joias da Coroa

K8s API anonymous cluster-admin = controle total do cluster. docker.sock + RCE = root do host. Uma única criação de pod privilegiado ou um shell kubelet /run transfere uma descoberta para comprometimento total.

Descobertas de maior valor:

  • K8s API anonymous cluster-admin — system:anonymous/system:unauthenticated vinculado a uma função poderosa (configuração incorreta clássica: system:anonymous em um ClusterRoleBinding para cluster-admin) → kubectl completo. A mera anonimidade 200 NÃO é isso (veja a seção de falsos positivos).
  • Kubelet 10250 exec/run — /run retorna a saída do comando diretamente; /exec é um fluxo SPDY/WebSocket (veja a Fase 3). Qualquer um deles → RCE em qualquer pod → roubar o token SA desse pod.
  • RCE do kubelet mediado pela API-server — /api/v1/nodes/<node>/proxy/run/... alcança o kubelet através do servidor de API usando seu token (de baixa permissão); se o RBAC conceder nodes/proxy, você obterá RCE de pod sem tocar diretamente no 10250. Vetor principal 2024-2026.
  • etcd 2379 sem autenticação — todos os Segredos (tokens SA, chaves TLS, credenciais de aplicativos) armazenados, muitas vezes em texto simples (a menos que EncryptionConfiguration esteja definido) → despejo completo de credenciais.
  • Exposição do docker.sock — SSRF/LFI/RCE alcançando /var/run/docker.sock → criar contêiner --privileged, montar em volume o / do host → root do host.
  • Fuga de contêiner via runc — Leaky Vessels (CVE-2024-21626): WORKDIR/process.cwd apontando para um /proc/self/fd/<n> do host vazado → sair de uma imagem controlada pelo atacante/executar para root do host.
  • Abuso de token SA — token montado automaticamente em /var/run/secrets/kubernetes.io/serviceaccount/token; verifique suas concessões reais com SelfSubjectRulesReview antes de reivindicar impacto.
  • Dashboard K8s skip-login / API sem token — UI de gerenciamento completo do cluster acessível sem autenticação.

OOB / Porta de Confirmação (Leia Primeiro)

Descobertas de K8s são da classe RCE/divulgação de credenciais. Regra da casa: prove a mudança de estado ou a leitura de dados, nunca infira de um código de status.

  • Um 200 em /api/v1/namespaces não significa cluster-admin. O servidor de API retorna 200 com uma lista filtrada por RBAC (geralmente items: [] vazia) para qualquer principal que possa alcançar list namespaces — leitura anônima em alguns recursos é comum e de baixo impacto. Confirme privilégio real com SelfSubjectRulesReview / SelfSubjectAccessReview, e depois lendo um valor de Segredo.
  • 10255 (somente leitura) vs 10250 (exec) são constantemente confundidos. 10255 (HTTP, sem autenticação) é apenas divulgação de informações — tem /pods, /stats, /metrics, SEM exec/run. 10250 (HTTPS) é onde /run e /exec residem. Não relate "kubelet RCE" a partir de um acerto 10255.
  • Vetores cegos/de saída precisam de OOB. Se você explorar SSRF→IMDS→K8s, ou a saída de um pod, confirme o salto de saída com um subdomínio Burp Collaborator / interactsh (por exemplo, curl http://<token>.<collab> de dentro do pod via /run). Uma resposta atrasada ou um URL ecoado NÃO é prova.
  • Prova de impacto = o artefato. Para exec: a saída literal de id/hostname. Para etcd/Segredo: os bytes do token decodificados (redigir no relatório). Para fuga de docker.sock: o conteúdo do arquivo do host (/etc/hostname do nó, distinto do contêiner).
  • Use um namespace de teste dedicado / pod de teste quando tiver direitos de criação; nunca execute em cargas de trabalho de produção para "provar" RCE — liste o pod e execute um id somente leitura em um pod que você iniciou se a política permitir, ou limite a um único id não destrutivo e pare.

Fase 1 — Descoberta de Impressão Digital e Portas

# Portas comuns de Kubernetes / contêiner
PORTS="443,6443,8443,8080,10250,10255,10256,2379,2380,4194,9090,9100,30000-30010"
nmap -sV -p $PORTS $TARGET 2>/dev/null | grep open


…
Perguntas frequentes

O que é Kubernetes?

Kubernetes é um sistema para gerenciar aplicações em contêineres (como Docker) em larga escala, automatizando a implantação, escalonamento e gerenciamento.

O que é Docker?

Docker é uma plataforma que permite empacotar aplicações e suas dependências em 'contêineres', facilitando a execução em diferentes ambientes.

Por que é importante verificar a segurança?

Falhas de segurança podem permitir que invasores acessem dados sensíveis, controlem seus sistemas ou causem interrupções.

Detalhes

Descrição original do autor

Hunt Kubernetes & Docker

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3267
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas