Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/twistlock/whoc
Sicurezza dei ContenitoriExploitEsfiltrazione DatiSicurezza Cloud
GitHubtwistlock/whoc

whoc

Un'immagine container che esfiltra il runtime del container sottostante a un server remoto

Vedi Repository
1351123 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

whoc

Un'immagine contenitore che estrae il runtime del contenitore sottostante e lo invia a un server remoto. Esplora il runtime del contenitore sottostante della tua piattaforma CSP preferita!

  • WhoC at Defcon 29 Cloud Village
  • Azurescape - ricerca basata su whoc, la prima acquisizione di un contenitore tra account diversi nel cloud pubblico (bounty da 70.000$)

Come funziona?

Come dimostrato da runc CVE-2019-5736, i runtime contenitore Linux tradizionali si espongono ai contenitori che eseguono tramite /proc/self/exe. whoc utilizza questo collegamento per leggere il runtime del contenitore che lo esegue.

Modalità dinamica

Questa è la modalità predefinita di whoc che funziona con runtime contenitore collegati dinamicamente.

  1. Il punto di ingresso dell'immagine whoc è impostato su /proc/self/exe e il linker dinamico (ld.so) dell'immagine viene sostituito con upload_runtime.
  2. Una volta eseguita l'immagine, il runtime del contenitore si riesegue all'interno del contenitore.
  3. Dato che il runtime è collegato dinamicamente, il kernel carica il nostro finto linker dinamico (upload_runtime) nel processo del runtime e gli passa l'esecuzione.
  4. upload_runtime legge il binario del runtime tramite /proc/self/exe e lo invia al server remoto configurato.

alt text

Modalità Wait-For-Exec

Per runtime contenitore collegati staticamente, whoc è disponibile in un'altra versione: whoc:waitforexec.

  1. upload_runtime è il punto di ingresso dell'immagine e viene eseguito come PID 1 del contenitore whoc.
  2. Ci si aspetta che l'utente esegua exec nel contenitore whoc e invochi un file che punta a /proc/self/exe (ad es. docker exec whoc_ctr /proc/self/exe).
  3. Una volta eseguito l'exec, il runtime del contenitore si riesegue all'interno del contenitore.
  4. upload_runtime legge il binario del runtime tramite /proc/$runtime-pid/exe e lo invia al server remoto configurato.

alt text

Prova in locale

Avrai bisogno di docker e python3 installati. Clona il repository:

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

Configura un file server per ricevere il runtime del contenitore estratto:

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

Da un'altra shell, esegui l'immagine whoc nell'ambiente contenitore di tua scelta, ad esempio Docker:

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

Osserva che il file server ha ricevuto il runtime del contenitore. Se esegui whoc su Docker standard, il runtime ricevuto dovrebbe essere runc.

--net=host viene utilizzato solo nei test locali in modo che il contenitore whoc possa raggiungere facilmente il file server sull'host tramite 127.0.0.1.

Altre piattaforme

Per impostazione predefinita whoc è compilato per linux/amd64, ma supporta anche altre architetture CPU. La modalità wait-for-exec può essere compilata come al solito. Per compilare whoc in modalità dinamica per altre architetture CPU, è necessario popolare l'argomento di build PLATFORM_LD_PATH_ARG con il percorso del linker dinamico sull'architettura di destinazione.

Uno script di build di esempio per arm64 è disponibile in util/build_arm64.sh.

Aiuto

Aiuto per il binario principale di 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'
Scarica lo strumento