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
CTF-CVE-2022-0847 — Sfida CTF che implementa l'exploit CVE-2022-0847 (Dirty Pipe) per sovrascrivere file di sola lettura. Include script di configurazione, suggerimenti e verifica per la pratica di sfruttamento del kernel. | Kitploit
Strumenti/GitHubGitHub/justinye377/ctf-cve-2022-0847
Escalation di PrivilegiExploitCTFApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

Sfida CTF che implementa l'exploit CVE-2022-0847 (Dirty Pipe) per sovrascrivere file di sola lettura. Include script di configurazione, suggerimenti e verifica per la pratica di sfruttamento del kernel.

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
Vedi Repository
121 anno faNon ancora revisionato

Deploy di Dirty Pipe

Per questa sfida, devi sovrascrivere il file di sola lettura "cat.txt" usando l'exploit CVE-2022-0847 Ci sono molti modi per farlo usando l'exploit

Dipendenze

  • Kernel Linux versione 5.8 o successiva (vulnerabile)
  • gcc (GNU Compiler Collection) per compilare il codice dell'exploit

Configurazione iniziale

  1. Prepara un ambiente vulnerabile:
  • Per utenti Linux:
    • Usa una distribuzione Linux con versione del kernel 5.8 o successiva, ma precedente alle versioni patchate:
    • Le versioni patchate includono 5.16.11, 5.15.25 e 5.10.102.
    • Verifica la versione del kernel sul tuo sistema eseguendo: uname -r
    • Se il tuo kernel è già stato patchato, potresti dover effettuare il downgrade o usare un'installazione Linux diversa per soddisfare i criteri di vulnerabilità.
  • Per utenti Windows:
    • Installa una macchina virtuale:
      • Scarica e installa una macchina virtuale come Oracle VM VirtualBox o VMware.
    • Scarica una distribuzione Linux vulnerabile:
      • Visita gli Archivi Kali Linux per scaricare una versione precedente di Kali Linux.
      • Le versioni suggerite includono qualsiasi release con kernel 5.8 - 5.15 (es., Kali 2021.1).
    • In alternativa, funzioneranno anche altre distribuzioni Linux con versioni del kernel corrispondenti (es., versioni precedenti di Ubuntu o Debian).
  • Configura la VM:
    • Crea una nuova macchina virtuale in VirtualBox:
    • Assegna almeno 2 GB di RAM e 10 GB di spazio su disco.
    • Usa il file ISO scaricato per installare la distribuzione Linux.
    • Dopo l'installazione, conferma la versione del kernel eseguendo: uname -r
  • Installa gli strumenti richiesti:
    • Dopo aver configurato l'ambiente, assicurati che siano installati i seguenti strumenti:
      • gcc: richiesto per compilare il codice dell'exploit.
      • make: per compilare progetti se necessario.
      • Aggiorna il tuo gestore dei pacchetti e installa gli strumenti: sudo apt update sudo apt install gcc make -y

Avvio della sfida

  1. Inizio: Assicurati di controllare la versione del kernel! Usando questo link github(https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git)

Controlla che il file cat.txt sia un file di sola lettura

I limiti sono: l'attaccante deve avere i permessi di lettura (perché deve usare splice() per inserire una pagina in una pipe) l'offset non deve trovarsi sul confine di una pagina (perché almeno un byte di quella pagina deve essere stato inserito nella pipe tramite splice) la scrittura non può attraversare un confine di pagina (perché verrebbe creato un nuovo buffer anonimo per il resto) il file non può essere ridimensionato (perché la pipe ha una propria gestione del riempimento delle pagine e non comunica alla page cache quanti dati sono stati aggiunti)

  1. Distribuisci l'Exploit:
  • Crea una pipe.

  • Riempire la pipe con dati arbitrari (per impostare il flag PIPE_BUF_FLAG_CAN_MERGE in tutte le voci dell'anello).

  • Svuota la pipe (lasciando il flag impostato in tutte le istanze struct pipe_buffer sull'anello struct pipe_inode_info).

  • Usa splice per inserire dati dal file di destinazione (aperto con O_RDONLY) nella pipe subito prima dell'offset di destinazione.

  • Scrivi dati arbitrari nella pipe; questi dati sovrascriveranno la pagina del file in cache invece di creare un nuovo struct pipe_buffer anonimo perché PIPE_BUF_FLAG_CAN_MERGE è impostato.

  • Sovrascrivi cat.txt, cambia I'm a cat 1444 in I'm a dog 2025

  • Usa check_cat.sh per verificare se funziona o meno chmod +x check_cat.sh ./check_cat.sh

Rigenerazione della sfida

Usa quanto segue chmod +x cat_generate.sh ./cat_generate.sh

Pubblicazione della sfida

I suggerimenti sono in hints.txt

Scarica lo strumento