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
Fragnesia-go — Un'implementazione Go di fragnesia (CVE-2026-46300) | Kitploit
Strumenti/GitHubGitHub/nonameuserosint-hue/fragnesia-go
Escalation di PrivilegiExploitBinary Exploitation
GitHubnonameuserosint-hue/fragnesia-go

Fragnesia-go

Un'implementazione Go di fragnesia (CVE-2026-46300)

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

fragnesia-go

Una SA. Un byte alla volta. Nessuna race.

Porting Go di fragnesia (CVE-2026-46300). Membro della classe di vulnerabilità Dirty Frag - bug separato, stessa superficie, patch propria.

Come funziona (tl;dr)

Il bug si trova nel sottosistema Linux XFRM ESP-in-TCP. Quando TCP_ULP espintcp viene installato su un socket dopo che i dati sono già stati trasferiti tramite splice() da un file nella coda di ricezione TCP, il kernel tratta i dati in coda come un record di ciphertext ESP e li decifra in-place. La fonte di quei dati è una pagina della page cache. La decifratura applica tramite XOR il keystream AES-GCM direttamente su di essa.

Il risultato è una scrittura controllata di un singolo byte nella page cache di qualsiasi file leggibile.

Tabella del keystream

Il counter block AES-GCM (RFC 4106) in posizione 2 è [salt(4) || IV(8) || 0x00000002]. Cifrandolo con la chiave di sessione si ottiene un blocco di keystream di 16 byte. Il byte 0 di quel blocco è quello che viene XORato nel byte obiettivo. Variando i 32 bit inferiori del nonce IV, tutti i 256 possibili valori di byte del keystream sono raggiungibili entro i primi 65536 nonce. L'exploit costruisce questa lookup table una volta all'avvio tramite AF_ALG AES-ECB.

Ciclo di byte-flip

Per ogni byte del payload:

  1. Leggi il valore corrente dal file (page cache).
  2. Calcola needed_keystream = current XOR desired.
  3. Cerca il nonce per quel byte del keystream.
  4. Imposta l'IV, lancia una coppia di trigger TCP (il mittente esegue lo splice della pagina del file nel socket, il ricevitore ritarda l'installazione di TCP_ULP fino a quando i dati non sono in coda).
  5. Risultato: current XOR keystream = current XOR (current XOR desired) = desired.

Una SA. Massimo 192 trigger. Deterministico.

Uso

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

In caso di successo apre una shell di root tramite una nuova PTY. Il binario su disco non viene toccato - solo page cache.

Pulizia

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

Requisiti

  • Linux - kernel non patchato (vedi sotto)
  • Nessuno strumento esterno - solo Go, un singolo binario statico
  • Modulo kernel: esp6 (modalità transport, loopback IPv6)

Kernel interessati

Tutti i kernel precedenti alla patch: https://lists.openwall.net/netdev/2026/05/13/79

Stesso range di dirtyfrag.

Mitigazione

Come per dirtyfrag:

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

Confronto con dirtyfrag-go

Riferimenti

  • v12-security/pocs - fragnesia - PoC C originale
  • CVE-2026-46300 - Red Hat
  • Patch del kernel

Crediti

  • William Bowling / team V12 - scoperta della vulnerabilità e PoC originale
Scarica lo strumento
dirtyfrag-gofragnesia-go
CVECVE-2026-43284 / CVE-2026-43500CVE-2026-46300
TrasportoESP-in-UDP + RxRPCESP-in-TCP (ULP)
Granularità di scrittura4 byte per trigger1 byte per trigger
XFRM SAs481
CrittografiaHMAC-SHA256 + CBC-AESAES-128-GCM
Famiglia IPIPv4IPv6