Blog

Analisis de de malware y rootkits en Linux con Rootkit Hunter

Analisis de de malware y rootkits en Linux con Rootkit Hunter

Sin duda, mantener tu distribución de Linux segura, entre otras cosas, significa buscar amenazas como rootkits. Para ello puedes utilizar Rootkit Hunter, una herramienta de seguridad mediante línea de comandos para sistemas basados en Unix.

Aparte de detectar rootkits, también es capaz de encontrar puertas traseras y exploits, mediante la búsqueda de comportamientos sospechosos, archivos ocultos, permisos de archivo inadecuados, y cadenas inusuales en los módulos del kernel:

  • SHA256 cambios de hash.
  • Archivos comúnmente creados por rootkits.
  • Ejecutables con permisos de archivo anómalos.
  • Cadenas sospechosas en los módulos del kernel.
  • Archivos ocultos en directorios de sistema.

Pero hemos de interpretar los resultados con cautela e investigar un poco, ya que este software, suele dar bastante falsos positivos: que algo parezca sospechoso no lo convierte necesariamente en malicioso.

  • Modificaciones de archivos del sistema: Las actualizaciones o paquetes legítimos del sistema pueden modificar los archivos críticos, lo que puede activar las alertas. 
  • Firmas no reconocidas o sospechosas: Rkhunter comprueba si hay rootkits conocidos usando firmas. A veces, archivos similares, pero inofensivos pueden producir falsos positivos.

Instalación de Rootkit Hunter

Antes de instalar cualquier paquete nuevo en Linux, es una buena práctica actualizar el sistema a los últimos paquetes disponibles:

sudo apt update && sudo apt upgrade -y

Una vez hecho esto, puedes instalar Rootkit Hunter con el administrador de paquetes de tu sistema.

Si la consola te dice que no tienes permiso, acuérdate de teclear siempre "sudo" antes de cualquier comando. De esta forma, tendrás los privilegios necesarios para completar tareas sensibles.

En distribuciones basadas en Debian como por ejemplo Ubuntu o Linux Mint ejecuta:

 apt install rkhunter

Seguramente, aparecerá una ventana para configurar los paquetes. Haz clic en la tecla “TAB”. Luego, en “Aceptar” y presiona “Enter” para ir a la página siguiente.

ventana para configurar los paquetes Rootkit Hunter

Aparecerá otra ventana donde tendrás que elegir el tipo de configuración de correo: selecciona "Local Only", y luego presiona en «TAB», y después en "OK" o pulsa la tecla "Enter".

configuración correo rootkit hunter

Escribe la dirección de correo electrónico en la que quieres recibir las notificaciones.

El proceso de configuración se realizará cuando pulses en el botón “Enter”.

Proceso configuración RH

Para asegurarte de que se ha instalado correctamente en tu sistema, y conocer la versión:

rkhunter --versioncheck

Versión de  Rkhunter

Configuración de RKHunter

El archivo de configuración principal de RKHunter se encuentra en /etc/rkhunter.conf.

Aquí pueden llevarse a cabo una serie de ajustes.

  • Configurar las notificaciones especificando una dirección de correo electrónico (si te has saltado el paso anterior). 
  • Evitar advertencias para problemas conocidos, por ejemplo falsos positivos.
  • Personalizar las opciones de análisis.
  • Configurar las actualizaciones.

Nosotros vamos a hacer eso último.

Para abrir el archivo de configuración, escribe el siguiente comando:

vi /etc/rkhunter.conf

En función de  la distribución de Linux, puede que haya que  utilizar un editor de texto para abrir el archivo manualmente y poder realizar los cambios.

 abrir el archivo de configuración, Rootkit Hunter

  • Desplázate hacia abajo hasta la parte llamada UPDATE_MIRRORS y cambia el valor de 0 a 1.
  • Cambia el valor MIRRORS_MODE también a 0.
  • Sigue hacia abajo hasta que veas WEB_CMD y elimina /bin/false. Tiene que quedar así: WEB_CMD ""

Una vez que hayas terminado (ya sea manualmente o mediante la consola) guarda y aplica los cambios realizados.

Para comprobar si todo ha salido bien y que no hay configuraciones inesperadas, teclea en la consola el siguiente comando: 

rkhunter -C
  • Si el resultado del comando es 1, significa que hay algún problema con la configuración del sistema operativo. 
  • Si, por el contrario, no arroja ningún resultado, es que todo ha salido bien.

Para obtener más información sobre la configuración del programa puedes consultar la documentación oficial.

Por supuesto, una vez instalado, deberemos actualizar las firmas de malware (las últimas amenazas de rootkits conocidos).

Para ello, ejecuta el siguiente comando:

sudo rkhunter --update

Ejecutar un análisis del sistema con Rootkit Hunter

Para realizar un análisis completo del sistema, utiliza el siguiente comando:

sudo rkhunter --check
  • [Warning]: Indica posibles problemas que requieren una investigación adicional.
  •  [Possible Rootkit Found]: Sugiere que se ha detectado un rootkit; se recomienda una acción inmediata.
  • [Check Failed]: Indica que no se llevó a cabo una verificación específica.

Ejecutar un análisis del sistema con Rootkit Hunter

Podrás ver un registro detallado de las acciones realizadas por rkhunter en el archivo de registro de la herramienta en:

cat /var/log/rkhunter.log

Pero como hemos dicho al principio,  el programa es propenso a falsos positivos, por lo tanto, antes de alarmarnos, o de llevar a cabo cualquier acción, hay que investigar un poco.

Por otro lado, un resultado negativo no significa necesariamente que un sistema sea seguro. Solo nos está diciendo que el escáner no encontró ninguna amenaza conocida.

Cómo eliminar rootkits

Desafortunadamente, los rootkits más insidiosos, (por ejemplo los que operan a nivel de kernel) son como un grano en el culo.

Otros, incluso, se instalan directamente en el firmware de un dispositivo, y en algunos casos, pueden sobrevivir al formato del disco, para reactivarse incluso después de reinstalar el sistema operativo.

Sí, bien es posible eliminar rootkits en Linux, se trata de un proceso complejo y de una efectividad limitada.

El método más confiable es hacer una copia de seguridad de los datos que quieras conservar, borrar la unidad, y realizar una instalación limpia del sistema operativo.

Si deseas intentar eliminarlos sin tener que reinstalar Linux, debes hacerlo desde un entorno de arranque limpio, utilizando un sistema externo como por ejemplo una memoria USB  equipada con las herramientas necesarias.

Nunca en vivo, desde el propio sistema operativo infectado.

En cualquier caso, lo más aconsejable es prevenir:

El arranque seguro no permite que el sistema operativo se inicie si algún componente no se autentifica, lo que impide que los sistemas ejecuten malware oculto como rootkits.

Para que Linux se inicie con el arranque seguro habilitado, el cargador de arranque, el kernel y los módulos deben estar firmados digitalmente con una clave que el sistema reconozca.

Lamentablemente, no todas las distribuciones de Linux admiten esta característica, ya que el organismo de estándares de la UEFI liderado por Microsoft, no reconoce sus firmas.

  • Actualizar el firmware de la BIOS/UEFI.
  • Mantener el sistema actualizado.
  • Mejorar los mecanismos de autenticación: las credenciales comprometidas y débiles permiten a los atacantes instalar rootkits de forma remota.

Es cierto que la estructura  de Linux, basada en permisos, impide realizar acciones administrativas porque cada aplicación necesita la autorización del superusuario (root) antes de poder ejecutarse.

Esta barrera hace que sea difícil para cualquier tipo de malware colarse en un sistema y causar estragos.

Pero las credenciales débiles, y los servicios mal configurados, son más fáciles de explotar por parte de los atacantes.

Por otro lado, los exploits del kernel y los módulos inseguros, pueden otorgar a un ciberdelincuente el control del sistema.

Desinstalar Rootkit Hunter

Aunque Rootkit Hunter es una herramienta bastante útil, si ya no lo necesitamos, podemos eliminarlo utilizando el siguiente comando:

sudo apt remove rkhunter -y

No existe una bala de plata para detectar y eliminar los rootkits. Como hemos dicho anteriormente, lo mejor es la prevención.

Este tipo de amenaza está evolucionando constantemente, y las variantes más nuevas incluso intentan comprometer escáneres como Rootkit Hunter o chrootkit.