Saltar al contenido
Linux 2024-12-29 8 min de lectura

Guía Completa para Detectar Rootkits con RKHunter y Chkrootkit

Un **rootkit** es un tipo de malware diseñado específicamente para ocultarse dentro del sistema operativo, modificando comandos, procesos o el propio kernel para evadir la detección convencional. Su objetivo suele ser mantener acceso persistente y no autorizado a un servidor, mientras roba datos, instala puertas traseras adicionales o participa en actividades como el envío de spam o ataques DDoS, todo sin que el administrador lo note. **RKHunter** y **Chkrootkit** son dos herramientas de código abierto complementarias, ampliamente usadas para detectar este tipo de compromisos antes de que causen un daño mayor. En esta guía las instalamos, configuramos y automatizamos.

Guía Completa para Detectar Rootkits con RKHunter y Chkrootkit
#Linux#Seguridad#Rootkits
T
Equipo Terranode
Editorial

¿Por qué son tan peligrosos los rootkits?

A diferencia de otros tipos de malware más visibles, un rootkit puede pasar semanas o meses operando sin ser detectado, robando información confidencial, registrando pulsaciones de teclado o usando tu servidor como parte de una red de bots, todo mientras el sistema parece funcionar con total normalidad. Esa capacidad de ocultamiento es precisamente lo que hace indispensable un escaneo periódico con herramientas especializadas.

Paso 1: Instalar RKHunter

En distribuciones basadas en Debian/Ubuntu:

bash
sudo apt update
sudo apt install rkhunter -y

En distribuciones basadas en Red Hat/CentOS:

bash
sudo yum install epel-release -y
sudo yum install rkhunter -y

Paso 2: Instalar Chkrootkit

En distribuciones basadas en Debian/Ubuntu:

bash
sudo apt install chkrootkit -y

En distribuciones basadas en Red Hat/CentOS:

bash
sudo yum install chkrootkit -y

Actualizar las bases de datos de firmas de RKHunter

Antes del primer escaneo, actualiza las bases de datos de firmas conocidas y genera una línea base de los archivos del sistema:

bash
sudo rkhunter --update
sudo rkhunter --propupd

El comando --propupd es especialmente importante: crea una "foto" de referencia de los archivos del sistema en su estado actual (asumiendo que está limpio), para que futuros escaneos puedan detectar cambios sospechosos comparando contra esta línea base.

Realizar un escaneo completo con RKHunter

bash
sudo rkhunter --checkall

Este comando revisa binarios del sistema, módulos del kernel, puertos de red sospechosos y firmas conocidas de rootkits. Si ves varias advertencias marcadas como [ Warning ], no entres en pánico de inmediato: muchas corresponden a falsos positivos, especialmente en sistemas con configuraciones no estándar. Revisa cada advertencia con calma antes de concluir que hay un compromiso real.

Revisar el registro detallado de resultados

RKHunter guarda un log detallado de cada escaneo que puedes consultar en cualquier momento:

bash
cat /var/log/rkhunter.log

Este archivo es útil para investigar advertencias específicas con más contexto del que se muestra en la salida resumida de la terminal.

Realizar un escaneo básico con Chkrootkit

bash
sudo chkrootkit

Si la salida muestra INFECTED en algún elemento, tampoco es momento de asumir lo peor de inmediato: es una señal de alerta que requiere investigación adicional, no una confirmación automática de compromiso. Busca el nombre específico del hallazgo para determinar si es un falso positivo conocido o algo que amerita más investigación.

Escanear directorios específicos con Chkrootkit

Si necesitas enfocar el análisis en una ruta particular (por ejemplo, tras detectar actividad sospechosa en un directorio concreto):

bash
sudo chkrootkit /ruta/directorio

Automatizar los escaneos con Cron

Para no depender de recordar ejecutar estos escaneos manualmente, prográmalos con Cron.

Escaneo automático con RKHunter todos los días a las 3:00 a.m.:

bash
sudo crontab -e
text
0 3 * * * /usr/bin/rkhunter --checkall --quiet

Escaneo automático con Chkrootkit media hora después, a las 3:30 a.m.:

text
30 3 * * * /usr/sbin/chkrootkit

La bandera --quiet en RKHunter reduce la salida solo a hallazgos relevantes, ideal para que los reportes automáticos por correo no se saturen de información innecesaria.

Qué hacer si confirmas un compromiso real

Si tras investigar una advertencia confirmas que efectivamente hay un rootkit activo, las acciones recomendadas son:

  • Aísla el servidor de la red inmediatamente para evitar que el atacante siga operando o se mueva lateralmente.
  • No confíes en el sistema comprometido para investigar: usa un medio de arranque externo o herramientas forenses desde otro equipo.
  • Restaura desde un backup previo al compromiso, si está disponible, en lugar de intentar "limpiar" un sistema comprometido, ya que los rootkits suelen dejar puertas traseras adicionales difíciles de detectar por completo.
  • Cambia todas las credenciales asociadas al servidor comprometido, incluyendo llaves SSH y contraseñas de bases de datos.

La detección de rootkits no es una tarea que se hace una sola vez: es un proceso continuo que debe formar parte de la rutina de mantenimiento de cualquier servidor expuesto a internet. Instalar y automatizar RKHunter y Chkrootkit te da visibilidad temprana ante señales de compromiso, pero recuerda siempre interpretar sus advertencias con criterio: no todo hallazgo es una infección real, y no toda infección real se detecta a la primera. La seguridad es un proceso continuo, no un destino. Si tienes dudas durante la implementación, nuestro equipo de soporte técnico está disponible 24/7 para ayudarte.

¿Listo para llevar tu sitio al siguiente nivel?

Hosting con LiteSpeed, NVMe y soporte 24/7 desde $3/mes.

Ver planes de hosting

Preguntas frecuentes