Detección de rootkits en Linux: Herramientas y técnicas
10 min de lectura - 16 de mayo de 2026

Cómo detectar y prevenir rootkits Linux usando chkrootkit, rkhunter, Auditd, AIDE, y monitorización del comportamiento en sus servidores.
Detección de rootkits en Linux: Herramientas y técnicas para la seguridad de servidores
Los rootkits proporcionan a los atacantes acceso persistente y oculto a los sistemas Linux. Manipulan las operaciones del núcleo, ocultan archivos y procesos y esquivan las herramientas de seguridad estándar. Algunos han pasado desapercibidos durante años. Detectarlos requiere un enfoque por capas, porque ninguna herramienta lo detecta todo.
En este artículo se describen los principales tipos de rootkits de Linux, cómo buscarlos y las técnicas de supervisión avanzadas que detectan lo que los analizadores básicos no detectan.
Tipos de rootkits para Linux
Los rootkits operan a diferentes niveles de privilegios, y cuanto más profundo se sitúan, más difíciles son de encontrar.
Los rootkits en modo usuario funcionan a nivel de aplicación (Anillo 3). Secuestran la vinculación dinámica utilizando LD_PRELOAD para inyectar bibliotecas maliciosas que interceptan funciones estándar de la biblioteca C como readdir o fopen, ocultando archivos y procesos de las herramientas de usuario.
Los rootkits en modo kernel se ejecutan en el anillo 0 cargándose como módulos cargables del kernel (LKM). Interceptan las llamadas al sistema, manipulan la memoria del kernel y ocultan su propia presencia. Como están vinculados a versiones específicas del kernel, uno mal configurado puede provocar un pánico en el kernel, lo que irónicamente lo deja al descubierto.
los rootkits basados en eBPF aprovechan el subsistema Extended Berkeley Packet Filter para ejecutarse en el espacio del kernel sin cargar un módulo tradicional. Se conectan a ganchos syscall, tracepoints o eventos LSM. Los escáneres LKM estándar no los verán. Boopkit es una conocida prueba de concepto que crea un canal C2 encubierto utilizando este enfoque.
los rootkits basados en io_uring son la variante más reciente. Utilizan la interfaz de E/S asíncrona io_uring para realizar operaciones por lotes, generando menos eventos de syscall observables. RingReaper, un rootkit experimental, demostró cómo esto puede reemplazar silenciosamente llamadas como leer, escribir y conectar mientras evade las herramientas EDR.
| Tipo de rootkit | Nivel de privilegios | Método de enganche | Dificultad de detección |
|---|---|---|---|
| Modo usuario | Anillo 3 (Usuario) | LD_PRELOAD, secuestro de bibliotecas | Moderado |
| Modo kernel | Anillo 0 (Kernel) | Syscall table, LKM, inline hooking | Alto |
| basado en eBPF | Anillo 0 (núcleo) | enganche de programa eBPF | Muy alto |
| basado en io_uring | Usuario/núcleo | Dosificación asíncrona de E/S | Muy alta |
Escaneado con chkrootkit y rkhunter
Dos herramientas constituyen la base para la detección de rootkits en servidores Linux: chkrootkit para escaneos rápidos y rkhunter para comprobaciones más profundas.
chkrootkit
chkrootkit es un script de shell que comprueba los binarios críticos del sistema(ls, ps, netstat, sshd, ifconfig) en busca de signos de manipulación. También detecta interfaces de red promiscuas y registros borrados. A partir de la versión 0.59 (enero de 2026), puede identificar más de 75 rootkits, gusanos y LKM, incluidas amenazas más recientes como Linux BPFDoor, Syslogk y XZ Backdoor.
Ejecútalo después de cualquier actividad sospechosa. Preste atención a las advertencias del componente ifpromisc y a las alertas sobre archivos lastlog o wtmp eliminados.
rkhunter
rkhunter va más allá. Compara los hashes SHA-1 de los binarios del sistema con valores conocidos, supervisa los permisos de archivos y los archivos ocultos, comprueba las configuraciones de inicio y realiza análisis del kernel y de la red.
Configúrelo correctamente desde el principio:
# Establish a baseline after a clean install or update
rkhunter --propupd
# Update rootkit definitions
rkhunter --update
# Run a full scan (use --novl on production servers to reduce I/O)
rkhunter --check --enable all
Para realizar análisis diarios automatizados, establezca CRON_DAILY_RUN="true" en /etc/rkhunter.conf y utilice --skip-keypress y --report-warnings-only para obtener un resultado limpio. Revise los registros en /var/log/rkhunter.log y ponga en la lista blanca los falsos positivos confirmados.
Detección de rootkits LKM
Los rootkits LKM son particularmente peligrosos porque operan como extensiones del kernel, interceptando llamadas al sistema y ocultando procesos a nivel del kernel. Las herramientas estándar como lsmod no los verán, pero hay formas de detectarlos.
Compare la salida de lsmod con los listados de /sys/module/. Compruebe los registros del sistema en busca de mensajes sospechosos del núcleo:
# Look for out-of-tree module warnings
sudo dmesg | grep "loading out-of-tree module taints kernel"
# Check for module verification failures
grep "module verification failed" /var/log/syslog
# Run chkrootkit's LKM-specific check
sudo chkrootkit lkm
Incluso los rootkits que se ocultan de lsmod y /proc/modules (como Diamorphine) pueden encontrarse comprobando /sys/module/diamorphine/coresize o revisando las advertencias de syslog.
Detección avanzada: Supervisión del comportamiento y comprobaciones de integridad
Los escáneres estáticos tienen una debilidad fundamental. En un experimento realizado en 2026, añadir un único byte nulo a un binario de rootkit, un cambio que no afecta a la funcionalidad, redujo drásticamente los índices de detección. Las detecciones de Diamorphine cayeron de 33/66 a 8/64 con sólo eliminar sus tablas de símbolos. Confiar únicamente en las firmas no es suficiente.
Análisis del comportamiento
En lugar de preguntar "¿este archivo coincide con un rootkit conocido?", el análisis de comportamiento pregunta "¿este proceso está haciendo algo inusual?" Supervise estas señales:
- Utilice Auditd para vigilar las llamadas al sistema
init_module()yfinit_module(), que cargan módulos del kernel independientemente del método. - Supervisa las llamadas a
kill()con señales superiores a 31, que pueden indicar una comunicación encubierta de rootkit. - Comprueba
/proc/sys/kernel/tainteden busca de actividad no autorizada de módulos del kernel. - Esté atento a archivos
.soinesperados en/tmpo/dev/shm. - Rastrea la actividad de eBPF, especialmente las llamadas a
bpf_probe_write_user. Herramientas como BCC pueden rastrear operaciones io_uring a través de tracepoints comosys_enter_io_uring_enter.
Para los rootkits eBPF y io_uring específicamente, las herramientas de monitorización en tiempo de ejecución como Tetragon, Falco y Tracee pueden observar la actividad en el núcleo en tiempo real.
Supervisión de la integridad de los archivos
AIDE (Advanced Intrusion Detection Environment) crea una línea base de archivos del sistema de confianza y comprueba si se han producido cambios. Se inicializa con aide --init y luego se programa aide --check mediante cron. Realiza un seguimiento de las sumas de comprobación, los permisos, la propiedad y las marcas de tiempo en binarios críticos como /bin/login y /usr/bin/sshd.
Para la verificación a nivel de paquete, debsums (Debian/Ubuntu) o rpm -Va (RHEL/CentOS) pueden confirmar la integridad de los archivos del sistema. Para obtener los resultados más fiables, arranca desde un medio de rescate de confianza e inspecciona el sistema de archivos sin conexión, ya que los rootkits pueden alterar los informes de un kernel en ejecución.
Vigile también los mecanismos de persistencia. Los rootkits suelen modificar /etc/ld.so.preload para inyectar objetos compartidos, o alterar .bashrc y .profile. Los cambios legítimos en estos archivos son raros, por lo que las alertas aquí tienen una alta relación señal-ruido.
Monitorización automatizada con Auditd
Añada estas reglas a /etc/audit/rules.d/rootkit.rules para la detección en tiempo real de actividad sospechosa en el kernel:
# Detect unauthorized kernel module loading
-a always,exit -F arch=b64 -S finit_module -S init_module
# Catch unusual high-range kill signals
-a always,exit -F arch=b64 -S kill -F a1>=32
Combínelas con las actualizaciones automáticas de rkhunter. Establezca UPDATE_MIRRORS=1 y MIRRORS_MODE=0 en la configuración, y ejecute rkhunter --propupd después de actualizaciones legítimas del sistema para refrescar la línea de base.
Endurezca su servidor contra los rootkits
La detección es importante, pero la prevención es mejor. La mayoría de los rootkits requieren privilegios elevados para instalarse, por lo que reducir la superficie de ataque marca una diferencia real.
Mantenga actualizados el núcleo y los paquetes. Los atacantes se aprovechan de vulnerabilidades no parcheadas para escalar privilegios y desplegar rootkits basados en LKM o eBPF. Tras aplicar los parches, actualice las líneas de base de detección con rkhunter --propupd.
Aplique los privilegios mínimos. No conceda a los usuarios o procesos más acceso del que necesitan. Utilice SELinux o AppArmor para controles de acceso obligatorios que bloqueen acciones no autorizadas incluso si un proceso está comprometido.
Desactive la carga de módulos del kernel tras el arranque. En servidores dedicados, puede evitar por completo los rootkits LKM bloqueando la carga de módulos tras el arranque del sistema. Esto no es posible en el alojamiento compartido, que es una de las razones por las que los entornos dedicados o VPS ofrecen una postura de seguridad más fuerte.
Segmente su red. Aislar partes de su infraestructura limita el movimiento lateral si una máquina se ve comprometida.
Realice auditorías periódicas. Herramientas como Lynis pueden identificar errores de permisos y desconfiguraciones antes de que los atacantes se aprovechen de ellos.
Conclusión
Los rootkits están diseñados para ocultarse a plena vista. Para cuando aparecen los síntomas, el sistema ya puede estar comprometido más allá de una recuperación fácil. Ningún escáner lo detecta todo, y la detección básica basada en firmas es fácil de eludir.
Una defensa práctica combina varias capas:
- Análisis regulares con chkrootkit y rkhunter para detectar amenazas conocidas
- Reglas Auditd y supervisión del comportamiento para detectar actividad sospechosa en el kernel
- Supervisión de la integridad de los archivos con AIDE para detectar cambios no autorizados
- Herramientas en tiempo de ejecución como Tetragon o Falco para amenazas eBPF e io_uring
- Controles de acceso reforzados, parches y segmentación de la red para reducir la superficie de ataque
Automatice lo que pueda, mantenga actualizadas las líneas de base y comience con una instalación limpia del sistema operativo en la que confíe.
FDC Servers ofrece alojamiento dedicado y VPS con acceso root completo y configuraciones de kernel personalizables. Explore las opciones de servidores dedicados para crear un entorno Linux reforzado.

¿Cansado de despliegues lentos o límites de ancho de banda? FDC Servers ofrece potencia dedicada instantánea, alcance global y planes flexibles diseñados para cualquier escala.
Actualizar ahora
Lista de comprobación para el refuerzo de servidores Linux
Lista de comprobación paso a paso para reforzar un servidor Linux. Cubre SSH, cortafuegos, parches, permisos de archivos, SELinux/AppArmor y registro de auditorías
15 min de lectura - 8 de mayo de 2026
tutorial de iperf3: Prueba de velocidad de red en Linux y Windows
10 min de lectura - 7 de mayo de 2026