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-2021-25741 — Exploit per la vulnerabilità CVE-2021-25741 di Kubernetes che consente il mount del filesystem host nei pod tramite una race condition, con script di deployment e dettagli tecnici. | Kitploit
Strumenti/GitHubGitHub/betep0k/cve-2021-25741
Analisi delle VulnerabilitàExploitPenetration TestingSicurezza CloudEscape dal Container
GitHubbetep0k/cve-2021-25741

CVE-2021-25741

Exploit per la vulnerabilità CVE-2021-25741 di Kubernetes che consente il mount del filesystem host nei pod tramite una race condition, con script di deployment e dettagli tecnici.

Vedi Repository
30144 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

Informazioni

È un exploit per la vulnerabilità CVE-2021-25741. Questa vulnerabilità consente di montare il filesystem di Node all'interno di un nuovo POD con privilegi di lettura-scrittura.

Puoi leggere ulteriori informazioni sulla vulnerabilità qui:

https://security.googleblog.com/2021/12/exploring-container-security-storage.html

Non sono l'autore di questa vulnerabilità e ho semplicemente creato un exploit.

Grazie a @russtone e @maximusfox per l'aiuto nello sviluppo dell'exploit.

Condizioni

  1. Hai i privilegi per creare nuovi POD
  2. I nodi hanno un kubelet vulnerabile

Versioni vulnerabili del kubelet:

  • v1.22.0 - v1.22.1
  • v1.21.0 - v1.21.4
  • v1.20.0 - v1.20.10
  • <= v1.19.14

Come usarlo

Basta eseguire run.sh e attendere :) Lo sfruttamento richiederà del tempo (per me sono stati 10-20 minuti) perché si basa su una condizione di gara (race condition).

root@kitploit:~
chmod +x run.sh; ./run.sh

Quando ricevi il messaggio "Success" puoi collegarti al POD e trovare il filesystem di Node nella directory . Per il collegamento puoi usare il seguente comando:

/mnt/data
root@kitploit:~
kubectl exec -i -t cve202125741 -c mount-container -- /bin/sh

Dettagli tecnici

L'exploit è composto da 2 parti:

  • pod.yaml

    File YAML con la configurazione del pod che sfrutta la vulnerabilità. A causa della condizione di gara non funziona sempre, quindi dovresti eseguirlo in un ciclo.

  • run.sh

    Script che distribuisce pod.yaml, verifica il risultato e lo ridistribuisce se necessario.

Come binario renameat2 con l'opzione RENAME_EXCHANGE ho usato questo codice: https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f

Puoi compilarlo da solo e sostituirlo in pod.yaml se vuoi:

root@kitploit:~
gcc renameat2.c -o renameat2
base64 renameat2

Risoluzione dei problemi

Non ho kubectl nel sistema

Soluzioni:

  1. Basta scaricarlo dal sito ufficiale e installarlo nel tuo sistema
  2. Se non è possibile, devi riscrivere run.sh e inviare richieste HTTP direttamente all'API di Kubernetes senza usare kubectl

Non ho i privilegi per eseguire /bin/sh sul POD

Soluzioni:

  1. Puoi provare a collegare /bin/sh a una porta TCP e connetterti a questa porta.
  2. Puoi modificare pod.yaml e aggiungere i comandi richiesti. Verranno eseguiti durante il processo di distribuzione.
Scarica lo strumento