Security
8 min read
1386 views

Escapes eBPF: Cuando tu herramienta de monitoreo se convierte en el rootkit definitivo 🕵️

IT
InstaTunnel Team
Published by our engineering team
Escapes eBPF: Cuando tu herramienta de monitoreo se convierte en el rootkit definitivo 🕵️

En el panorama de 2026, el kernel de Linux ya no es un simple guardián estático; es un campo de juego dinámico y programable. En el centro de esta transformación está eBPF (extended Berkeley Packet Filter). Antes una herramienta modesta para filtrar paquetes de red, eBPF ha evolucionado hasta convertirse en la “superpotencia” de la observabilidad, redes y seguridad en la nube. Alimenta las mallas de servicios más avanzadas del mundo, firewalls de alto rendimiento y monitores de sistema profundo.

Sin embargo, como dice el viejo adagio de seguridad: con gran poder viene gran explotabilidad. Mientras herramientas legítimas como Cilium, Tetragon y Pixie usan eBPF para proteger clústeres, ha surgido una nueva generación de “Escapes eBPF”. En 2025 y principios de 2026, los investigadores han visto un aumento en rootkits basados en eBPF—programas maliciosos que aprovechan el bytecode “verificado y seguro” del kernel para ocultar archivos, robar credenciales y redirigir tráfico con casi total invisibilidad.

Este artículo explora la mecánica de los rootkits eBPF, las vulnerabilidades en el verificador de eBPF y cómo tu herramienta de monitoreo más confiable podría ser justo lo que te ciega ante una intrusión.

1. La arquitectura del control: por qué eBPF es el arma perfecta

Para entender cómo eBPF se convierte en un rootkit, hay que comprender por qué fue construido. Tradicionalmente, cambiar el comportamiento del kernel requería escribir un Kernel Module (LKM). Esto era peligroso; un solo error podía hacer que todo el sistema se colapsara (un “Kernel Panic”).

eBPF cambió esto al introducir una Máquina Virtual sandbox dentro del kernel. Permite a los desarrolladores:

  • Escribir código en un lenguaje restringido similar a C.
  • Verificar seguridad mediante un “Verificador eBPF” que asegura que el código no tenga bucles infinitos ni acceda a memoria ilegal.
  • Compilar Just-In-Time (JIT) el código en instrucciones nativas para un overhead casi nulo.
  • Adjuntar a hooks como syscalls, tracepoints o eventos de red.

La perspectiva del atacante

Para un atacante, eBPF es superior a los rootkits tradicionales por tres razones:

Persistencia sin reinicios: los programas eBPF pueden cargarse y descargarse dinámicamente.

Seguridad ante detección: las herramientas tradicionales EDR (Endpoint Detection and Response) buscan archivos o procesos sospechosos. Los programas eBPF viven en el espacio de memoria del kernel, dejando a menudo ninguna huella en el disco.

Camuflaje legítimo: dado que muchas herramientas de seguridad (como Falco o Datadog) usan eBPF, un programa malicioso puede esconderse fácilmente en el ruido de sondeos legítimos del kernel.

2. Armando el hook: cómo los rootkits eBPF manipulan la realidad

Un rootkit eBPF no rompe el sistema; distorsiona su percepción. Al enganchar funciones críticas del kernel, un atacante puede cambiar lo que el sistema operativo reporta al usuario.

A. Ocultando archivos y procesos (el hook getdents64)

La forma más común de ocultar un rootkit es enganchar la syscall sys_getdents64. Es la función que el kernel usa para listar archivos en un directorio.

El ataque: Cuando ejecutas ls o ps, el kernel llama a getdents64. Un programa eBPF malicioso (adjunto mediante un hook fexit o kretprobe) intercepta la lista de archivos antes de que llegue al espacio de usuario.

El resultado: el programa eBPF escanea la lista, identifica nombres de archivos o PIDs asociados con el malware y los elimina del buffer. El usuario ve un directorio “limpio”, mientras el malware sigue en ejecución a simple vista.

B. Redirección de red (XDP y hooks TC)

eBPF opera en el nivel XDP (eXpress Data Path)—el punto más bajo en la pila de red, antes de que el paquete llegue al firewall de Linux (iptables/nftables).

El ataque: rootkits como LinkPro (descubierto a finales de 2025) usan XDP para escuchar “Paquetes mágicos”. Son paquetes TCP especialmente diseñados (por ejemplo, tamaño de ventana o número de secuencia específicos) que actúan como un “Wake-on-LAN” para el malware.

El resultado: el rootkit puede interceptar tráfico C2 (Comando y Control) y descartar los paquetes para que nunca aparezcan en tcpdump o Wireshark. También puede redirigir tráfico a un proxy oculto, exfiltrando datos sin que la pila de red local se entere de la conexión.

C. Robo de credenciales (Uprobes y PAM)

Los atacantes pueden usar uprobes (Probes a nivel usuario) para enganchar funciones dentro de bibliotecas compartidas como libpam.so (el Módulo de Autenticación Pluggable de Linux).

El ataque: herramientas como Pamspy enganchan la función pam_get_authtok.

El resultado: cada vez que un usuario escribe una contraseña para sudo, ssh o inicio de sesión local, el programa eBPF captura la contraseña en texto claro y la almacena en un eBPF Map (una estructura de datos residente en el kernel) para que el atacante la recupere después.

3. Rompiendo el “Bouncer”: cómo el bypass del verificador eBPF

Lo único que separa a un desarrollador de un error que pueda arruinar el kernel es el Verificador eBPF. Es el “bouncer” del kernel, realizando análisis estático para garantizar la seguridad de la memoria. Sin embargo, el verificador es un software complejo, y como todo software, tiene bugs.

La vulnerabilidad find_equal_scalars

En una auditoría de seguridad importante en 2024 por parte del NCC Group, los investigadores identificaron fallos lógicos en cómo el verificador rastrea los valores “scalar” (enteros).

El exploit: un atacante puede escribir un programa eBPF que use operaciones bitwise complejas (AND, OR, XOR) para engañar al verificador y hacerle pensar que un registro contiene un valor seguro (por ejemplo, de 0 a 64), cuando en realidad contiene un valor grande (por ejemplo, una dirección de memoria).

La escapatoria: una vez engañado el verificador, el compilador JIT produce código que permite al programa eBPF leer y escribir memoria arbitraria del kernel. Esto es el “Santo Grial” para un atacante, convirtiendo un programa sandbox en un exploit completo del kernel.

Fallos lógicos vs. abuso de funciones

No todos los escapes eBPF requieren una “vulnerabilidad”. Muchos aprovechan las propias funciones auxiliares del kernel. Por ejemplo, bpf_probe_write_user es una función legítima usada por depuradores para modificar memoria. Un atacante puede usar esto para inyectar un usuario “root” en el buffer /etc/passwd mientras se lee por el proceso de login, sin tocar realmente el archivo en disco.

4. La brecha de visibilidad: por qué la seguridad tradicional es ciega

¿Por qué tu herramienta EDR de alto costo no puede encontrar estos rootkits? La respuesta está en la Brecha de Visibilidad.

Característica Malware tradicional Rootkit eBPF
Huella en disco Archivos binarios en /usr/bin o /tmp Solo en memoria del kernel
Logs de syscall Visible en auditd o syslog Engancha las funciones de logging
Tráfico de red Visible en iptables y tcpdump Interceptado en nivel XDP/controlador
Detección Firmas/Hashes de archivos Ejecución de bytecode “sin firma”

En 2026, la mayoría de los EDRs aún se enfocan en el espacio de usuario. Monitorean árboles de procesos y modificaciones en archivos. Sin embargo, un rootkit eBPF es un “fantasma en la máquina”. No crea un proceso nuevo; simplemente cambia cómo se comportan los procesos existentes.

Si preguntas al kernel, “¿Hay un proceso llamado ‘backdoor’?”, el kernel (que ahora está bajo control del rootkit) simplemente dice, “No.”

5. Estudio de caso: La epidemia LinkPro 2025

El ejemplo más sofisticado de una escapatoria eBPF hasta la fecha es LinkPro, un rootkit descubierto en octubre de 2025 dirigido a clústeres Kubernetes alojados en AWS.

Acceso inicial: los atacantes explotaron una vulnerabilidad en un servidor Jenkins (CVE-2024-23897) para obtener acceso inicial.

Despliegue: en lugar de una shell estándar, desplegaron una imagen Docker maliciosa que contenía módulos eBPF.

Hookeo en el kernel: LinkPro cargó dos módulos. Uno engancha sys_bpf—la syscall usada para cargar otros programas eBPF. Esto permitió al rootkit ocultar su presencia de herramientas como bpftool.

C2 sigiloso: el rootkit permaneció inactivo hasta que recibió un paquete “Magic TCP SYN” con un tamaño de ventana específico (54321). Solo entonces abría un shell reverso, haciendo imposible detectarlo mediante escaneo de puertos estándar.

LinkPro demostró que eBPF no es solo una herramienta para persistencia local; también es una herramienta para movimiento lateral en la nube.

6. Cómo defender tu kernel en 2026

Si el verificador puede ser bypassed y los hooks pueden ocultarse, ¿hay esperanza para los defensores? Sí, pero requiere un cambio de “Seguridad Legada” a “Seguridad Consciente del Kernel”.

1. Endurecimiento de la configuración del kernel

La primera línea de defensa es restringir quién puede cargar programas eBPF.

Desactivar BPF no privilegiado: asegúrate de que kernel.unprivileged_bpf_disabled = 1 esté activado. Esto impide que usuarios no root carguen código BPF.

Limitar capacidades: usa las capacidades de Linux para garantizar que solo servicios específicos (como tu agente de monitoreo) tengan CAP_BPF y CAP_PERFMON.

2. Monitoreo de integridad en tiempo de ejecución (Tetragon y Tracee)

Irónicamente, la mejor forma de luchar contra un rootkit eBPF es con mejor eBPF. Herramientas como Tetragon (de Cilium) usan eBPF para monitorear el estado del kernel.

Aplicación de firmas: en 2026, muchas organizaciones han adoptado programas eBPF firmados. El kernel está configurado para cargar solo bytecode BPF que ha sido firmado criptográficamente por una autoridad confiable (como el equipo de seguridad).

Integridad BTF: monitorear los datos BPF Type Format (BTF) puede revelar cuando un rootkit ha modificado estructuras del kernel para ocultar sus mapas.

3. Enumeración forense

Los equipos de seguridad deben realizar “Instantáneas del kernel” regularmente.

bpftool: usa bpftool prog show para listar todos los programas cargados. Si hay programas sin nombre o PID, investiga inmediatamente.

Forense en memoria: en entornos de alta seguridad, análisis de memoria a nivel hipervisor (usando herramientas como Volatility 3) puede identificar programas eBPF que engancharon sys_bpf para ocultarse de bpftool.

4. Vigilancia de “Paquetes mágicos”

Los firewalls modernos deben configurarse para buscar “Valores de encabezado anómalos”. Los rootkits eBPF a menudo usan flags TCP no estándar o tamaños de ventana para activarse. La IA conductual en los firewalls de 2026 ahora está específicamente sintonizada para detectar estos paquetes “de baja frecuencia y alta intención”.

7. Conclusión: La dualidad del kernel moderno

A medida que avanzamos en 2026, la batalla por el kernel de Linux solo se intensificará. eBPF es una tecnología de “dual uso” clásica—un avance para rendimiento y observabilidad que también funciona como la caja de herramientas definitiva para actores sofisticados.

Para las organizaciones, la conclusión es clara: no puedes confiar en lo que no puedes verificar. Si dependes de eBPF para tu monitoreo y seguridad, también debes asegurar el subsistema eBPF. La misma herramienta que te da “visión de rayos X” en tus contenedores puede, si se compromete, convertirse en una venda que oculta un depredador en tu núcleo.

¿Tu kernel es programable? Sí. Pero la pregunta es: ¿quién está haciendo la programación?

Continue from this article into the most relevant product guides and workflows.

Related Topics

#eBPF security, eBPF rootkit, Linux kernel security, eBPF verifier bypass, XDP malware, LinkPro rootkit, observability tools, kernel-level monitoring, BPFdoor, ebpf escape, ebpf rootkit, linux kernel exploitation, ebpf security vulnerability, kernel level attack, ebpf verifier bypass, ebpf malware, kernel rootkit 2026, linux observability risk, ebpf threat model, kernel instrumentation abuse, ebpf monitoring exploit, linux kernel hooks, stealth malware linux, advanced persistent rootkit, ebpf based malware, container escape ebpf, kubernetes ebpf attack, cloud native kernel threat, kernel privilege escalation, ebpf security risks, ebpf attack surface, linux kernel backdoor, rootkit detection evasion, invisible malware linux, kernel syscall hooking, network traffic interception linux, credential theft kernel, kernel space malware, ebpf tracing abuse, kernel level persistence, stealth persistence linux, runtime security bypass, falco ebpf risk, cilium security implications, observability security flaws, kernel isolation failure, linux security monitoring bypass, container runtime escape, cloud workload protection failure, kernel data exfiltration, syscall tampering, process hiding attack, file hiding rootkit, netfilter bypass ebpf, kernel visibility gap, advanced linux exploitation, modern rootkit techniques, zero day kernel exploit, kernel attack techniques, linux hardening failure, cloud native security risk, ebpf sandbox escape, kernel verification flaw, ebpf program abuse, ebpf malware research, linux threat detection gap, kernel telemetry manipulation, observability attack vector, kernel compromise detection, stealth attacker persistence, red team kernel exploitation, linux kernel security architecture, runtime protection evasion, ebpf program injection, ebpf security best practices

Keep building with InstaTunnel

Read the docs for implementation details or compare plans before you ship.

Share this article

More InstaTunnel Insights

Discover more tutorials, tips, and updates to help you build better with localhost tunneling.

Browse All Articles