Botiquín

Rootkit Hunter

 
 

RootKit Hunter (rkhunter)
Rootkit Hunter es un shell script que realiza varias comprobaciones en el sistema local para tratar de detectar rooktits y malware
conocidos. También realiza comprobaciones para ver si los comandos se han modificado, si se han modificado los archivos de inicio del sistema y realiza varios chequeos a las interfaces de red, incluido chequeos de aplicaciones a la escucha.

Necesita de software instalado previamente en el sistema para poder ejecutar, como por ejemplo, scripts en Perl. Adicionalmente, algunos tests requieren comandos específicos, que de no estar presentes se omitiría dicho test.

Ha de ejecutarse bajo consola (bash, ksh, etc.) y podrá ser ejecutado mediante una tarea de cron o desde la línea
de comandos.
Para ejecutar rkhunter se requieren permisos de superusuario
 
¿Cómo verifica rkhunter el sistema?

  • Comparación de hashes MD5.
  • Busca por archivos comunes usados por rootkits.
  • Permisos incorrectos para binarios.
  • Busca por cadenas de texto sospechosas en módulos LKM (Loadable Kernel Module) y KLD (Kernel Loadable Device).
  • Busca por archivos ocultos.
  • Opciones de escaneo dentro de archivos binarios y planos.

Para ver la sintaxis completa del comando rkhunter pincha aquí. Es un enlace a la página Man de rkhunter.
 
rkhunter desde la línea de comandos
Actualización de la base de datos de firmas:
Es conveniente tener actualizada la base de datos de rooktit y malware antes de realizar el análisis. Para ello ejecutamos el siguiente comando:

$ sudo rkhunter --update

Tomar instantánea del estado del sistema:
El primer paso a realizar consiste en tomar una instantánea del estado actual de nuestro sistema operativo, para poder compararlo con el estado del sistema operativo en las siguientes veces que ejecutemos rkhunter. Para ello ejecutamos el siguiente comando:

$ sudo rkhunter --propupd

Después de cada cambio en la configuración hay que volver a actualizar la base de datos de rkhunter, sino aparecerán alertas y errores.

Consultar listado de pruebas posibles:
La orden siguiente muestra todas las pruebas que rkhunter puede realizar.

$ sudo rkhunter --list

Para ver la salida de rkhunter –list pincha aquí.

Consultar listado, solamente de los test posibles:
La orden siguiente muestra un listado con los diferentes test que rkhunter realiza en un escaneo completo.

$ sudo rkhunter --list tests

Para ver la salida de rkhunter –list tests pincha aquí.

¿Cómo realizar un análisis?
Una vez actualizada la base de datos de firmas y tomada la instantánea del estado del sistema, ya estamos listos para analizar nuestro sistema operativo.

Realizar un análisis completo (realizando todos los tests).

$ sudo rkhunter --check --enable all

o también, que es lo mismo.

$ sudo rkhunter -c --enable all

Realizar sólo las pruebas deseadas.

$ rkhunter --enable hidden_procs,system_commands

Realizar todas las pruebas excepto algunas.

$ rkhunter --disable system-commands

Realizar actualización y análisis desatendidos desde cron
En este ejemplo lanzaremos una tarea de cron todos los días a las 24:00 h con dos comandos. El primero de ellos actualizará la base de datos de firmas y el segundo realizará el análisis.
Editamos el crontab para añadir la tarea programada con la siguiente orden.

$ sudo crontab -u root -e

Añadimos en la última línea del editor lo siguiente:

0 00 * * * rkhunter --cronjob --update --quiet; rkhunter --cronjob -c --enable all --quiet

La orden anterior indica que en el minuto 0, a las 00 horas, todos los días, todos los meses y todos los días de la semana, se ejecute en primer lugar rkhunter –cronjob –update –quiet para actualizar la base de datos de firmas y en segundo lugar ejecutará rkhunter –cronjob -c –enable all –quiet para realizar el análisis completo.

Realizar actualización y análisis desatendidos desde la línea de comandos.
Realizaría lo mismo que en el ejemplo anterior, primero actualización de la base de datos de firmas y después el análisis completo.

$ rkhunter --update --quiet; rkhunter --skip-keypress -check --enable all --quiet

o también, que es lo mismo.

$ rkhunter --update --quiet; rkhunter -sk -c --enable all --quiet

El uso de –cronjob asume –check, –nocolors y –skip-keypress.
El uso de –skip-keypress deshabilita el comportamiento interactivo.
El uso de –quiet evita ruido, no presenta ninguna salida.

Enviar la información de salida a un archivo de log
Por defecto rkhunter envía el informe generado al archivo /var/log/rkhunter.log, pero podemos cambiar la salida del archivo a otro
de la siguiente forma:

$ rkhunter -c -sk --logfile /ruta/al/archivo/log/rkhunter-$(date +%Y-%m-%d).log

La orden anterior, enviará la salida del análisis al archivo de log y añadiremos al nombre de archivo la fecha en que se generó.
 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.