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
CVE-2022-0847-Container-Escape — CVE-2022-0847 usato per ottenere la fuga dal container — Utilizzo di CVE-2022-0847 (Dirty Pipe) per realizzare la fuga dal container | Kitploit
Strumenti/GitHubGitHub/greenhandatsjtu/cve-2022-0847-container-escape
Escalation di PrivilegiSicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitEscape dal Container
GitHubgreenhandatsjtu/cve-2022-0847-container-escape

CVE-2022-0847-Container-Escape

CVE-2022-0847 usato per ottenere la fuga dal container — Utilizzo di CVE-2022-0847 (Dirty Pipe) per realizzare la fuga dal container

Vedi Repository

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
3764 anni faRevisionato da Kitploit

CVE-2022-0847

CVE-2022-0847 utilizzata per ottenere la container escape (sovrascrivere qualsiasi file in sola lettura sull'host)

Slide (in cinese) disponibili qui

Sfruttamento di CVE-2022-0847 (Dirty Pipe) per ottenere la container escape (effetto: sovrascrivere qualsiasi file in sola lettura sull'host)

PPT della presentazione in cinese qui

Introduzione

Se il kernel è vulnerabile a CVE-2022-0847, l'attaccante può sovrascrivere file in sola lettura (non in modo persistente! Visita https://dirtypipe.cm4all.com/ per maggiori dettagli). Tuttavia, il container può accedere solo ai file al suo interno. Fortunatamente, quando viene assegnata CAP_DAC_READ_SEARCH, l'attaccante può ora sovrascrivere file sull'host!

Spiegazione

Come spiega https://dirtypipe.cm4all.com/, per sovrascrivere un file in sola lettura dobbiamo passarlo a una pipe con splice(). Per usare splice(), dobbiamo prima aprire il file target con il flag O_RDONLY per ottenere un file descriptor.

È lì che mi è venuto in mente CAP_DAC_READ_SEARCH. Secondo il manuale Linux, quando viene assegnata CAP_DAC_READ_SEARCH, l'attaccante all'interno del container può:

  • bypassare i controlli sui permessi di lettura dei file e sui permessi di lettura ed esecuzione delle directory
  • invocare open_by_handle_at(2)

Con la capability CAP_DAC_READ_SEARCH, possiamo esplorare il filesystem dell'host e usare open_by_handle_at(2) per aprire in sola lettura qualsiasi file sull'host dal container, ottenendone il file descriptor (visita http://stealth.openwall.net/xSports/shocker.c per maggiori dettagli).

Ora che abbiamo il file descriptor del file target sull'host, possiamo ovviamente usare splice() per inviare il contenuto del file target alla pipe e poi sovrascriverlo!

Utilizzo

root@kitploit:~
cp /etc/password . # back up /etc/password
gcc dp.c -o dp
docker run --rm -it -v $(pwd):/exp --cap-add=CAP_DAC_READ_SEARCH ubuntu
/exp/dp /etc/passwd 1 ootz: # overwrite /etc/password on host from offset 1
/etc/dp /etc/passwd # dump /etc/passwd on host

Esempio

Per prima cosa, crea un file in sola lettura /home/vagrant/flag.txt come utente root sull'host, il cui contenuto è hello world:

Poi, avvia un container con la capability CAP_DAC_READ_SEARCH, prova prima a dumpare /home/vagrant/flag.txt sull'host e otteniamo hello world:

quindi prova a sovrascrivere il file target dall'offset 1 con il contenuto abcdefghij:

dumpa di nuovo il file target: ora il contenuto è habcdefghij! Esci dal container e controlla /home/vagrant/flag.txt sull'host: il suo contenuto è habcdefghij.

Sì, abbiamo appena sovrascritto un file sull'host dal container!

Crediti

  • https://dirtypipe.cm4all.com/
  • http://stealth.openwall.net/xSports/shocker.c
Scarica lo strumento