Detección de rootkits en Linux: Herramientas y técnicas

10 min de lectura - 16 de mayo de 2026

hero section cover
Tabla de contenidos
  • Detección de rootkits en Linux: Herramientas y técnicas para la seguridad de servidores
  • Tipos de rootkits para Linux
  • Escaneado con chkrootkit y rkhunter
  • Detección avanzada: Supervisión del comportamiento y comprobaciones de integridad
  • Endurezca su servidor contra los rootkits
  • Conclusión
Compartir

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() y finit_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/tainted en busca de actividad no autorizada de módulos del kernel.
  • Esté atento a archivos .so inesperados en /tmp o /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 como sys_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.

background image
¿Su servidor está frenando su crecimiento?

¿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

Blog

Destacados de la semana

Más artículos
Lista de comprobación para el refuerzo de servidores Linux

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

Más artículos