Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-31431-detection-defense — Investigación y guía de detección para CVE-2026-31431, una evasión basada en io_uring del monitoreo de llamadas al sistema. Proporciona reglas de detección para Tetragon, Falco y Wazuh, además de estrategias de endurecimiento. | Kitploit
Herramientas/GitHubGitHub/detect-defenselab/cve-2026-31431-detection-defense
Herramientas DefensivasSeguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónDetección de Intrusiones
GitHubdetect-defenselab/cve-2026-31431-detection-defense

CVE-2026-31431-detection-defense

Investigación y guía de detección para CVE-2026-31431, una evasión basada en io_uring del monitoreo de llamadas al sistema. Proporciona reglas de detección para Tetragon, Falco y Wazuh, además de estrategias de endurecimiento.

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 →
Ver Repositorio
hace 3 mesesAún no revisado
Compartir

CVE-2026-31431: Detección y Defensa Contra la Evasión de io_uring en la Detección Existente

Autores: fz0x00, qiwuSEC

Investigación

Para CVE-2026-31431 ("Copy Fail"), demostramos debilidades sistemáticas en productos de seguridad convencionales combinando tres estrategias de evasión: ruta de E/S asíncrona io_uring, división de procesos (fork + SCM_RIGHTS) y reutilización de sockets. Mediante pruebas empíricas, demostramos que estas técnicas pueden evadir prácticamente todas las herramientas de detección basadas en syscalls.

Hallazgos Clave

1. io_uring Evade Prácticamente Toda la Detección Basada en Syscalls

io_uring envía solicitudes a través de buffers de anillo de memoria compartida, evadiendo los puntos de entrada tradicionales de syscalls. Esto significa:

  • auditd / Wazuh / Elastic Security Agent y otros productos que dependen de la auditoría de syscalls están completamente ciegos cuando los atacantes usan la ruta io_uring — cero eventos, cero alertas
  • Los hilos de trabajo de io_uring () ejecutan operaciones dentro del kernel sin activar
iou-wrk-XXXXX
audit_syscall_entry()
  • Las políticas de Seccomp que solo bloquean socket(AF_ALG) pueden evadirse mediante IORING_OP_SOCKET — seccomp solo verifica en la entrada de syscalls, y las operaciones de io_uring no pasan por esa entrada
  • 2. La División de Procesos Rompe la Correlación a Nivel de PID

    Al usar fork + SCM_RIGHTS (paso de fd a través de sockets de dominio Unix), la creación de sockets y las operaciones de splice pueden colocarse en diferentes procesos:

    • La correlación same_field(audit.pid) de Wazuh se rompe — PID del socket ≠ PID del splice, la regla CRÍTICA no se activa
    • El seguimiento de fd a nivel de proceso de Falco libsinsp se rompe por completo en escenarios SCM_RIGHTS

    3. La Reutilización de Sockets Evade las Reglas de Umbral de Conteo

    El PoC original crea un nuevo socket por iteración (produciendo 40+ llamadas socket(AF_ALG)). La reutilización de sockets crea solo un socket de escucha; el bucle llama a accept() que no produce nuevos eventos de socket. Las reglas basadas en count >= N quedan completamente derrotadas.

    4. La Combinación de Variantes Más Difícil de Detectar

    root@kitploit:~
    ruta io_uring + splice + /etc/passwd + algoritmo authenc + división SCM_RIGHTS + reutilización de sockets
    

    Bajo esta combinación: las herramientas basadas en syscalls están completamente ciegas, la correlación a nivel de proceso se rompe, los umbrales de conteo fallan. Solo la detección de punto de convergencia con kprobe puede detectar esta combinación.

    5. El Monitoreo a Nivel LSM Puede Detectar Perfectamente la Explotación

    __sock_create(family=38) es un punto de convergencia inevitable para todas las rutas (syscall e io_uring) — AF_ALG es la única API criptográfica de espacio de usuario en el kernel de Linux. No importa cómo los atacantes varíen su enfoque, deben crear un socket AF_ALG. Monitorear esta función a nivel LSM proporciona un 100% de recall y no se ve afectado por ninguna variante.

    Resultados de Pruebas Específicos por Producto

    ProductoCapa de DetecciónSyscall TradicionalRuta io_uringDivisión Multi-ProcesoReutilización de SocketsEvaluación
    Tetragon (kprobe)Función del kernel✅✅✅✅Única cobertura de cadena completa
    Falco + plugin krsifexit/fentry✅✅✅✅Requiere krsi para io_uring; solo entrada
    Falco (modern_ebpf)tracepoint de syscall✅❌✅✅io_uring completamente invisible
    auditd / Wazuhauditoría de syscall✅❌❌ PID roto⚠️io_uring ciego + correlación PID rota
    Elastic Security Agentsyscall✅❌⚠️⚠️Igual que Wazuh; dependiente de syscall = ciego

    Falco Requiere el Plugin krsi

    El driver nativo modern_ebpf de Falco solo captura la ruta de syscalls. El plugin krsi es obligatorio — utiliza trazado fexit en las salidas de las funciones del kernel io_socket() y __sys_socket() para cubrir la ruta io_uring en la creación de sockets AF_ALG. Regla de respaldo recomendada:

    root@kitploit:~
    - rule: AF_ALG Socket Created
      condition: >
        (evt.type = socket and evt.args contains AF_ALG) or
        (evt.type = krsi_socket and krsi.domain = 38)
      output: >
        AF_ALG socket created (source=%evt.type domain=%evt.arg.domain
        krsi_domain=%krsi.domain proc=%proc.name pid=%proc.pid)
      priority: WARNING
      tags: [cve-2026-31431, crypto, container_escape]
    

    El enfoque de detección de la regla recomendada: cubre simultáneamente eventos socket (ruta de syscall, usando coincidencia de cadena evt.args contains AF_ALG para evadir la limitación de tipo ENUMFLAGS32) y eventos krsi_socket (ruta io_uring, usando comparación de enteros krsi.domain = 38). Sin umbrales de conteo (derrotados por la reutilización de sockets), sin dependencia de correlación PID (derrotada por la división multi-proceso).

    Nota: Las tres capas de defensa de la regla comunitaria ThreatBear son todas evadibles — desajuste de tipo ENUMFLAGS32 (evt.arg[0]=38 siempre falso), la reutilización de sockets derrota el umbral de conteo (count=1 < 40), la división multi-proceso rompe la correlación PID. Ver Análisis de Evasión de Reglas.

    Wazuh / Elastic Security Agent No Pueden Detectar la Explotación de io_uring

    Wazuh depende completamente de los eventos de auditoría de syscalls de auditd. Las operaciones de io_uring no pasan por la entrada de syscalls, por lo que auditd produce cero eventos y las 7 reglas de Wazuh fallan. Lo mismo aplica a Elastic Security Agent — los productos dependientes de la entrada de syscalls son estructuralmente ciegos a la ruta io_uring. Ver Análisis de Limitaciones de Wazuh.

    Demostración de Evasión

    El directorio bypass_demo/ contiene descripciones conceptuales de los enfoques de evasión de detección. El código PoC real es solo para uso interno y no se distribuye públicamente.

    Índice de Documentación

    Teoría

    DocumentoContenido
    VULNERABILITY.mdCausa raíz — superposición de tres cambios del kernel, cadena de ataque de 9 pasos, características de escritura en caché de páginas
    EXPLOIT_VARIANTS.md6 dimensiones de variantes de explotación — ruta de E/S × envío de datos × archivo objetivo × algoritmo AEAD × división de procesos × reutilización de sockets
    DETECTION_THEORY.mdTeoría de detección — puntos de convergencia vs. divergencia, arquitectura de detección de 4 capas, correlación temporal multi-señal

    Soluciones de Detección

    DocumentoContenido
    detection/tetragon.mdRecomendado — Tetragon kprobe, 5 sondas que cubren tradicional + io_uring, única detección de cadena completa
    detection/falco.mdGuía de configuración de Falco 0.40.0 + krsi 0.1.0, internals de krsi, solución de problemas
    detection/wazuh.mdTres limitaciones principales de Wazuh + auditd: ceguera a io_uring, ruptura de correlación PID, invisibilidad en caché de páginas
    detection/rule_bypass.mdPrincipios de evasión de la regla ThreatBear, verificación empírica anti-evasión de la regla recomendada

    Endurecimiento

    DocumentoContenido
    defense/HARDENING.mdModelo de defensa de 3 capas: configuración del kernel → seccomp → namespaces de usuario; análisis de seguridad de Docker 29.4.2
    Descargar herramienta