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
DirtyFrag-go — Un'implementazione in Go di dirtyfrag (CVE-2026-43284 / CVE-2026-43500) | Kitploit
Strumenti/GitHubGitHub/nonameuserosint-hue/dirtyfrag-go
Escalation di PrivilegiExploitBinary Exploitation
GitHubnonameuserosint-hue/dirtyfrag-go

DirtyFrag-go

Un'implementazione in Go di dirtyfrag (CVE-2026-43284 / CVE-2026-43500)

Vedi Repository
13 mesi faNon ancora revisionato

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

dirtyfrag-go

Due bug. Una shell. Nessuna scrittura su disco.

Porting Go di dirtyfrag (CVE-2026-43284 / CVE-2026-43500).

Come funziona (tl;dr)

La classe di bug risiede nel sottosistema XFRM del kernel Linux. Quando una pagina di un file viene passata con splice() in una pipe e poi in un socket crittografato ESP, il kernel decritta il payload ESP in-place - direttamente nella pagina della page cache del file sorgente. Il file è di sola lettura. La page cache no.

dirtyfrag combina due bug indipendenti che sfruttano questa primitiva:

CVE-2026-43284 - percorso ESP/XFRM

Installa 48 SA in modalità trasporto XFRM tramite NETLINK_XFRM. Ogni SA codifica 4 byte del payload shellcode nel campo seq_hi del proprio stato di replay ESN. Una catena vmsplice + splice attiva la decrittazione ESP in-place per ogni SA, scrivendo quei 4 byte nella voce della page cache di /usr/bin/su. 48 trigger, 192 byte scritti, nessuna race condition.

CVE-2026-43500 - percorso RxRPC/rxkad

Esegue brute-force offline su 3 chiavi di sessione PCBC(fcrypt) che producono le sequenze di byte desiderate quando decrittate. Attiva un trigger del socket AF_RXRPC per ogni chiave per modificare la voce di root in /etc/passwd in root::0:0 (nullok). su - accetta quindi una password vuota.

Entrambi i percorsi girano in un namespace utente + di rete (CLONE_NEWUSER | CLONE_NEWNET) per non richiedere CAP_NET_ADMIN sull'host.

Utilizzo

root@kitploit:~
go build -o dirtyfrag-go .
./dirtyfrag-go

# Force a specific path
./dirtyfrag-go --force-esp
./dirtyfrag-go --force-rxrpc

# Verbose output
./dirtyfrag-go -v

Il binario tenta prima il percorso ESP. Se /usr/bin/su non risulta patchato, ripiega sul percorso RxRPC (fino a 3 tentativi). In caso di successo apre una shell di root tramite una nuova PTY.

Pulizia

L'exploit tocca solo la page cache. I binari su disco e /etc/passwd non vengono modificati. Un riavvio ripristina tutto. Per svuotare immediatamente senza riavviare:

root@kitploit:~
echo 1 | tee /proc/sys/vm/drop_caches

Requisiti

  • Linux - kernel non patchato (vedi sotto)
  • Nessuno strumento esterno o payload precompilati - puro Go, singolo binario statico
  • Moduli del kernel: esp4, esp6 (percorso ESP) e/o rxrpc (percorso RxRPC)

Kernel interessati

Tutti i kernel precedenti alle patch:

  • CVE-2026-43284: https://lists.openwall.net/netdev/2026/05/06/112
  • CVE-2026-43500: https://lists.openwall.net/netdev/2026/05/06/114

Mitigazione

root@kitploit:~
rmmod esp4 esp6 rxrpc
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
  > /etc/modprobe.d/dirtyfrag.conf

Rispetto all'originale

Il runtime di Go è multi-thread fin dall'avvio, quindi unshare(CLONE_NEWUSER) non è consentito. La porta Go riesegue se stessa come processo figlio con SysProcAttr.Cloneflags impostato, che chiama clone() prima che il runtime Go venga inizializzato.

Riferimenti

  • V4bel/dirtyfrag - PoC originale in C
  • CVE-2026-43284 - NVD
  • CVE-2026-43500 - NVD

Crediti

  • V4bel - scoperta della vulnerabilità e PoC originale
Scarica lo strumento
C (originale)Go
Dipendenze esternenessunanessuna
File singolonono
Binario staticosìsì
Percorso RxRPCsìsì
Percorso ESPsìsì
Isolamento dei namespaceunshare()re-exec con Cloneflags