Instalación y uso de chkrootkit
Cómo analizar tu servidor en busca de rootkits y configurar comprobaciones de seguridad automatizadas.
Chkrootkit (check rootkit) es una herramienta gratuita y de código abierto para detectar rootkits y otros programas maliciosos en sistemas Linux. Es capaz de identificar prácticamente todos los rootkits modernos conocidos y está disponible en la mayoría de las distribuciones principales.
La herramienta funciona tanto en VPS como en servidores dedicados.
Instalación
Opción 1 — mediante el gestor de paquetes (recomendado):
apt-get install chkrootkit
Opción 2 — compilar desde el código fuente (para obtener la última versión):
wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvfz chkrootkit.tar.gz
cd chkrootkit-*/
make sense
Una vez compilado, mueve el directorio a una ubicación adecuada:
cd ..
mv chkrootkit-/ /usr/local/chkrootkit
Crea un enlace simbólico para poder invocarlo desde cualquier directorio:
ln -s /usr/local/chkrootkit/chkrootkit /usr/local/bin/chkrootkit
Opciones de línea de comandos
| Opción | Descripción |
|---|---|
-h |
Mostrar la ayuda |
-V |
Mostrar la versión |
-l |
Listar todos los tests disponibles |
-d |
Activar el modo de depuración |
-q |
Modo silencioso — mostrar solo los archivos infectados |
-x |
Modo extendido — salida detallada por cada archivo analizado |
-r dir |
Usar el directorio especificado como raíz |
-n |
Omitir las comprobaciones en montajes NFS |
-p dir1:dir2 |
Especificar las rutas de los programas externos que usa chkrootkit |
Ejecutar un análisis
Para realizar un análisis completo del sistema:
chkrootkit
Ejemplo de salida:
ROOTDIR is /' Checking amd'... not found
Checking basename'... not infected Checking cron'... not infected
Checking find'... not infected Checking ls'... not infected
Checking ps'... not infected Checking sshd'... not infected
...
Checking `bindshell'... INFECTED (PORTS: 465)
...
Interpretar los resultados
| Estado | Significado |
|---|---|
not infected |
No se han detectado firmas de rootkits conocidos |
INFECTED |
El programa coincide con una firma conocida de rootkit o malware |
not found |
El programa no se encontró en el sistema y no fue analizado |
not tested |
Test omitido — no aplicable a este sistema operativo, dependencia ausente o deshabilitado mediante un flag |
Vulnerable but disabled |
El programa está infectado pero no se encuentra en ejecución |
Falso positivo conocido: si ves
Checking 'bindshell'... INFECTED (PORTS: 465)en un servidor de correo, no te alarmes. El puerto 465 corresponde a SMTPS (Secure SMTP) — se trata de una falsa alarma bien documentada que chkrootkit siempre ha generado en servidores de correo.
Importante
chkrootkit informa de los problemas — no los resuelve. Cada advertencia debe investigarse manualmente para determinar si se trata de una amenaza real o de un falso positivo antes de tomar cualquier medida.
Automatizar los análisis con cron
Puedes programar análisis periódicos y recibir los resultados por correo automáticamente.
Primero, localiza la ruta completa de chkrootkit:
which chkrootkit
Salida:
/usr/sbin/chkrootkit
Abre tu crontab:
crontab -e
Añade una tarea — por ejemplo, para ejecutar un análisis completo cada noche a las 3:00:
0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit Report" tu@email.com
Sustituye la ruta por la que devuelva which chkrootkit y actualiza la dirección de correo con la tuya.
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!