Pular para o conteúdo
Skillpedia
Agentes35 mil · #5727

escaping-containers-to-host

Faz seu agente tentar sair de contêineres para acessar o sistema hospedeiro. É usado para testar a segurança de ambientes de contêiner.

O que ela faz

Esta ferramenta ajuda a sair de um contêiner isolado para acessar o sistema principal (host) onde o contêiner está rodando. Ela é usada para testar a segurança de contêineres.

Quando usar

  • ✓Ao testar a segurança de um contêiner com permissão.
  • ✓Para mostrar o risco de configurações inseguras em contêineres.
  • ✓Para verificar se as proteções contra fuga de contêineres funcionam.

Exemplo do que pedir para a IA

“Como posso sair deste contêiner para o sistema principal?”

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/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/escaping-containers-to-host/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/escaping-containers-to-host/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela explora falhas em configurações de segurança ou vulnerabilidades no software que gerencia contêineres. Ao encontrar uma dessas falhas, ela permite executar comandos diretamente no sistema principal.

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 mukul975/Anthropic-Cybersecurity-Skills --skill escaping-containers-to-host

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/escaping-containers-to-host/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.

Sair de Contêineres para o Host

Aviso Legal: Esta habilidade destina-se apenas a testes de segurança autorizados e fins educacionais. A fuga de contêineres concede comprometimento total do host. Execute essas técnicas apenas contra sistemas que você possui ou para os quais tem autorização explícita por escrito para testar. O uso não autorizado é ilegal e pode violar leis de fraude computacional.

Visão Geral

Fuga de contêiner (MITRE ATT&CK T1611, Escape to Host) é o ato de quebrar o limite de isolamento entre um contêiner e o sistema operacional do host, dando a um atacante a execução de código no namespace do host — e, no Kubernetes, frequentemente um caminho para todo o nó e, em seguida, para o cluster. Contêineres compartilham o kernel do host e dependem de namespaces, cgroups, capabilities, seccomp e LSMs (AppArmor/SELinux) para isolamento. Quando qualquer um desses controles é enfraquecido (um contêiner --privileged, um socket Docker montado, uma montagem hostPath de /, capabilities Linux excessivas como CAP_SYS_ADMIN) ou quando um runtime contém uma vulnerabilidade, esse limite colapsa.

Esta habilidade abrange os quatro primitivos de fuga de maior impacto e em uso real observados por Sysdig, Unit 42 e os mantenedores do runC:

  1. Fugas por má configuração — contêineres privilegiados, CAP_SYS_ADMIN, namespaces PID/IPC/Network do host e montagens hostPath.
  2. Socket Docker exposto (/var/run/docker.sock) — montar o socket do daemon em um contêiner entrega ao atacante root no host através de um novo contêiner privilegiado.
  3. O vazamento de file descriptor do runC "Leaky Vessels", CVE-2024-21626 — o runC vaza um file descriptor interno (/proc/self/fd/7/8) referenciando o sistema de arquivos do host antes de pivot_root; definir o diretório de trabalho do contêiner para esse fd coloca o processo no host. Corrigido no runC 1.1.12 (containerd 1.6.28/1.7.13, Docker 25.0.2).
  4. A família de redirecionamento de escrita procfs do runC de novembro de 2025 — CVE-2025-31133, CVE-2025-52565, CVE-2025-52881 — abuso de race condition/symlink do /dev/null, /dev/console e outras bind mounts realizadas antes que o runC aplique maskedPaths/readonlyPaths, permitindo acesso de leitura/escrita a entradas /proc (por exemplo, /proc/sysrq-trigger, core_pattern) e redirecionamento arbitrário de escrita. Corrigido no runC 1.2.8, 1.3.3 e 1.4.0-rc.3.

Fontes: Aviso "Leaky Vessels" da Palo Alto Networks; "New runc vulnerabilities allow container escape" da Sysdig (2025); avisos de segurança do opencontainers/runc GHSA-cgrx-mc8f-2prm e GHSA-9493-h29p-rfm2; pesquisa de container-escape da Unit 42.

Quando Usar

  • Durante um teste de penetração autorizado de contêiner ou Kubernetes após obter execução inicial de código dentro de um contêiner ou pod
  • Ao validar que as defesas de runtime (Falco, seccomp, AppArmor) detectam ou bloqueiam tentativas de fuga
  • Ao avaliar o raio de explosão de um microsserviço comprometido
  • Ao verificar os níveis de patch do runC/containerd/Docker contra os CVEs acima

Pré-requisitos

  • Autorização (regras de engajamento assinadas) cobrindo o comprometimento do host/nó
  • Um ponto de entrada: um shell dentro de um contêiner alvo
  • Utilitários de reconhecimento dentro do contêiner ou preparados em:
    # deepce - Docker enumeration and escape
    git clone https://github.com/stealthcopter/deepce.git
    # amicontained - container introspection (capabilities, seccomp, namespaces)
    curl -L https://github.com/genuinetools/amicontained/releases/download/v0.4.9/amicontained-linux-amd64 -o amicontained
    chmod +x amicontained
    # CDK - zero-dependency K8s/container pentest toolkit
    curl -L https://github.com/cdk-team/CDK/releases/latest/download/cdk_linux_amd64 -o cdk
    chmod +x cdk
    
  • Um cluster/host de laboratório que você tem permissão para sair (por exemplo, kind, minikube ou uma VM dedicada)

Objetivos

  • Enumerar a postura de privilégio do contêiner (capabilities, namespaces, mounts, seccomp)
  • Identificar qual primitivo de fuga está disponível
  • Executar uma fuga para o host e provar a execução de código em nível de host
  • Capturar evidências (nome do host, acesso a /etc/shadow do host, ou uma escrita de arquivo no host)
  • Documentar a má configuração raiz ou a versão vulnerável do runtime para remediação

Mapeamento MITRE ATT&CK

ID da Técnica Nome Tática
T1611 Escape to Host Escalada de Privilégio
T1610 Deploy Container Evasão de Defesa / Execução
T1613 Descoberta de Contêiner e Recursos Descoberta
T1068 Exploração para Escalada de Privilégio Escalada de Privilégio

Fluxo de Trabalho

Etapa 1: Enumerar o Ambiente do Contêiner

Determine o nível de privilégio, capabilities, namespaces e caminhos de host montados.


…
Perguntas frequentes

O que é um 'contêiner'?

Um contêiner é como uma caixa isolada que contém um programa e tudo o que ele precisa para rodar. Ele ajuda a garantir que o programa funcione da mesma forma em qualquer computador.

O que significa 'sair do contêiner para o host'?

Significa conseguir escapar da caixa isolada (contêiner) e ter acesso ao computador principal (host) onde essa caixa está rodando.

Isso é perigoso?

Sim, é uma técnica avançada de segurança. Só deve ser usada em testes autorizados em sistemas que você tem permissão para testar, pois pode dar controle total do sistema principal.

Detalhes

Descrição original do autor

Exploits privileged pods, host mounts, runC CVEs, and exposed Docker sockets to break out of a container and reach the underlying host during an authorized container-security assessment. Use when executing an approved breakout test, demonstrating the real impact of a privileged or hostPath workload, or validating that escape mitigations actually hold. Keywords: container breakout, privileged, host

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5727
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas