Los rootkits son herramientas que se utilizan, en general, con el objetivo de ocultar la presencia de intrusos en las máquinas. Con estas herramientas alguien no autorizado, pero que ya ha logrado entrar en la máquina, puede tener el control sobre la misma y no ser notado. En este artículo te muestro cómo buscar rootkits en tu sistema.
Muchos rootkits acompañan a una gama de binarios (como el ls, ps, who, find, u otro) modificados para que los procesos ejecutados por el atacante no puedan ser vistos por el administrador de la máquina. Además, muchos de los virus actuales utilizan rootkits.
Hay dos aplicaciones que te pueden ayudar a detectar rootkits en tu sistema: rkhunter y chkrootkit. A continuación os muestro cómo instalar y ejecutar ambas.
Usando Rkhunter
Para instalar rkhunter ejecuta:
En Arch Linux:
# pacman -Sy rkhunter
En Ubuntu (y derivados):
# apt-get install rkhunter
Antes de probar el sistema con Rkhunter, ejecuta los dos comandos siguientes:
# rkhunter --propupda # rkhunter --update
El primer comando actualiza la base con las propiedades de los archivos y el segundo actualiza la base de Rkhunter.
Después de que todo esté actualizado, podrás chequear tu sistema con el comando:
# rkhunter -c
La salida de Rkhunter es colorida y muy sencilla de leer. Esta herramienta chequea varias cosas en el sistema, y siempre que un elemento está «OK» (o Not found), se marca en verde. Cuando no, aparece un «WARNING» en rojo.
Si deseas que solo las alertas WARNING aparezcan en la pantalla, ejecuta:
# rkhunter -c --rwo
Al final de todo, Rkhunter muestra un resumen de lo que sucedió:
Todo el registro de la operación se almacena por defecto en /var/log/rkhunter.log. Siempre se puede consultarlo. Para cambiar el archivo de registro utiliza:
# rkhunter -c -l /ruta/archivo.log
Puedes, también, hacer que rkhunter te envíe un mensaje de correo electrónico cada vez que encuentre alguna alerta WARNING. Para ello, abre el archivo /etc/rkhunter.conf y busca la línea que comienza con «#MAIL-ON-WARNING». Descoméntala e introduce tu dirección de correo electrónico. Queda algo así:
Creo que esto es suficiente para que puedas ejecutar el comando Rkhunter con éxito.
Es recomendable también que eches un vistazo a man page. Allí, y en el sitio web de Rkhunter, puedes encontrar estas y otras opciones con más detalle:
$ man rkhunter
Usando Chkrootkit
Chkrootkit un poco más limitado que Rkhunter, pero no deja de ser útil. Para instalarlo ejecuta:
En Arch Linux:
# pacman -Sy chkrootkit
En Ubuntu (y derivados):
# apt-get install chkrootkit
Para escanear el sistema ejecuta:
# chkrootkit
Y para usarlo en el modo avanzado:
# chkrootkit -x
En caso de que Chkrootkit encuentre algo, mostrará una alerta “Infected” en la línea correspondiente.
Si lo deseas, puedes ejecutar Chkrootkit en otro dispositivo:
# chkrootkit -p /media/dispositivo
Para más información, ejecuta «chkrootkit -h» (sin comillas) y visita el sitio web del proyecto.
¿Y aparece un rootkit?
Si durante la búsqueda aparece algún warning, no te desesperes. En este caso, chequea el log de Rkhunter/Chkrootkit. Allí podrás obtener más información sobre dicha alerta. En muchos de los casos, estos warnings no son motivos de preocupación.
A través del registro podrás ver el tipo de alerta. Se advierte, por ejemplo, si el acceso de root a través de ssh está liberado. En este caso, tienes que abrir el archivo de configuración de ssh y deshabilitar el acceso de root por ssh. No hay una receta. Abre el archivo de registro, mira el warning y toma una acción.
En caso de que algún rootkit sea encontrado, la sugerencia es: haz una copia de seguridad de los archivos personales y formatea la máquina. Es la forma más eficiente de resolver el problema.
Y en caso de que ya tengas un mínimo de sospecha que tu sistema está infectado, no se recomienda el uso de estas herramientas a partir del propio sistema.
Lo mejor, en este caso, es montar la partición en una máquina 100% limpia (o usar un live cd) y ejecutar las herramientas allí.
También te puede interesar: Cómo instalar un antivirus en Linux (ClamAV).