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
whoc — Uma imagem de contêiner que exfiltra o runtime do contêiner subjacente para um servidor remoto. | Kitploit
Ferramentas/GitHubGitHub/twistlock/whoc
Segurança de ContêineresExploraçãoExfiltração de DadosSegurança na Nuvem
GitHubtwistlock/whoc

whoc

Uma imagem de contêiner que exfiltra o runtime do contêiner subjacente para um servidor remoto.

Ver Repositório
13511há 3 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

whoc

Uma imagem de contêiner que extrai o runtime de contêiner subjacente e o envia para um servidor remoto. Cutuque o runtime de contêiner subjacente da sua plataforma de contêiner CSP favorita!

  • WhoC na Defcon 29 Cloud Village
  • Azurescape - pesquisa alimentada por whoc, a primeira tomada de contêiner cross-account na nuvem pública (recompensa de $70.000)

Como funciona?

Conforme mostrado pelo runc CVE-2019-5736, os runtimes de contêiner Linux tradicionais se expõem aos contêineres que estão executando através de /proc/self/exe. O whoc usa esse link para ler o runtime de contêiner que o está executando.

Modo Dinâmico

Este é o modo padrão do whoc que funciona contra runtimes de contêiner vinculados dinamicamente.

  1. O entrypoint da imagem whoc é definido como /proc/self/exe, e o linker dinâmico da imagem (ld.so) é substituído por upload_runtime.
  2. Assim que a imagem é executada, o runtime de contêiner reexecuta a si mesmo dentro do contêiner.
  3. Como o runtime é vinculado dinamicamente, o kernel carrega nosso falso linker dinâmico (upload_runtime) no processo do runtime e passa a execução para ele.
  4. O upload_runtime lê o binário do runtime através de /proc/self/exe e o envia para o servidor remoto configurado.

texto alternativo

Modo Aguardar-Exec

Para runtimes de contêiner vinculados estaticamente, o whoc vem em outra variação: whoc:waitforexec.

  1. O upload_runtime é o entrypoint da imagem e executa como PID 1 do contêiner whoc.
  2. Espera-se que o usuário faça exec no contêiner whoc e invoque um arquivo apontando para /proc/self/exe (ex.: docker exec whoc_ctr /proc/self/exe).
  3. Assim que o exec ocorre, o runtime de contêiner reexecuta a si mesmo dentro do contêiner.
  4. O upload_runtime lê o binário do runtime através de /proc/$runtime-pid/exe e o envia para o servidor remoto configurado.

texto alternativo

Testar Localmente

Você precisará do docker e python3 instalados. Clone o repositório:

root@kitploit:~
git clone [email protected]:twistlock/whoc.git && cd whoc

Configure um servidor de arquivos para receber o runtime de contêiner extraído:

root@kitploit:~
mkdir -p stash && cd stash
ln -s ../util/fileserver.py fileserver 
./fileserver

De outro shell, execute a imagem whoc no ambiente de contêiner de sua escolha, por exemplo Docker:

root@kitploit:~
cd whoc
docker build -f Dockerfile_dynamic -t whoc:latest src  # ou ./util/build.sh
docker run --rm -it --net=host whoc:latest 127.0.0.1  # ou ./util/run_local.sh

Veja que o servidor de arquivos recebeu o runtime de contêiner. Se você executar o whoc sob Docker vanilla, o runtime de contêiner recebido deve ser runc.

--net=host é usado apenas em testes locais para que o contêiner whoc possa alcançar facilmente o servidor de arquivos no host via 127.0.0.1.

Outras Plataformas

Por padrão, o whoc é construído para linux/amd64, mas também suporta outras arquiteturas de CPU. O modo aguardar-para-exec pode ser construído normalmente. Para construir o whoc no modo dinâmico para outras arquiteturas de CPU, você deve preencher o argumento de build PLATFORM_LD_PATH_ARG com o caminho do linker dinâmico na arquitetura alvo.

Um exemplo de script de build para arm64 está disponível em util/build_arm64.sh.

Ajuda

Ajuda para o binário principal do whoc, upload_runtime:

root@kitploit:~
Usage: upload_runtime [options] <server_ip>

Options:
 -p, --port                 Port of remote server, defaults to 8080
 -e, --exec                 Wait-for-exec mode for static container runtimes, waits until an exec to the container occurred
 -b, --exec-bin             In exec mode, overrides the default binary created for the exec, default is /bin/enter
 -a, --exec-extra-argument  In exec mode, pass an additional argument to the runtime so it won't exit quickly
 -r, --exec-readdir-proc    In exec mode, instead of guessing the runtime pid (which gives whoc one shot of catching the runtime),
                            find the runtime by searching for new processes under '/proc'
Baixar ferramenta