Detecta Rootkits y Procesos Ocultos en Linux con Chkrootkit y Rkhunter

En posts anteriores ya hablamos sobre si es o no necesario utilizar un antivirus en Linux, y en caso de que optes por utilizar uno, en el siguiente enlace tienes una guía completa para utilizar ClamAV, uno de los antivirus más populares en GNU/Linux.

Así que, sin dejar de hablar de amenazas, pero dejando a los virus a un lado, la guía de hoy está más enfocada en detectar la presencia de rootkits.  Para ello, haremos uso de Chkrootkit y Rkhunter, dos de las herramientas probablemente más conocidas en el mundo Linux cuando nos movemos por esos terrenos.

Tabla de contenidos:

  1. Qué son los rootkits y como detectarlos en Linux
  2. Como instalar y utilizar Chkrootkit
  3. Como instalar y ejecutar Rkhunter
  4. Ultimas consideraciones

Qué son los Rootkits y como Detectarlos en Linux

Un rooktit es en esencia un programa o conjunto de programas que generalmente se utilizan para camuflar otros procesos maliciosos, archivos, puertas traseras o cambios de registro sospechosos en el sistema. Digamos que entran dentro de la categoría de malware.

Hay varias aplicaciones y utilidades disponibles para la detección de rootkits. En Windows, por ejemplo, muchos Antivirus o suites de seguridad han ido incorporando paulatinamente protecciones adicionales para este fin.

Por otro lado, en entornos Unix y Linux tenemos a Chkrootkit y Rkhunter como las utilidades más populares.

Ambas herramientas funcionan en esencia de un modo muy similar, ya que ambos se centran en analizar tu sistema en busca de rootkits y cambios sospechosos en configuraciones críticas del sistema.

En este aspecto, ninguno de los dos se ejecuta en segundo plano, sino que se limitan a hacer análisis a demanda del usuario, por lo que no hay ningún problema por instalar ambos en el mismo sistema. Es más, la combinación de los dos te será de gran utilidad para tener una segunda opinión y descartar posibles falsos positivos.

Como Instalar y Utilizar Chkrootkit

Chkrootkit es un script para sistemas UNIX y Linux que realiza un análisis rápido en busca de signos y cambios en ciertas configuraciones del sistema que indiquen la presencia de rootkits.

Si bien se ejecuta desde la terminal, su sintaxis es extremadamente simple, por lo que no requiere apenas conocimientos previos en ese sentido.

Si aun no estás muy habituado a trabajar con la línea de comandos y deseas aprender desde el principio, puedes consultar esta guía de varios artículos sobre como dar tus primeros pasos con la terminal de Linux

Instalación

El hecho de que se encuentre en los repositorios oficiales de la mayoría de distribuciones GNU/Linux facilita enormemente la instalación. Así, para instalarlo en Ubuntu, Debian o derivados puedes hacerlo rápidamente por consola mediante un simple apt-get install.

sudo apt install chkrootkit

En otras distros el proceso de instalación es muy similar, tan solo deberás sustituir el apt-get por la sentencia que utilice la distro (por ejemplo, Fedora y las distros derivadas de RedHat utilizan yum).

En estos posts que te enlazo a continuación tienes la guía completa sobre como instalar aplicaciones desde la terminal en Ubuntu y derivados o bien, si lo prefieres, de forma gráfica mediante el gestor de paquetes Synaptic.

Buscando Amenazas

Para ejecutar Chkrootkit se requieren permisos de superusuario, por lo que en Ubuntu deberemos ejecutarlo siempre con el ‘sudo’ delante, y en Debian, Fedora y otras distros deberás loguearte previamente como usuario root mediante el comando ‘su’.

Realmente no dispone de muchas opciones de escaneo, y al final lo más útil es hacer un escaneo estándar con el comando que tienes a continuación. El examen no suele durar más de unos segundos, y te irá mostrando por pantalla los diferentes archivos analizados.

sudo chkrootkit

Otra opción interesante es hacer un escaneo igual, pero mostrando por pantalla solamente las detecciones y los avisos o las alertas, de modo que sean mucho más fáciles de encontrar. Para ello, debes utilizar el parámetro -q.

sudo chkrootkit -q

Estas son realmente las dos únicas opciones que me han parecido relevantes por tal de sacarle el máximo provecho.

Como Instalar y Ejecutar Rkhunter

Rkhunter es un script para UNIX y Linux que escanea tu sistema a nivel local para detectar cualquier signo de rootkit o backdoors. Principalmente funciona mediante base de firmas, pero no solo se limita a eso, sino que también examina que los permisos del sistema sean correctos, que no haya puertos abiertos, etc.

Instalación

Al igual que Chrootkit, Rkhunter se encuentra en los repositorios de la mayoría de distros Linux, por lo que puedes instalarlo desde la terminal con un apt-get install.

sudo apt-get install rkhunter

En este caso, durante el proceso de instalación te aparecerá un prompt pidiéndote información sobre la configuración del servidor de correo del sistema para el envío de logs, etc. Si no tienes pensado utilizarlo puedes seleccionar la primera opción y seguir adelante.

Configuracion del servidor de correo

Rkhunter se ejecuta también desde la terminal y es un poco más completo que Chkrootkit, aunque en la practica con recordar un par de comandos simples es más que suficiente para lo que nos interesa.

Actualizando la Base de Firmas

Para empezar, una de las cosas que deberías hacer antes de nada es comprobar si hay actualizaciones.

sudo rkhunter --update

Este comando correrá un script que comprobará en primer lugar si la versión de Rkhunter instalada es la más reciente, y en segundo lugar descargará e instalará las actualizaciones de la base de datos de firmas.

Si has instalado el paquete desde los repositorios oficiales de Ubuntu o Debian, es muy posible que te alerte de que existe una versión más reciente de Rkhunter. Esto es normal, ya que los repositorios de las versiones estables no suelen disponer de las ultimas versiones.

Si quieres disponer de la ultima versión, siempre te queda la opción de descargar Rkhunter desde la web oficial del proyecto, aunque personalmente en la mayoría de software siempre prefiero mantener la versiones de los repositorio.

Detectando Amenazas

Una vez hecho esto, ya puedes empezar a analizar tu sistema en busca de rootkits. Si quieres, puedes consultar un listado con los diferentes tests que Rkhunter ejecuta en un escaneo completo.

sudo rkhunter --list tests

Visto esto, la mejor opción es hacer un escaneo completo del sistema, que como habrás visto no se limita solamente a buscar la presencia de rootkits conocidos por base de datos, sino que hace varios tests.

Entre otras cosas,examina archivos importantes del sistema en busca de cambios de configuración, hace un check rápido de los logs del sistema, e incluso hace un análisis a nivel de red para detectar puertos abiertos, etc.

sudo rkhunter --check

Si en algún momento te interesa deshabilitar un test determinado para que no se lleve a cabo durante el escaneo, puedes hacerlo con este comando:

sudo rkhunter --disable <test> --check

Y ya para ir acabando, si tienes curiosidad puedes acceder al manual de Rkhunter con todo el conjunto de opciones mediante el comando man:

man rkhunter

Ultimas Consideraciones

Y hasta aquí el post de hoy sobre estas dos potentes herramientas para escanear el sistema en busca de rootkits u otras señales sospechosas.

Ambas cumplen una función puramente de escaneo, pero pueden venir bien para ayudarte a construir un potente engranaje de seguridad en GNU/Linux, que obviamente debes completar con otras medidas básicas, como la de configurar correctamente tu cortafuegos. En este sentido, existe una herramienta de auditoria denominada Lynis, que te puede ser bastante útil para conocer lo bien (o lo mal) configurado que esté tu sistema, desde el punto de vista de la seguridad.

Como ultimo inciso, decirte que lo bueno de combinar ambas utilidades es que puedes contrastar mejor los resultados que te den. Y es que, una de las desventajas que tienen ambas, es que suelen tener algunos falsos positivos (eventualmente, pueden dar advertencias sobre amenazas que realmente no son tal).

Normalmente, los dos no darán el mismo falso positivo, por lo que si Chkrootkit te advierte de una posible amenaza en un archivo concreto, puedes ejecutar Rkhunter y ver si efectivamente te detecta la misma amenaza.

En caso de duda, yo siempre suelo buscar info en Google o en foros sobre los resultados obtenidos, ya que es una manera rápida de comprobar si una amenaza concreta detectada en tu sistema es un conocido falso positivo o no.

Y para acabar, solo me queda decirte que, si te ha parecido útil este post, no dejes de compartirlo en tus redes sociales. Por otro lado, si tienes algún comentario, duda, o algo que añadir o corregir no dudes en comentar aquí debajo. Hasta la próxima;)

Categorías Linux, SeguridadEtiquetas

19 comentarios en “Detecta Rootkits y Procesos Ocultos en Linux con Chkrootkit y Rkhunter

  1. Dear all
    He formateado el disoc duro e instalado Linuxmint 20.3. A continuación he instalado chkrootkit y lo he ejecutado. Me ha devuelto lo siguiente:

    «»INFECTED: Possible Malicious Linux.Xor.DDoS installed
    /tmp/lu43046tezfq.tmp/lu43046tezjz.tmp
    Warning: `//root/.python_history’ file size is zero
    wlp2s0: PACKET SNIFFER(/usr/sbin/NetworkManager[619], /usr/sbin/wpa_supplicant[671], /usr/sbin/wpa_supplicant[671])
    user enri deleted or never logged from lastlog!»»

    ¿Debo creermelo?.

    Me gusta

  2. Hola, gracias por el aporte, pero el rkhunter, aunque parece que se me descarga, el aviso final es que no se ha encontrado en mi equipo, por lo que ni puedo abrirlo y menos hacer actualizaciones, ¿ que debo hacer ?

    Gracias

    Me gusta

  3. Si mi ignorancia me lleva a preguntar lo siguiente: Una vez detectado algun rootkit, cual es el comando a usar para eliminar o remover el archivo en Chkrootkit ??

    Saludos y gracias

    Me gusta

  4. La ultima version 0.5 ,tiene solucionado el problema de falsos positivos.
    Bajarla de :http://ftp.gnome.org/ubuntu/ubuntu/pool/universe/c/chkrootkit/
    Saludos

    Me gusta

    1. Gracias por la recomendación Luis, viene muy bien saberlo:)
      Lo probaré y te comento;)

      Saludos!

      Me gusta

  5. Muy buena la información. No conocía ninguna de estas dos herramientas, pero me parecieron muy practicas. Prefiero Rkhunter por ser más completa.

    Aunque me quedaron algunas dudas… Con «sudo rkhunter –update» me marca muchas «no update» (No actualizado), entonces ¿Como las actualizo? Pues despues volvi a ejecutar el mismo comando (Para ver si seguían así) y entonces todas me marcaban «no update» :S

    Además, ¿Alguno de estos programas posee una white list/lista blanca o algo parecido para las excepciones? Pues me detecta varios falsos positivos.

    Por cierto, muy buen blog, me fue muy útil el contenido que aportas :)
    Saludos.

    Me gusta

  6. Excelente aporte, llevo unos cuantos meses de usar Linux, actualmente me quedé con Ubuntu !5.04 y te agradezco sobremanera los grandes aportes a quienes nos iniciamos.
    Un saludo estimado Oriol.

    Me gusta

    1. Wow, muchísimas gracias por el comment!
      Me ha animado mucho saber que te es de utilidad el contenido del blog.
      Un abrazo y hasta pronto!

      Me gusta

  7. Una duda , perdona pr no escibirlo antes, chkrootkit -q me detetcto esto:

    Warning: /sbin/init INFECTED

    wlan0: PACKET SNIFFER(/sbin/wpa_supplicant etc..etc..

    y otras cosas mas, que si me lo permites, yo escribirlo aqui, saludos

    Me gusta

    1. Hola de nuevo Leonel.
      Si puedes escribir sin problema;)
      Sobre /sbin/init, tengo entendido que es un falso positivo de Chkrootkit.
      Sobre wlan0, a mi me ocurre lo mismo con la interfaz eth0 cuando me asigna la IP el servidor DHCP. En el momento en que me configuro la IP manualmente desde el PC, el mensaje desaparece. Si quieres puedes hacer la prueba.

      Me gusta

  8. Rkhunter me detecto algunos warning:

    /usr/bin/unhide.rb
    Checking for passwd file changes
    Checking for group file changes
    /dev for suspicious file types
    for hidden files and directories

    System checks summary
    =====================

    File properties checks…
    Files checked: 136
    Suspect files: 1

    Rootkit checks…
    Rootkits checked : 292
    Possible rootkits: 0

    Applications checks…
    All checks skipped

    The system checks took: 5 minutes and 38 seconds

    All results have been written to the log file: /var/log/rkhunter.log

    One or more warnings have been found while checking the system.
    Please check the log file (/var/log/rkhunter.log)

    Me gusta

    1. Hola Leonel, perdona por tardar tanto en responder.
      No creo que debas preocuparte por unhide.rb.
      Es un script que generalmente se instala conjuntamente con rkhunter, es una herramienta de seguridad, pero puede ser que te lo marque como warning por el hecho de ser un script. No estoy seguro si se instala siempre, pero por lo menos en el caso de Debian y Ubuntu tengo entendido que es así.
      Te dejo este enlace por si quieres informarte mas: http://askubuntu.com/questions/250006/rootkits-should-i-be-concerned.

      Me gusta

  9. Muy interesante la entrada. Chkrootkit lo utilizo desde hace tiempo y el problema son los falsos positivos que a veces da. Recien he probado Rkhunter y me gusta, se ve completo, aunque tambien me ha dado alguna q otra alerta q no se si realmente es una infeccion o no…

    Me gusta

  10. muy interesantes y muy buenos ambos programas, buena explicacion solo me quedo una duda en caso de encontrar algun tipo de archivo malicionso como lo elimino se hace en automatico.
    De ante mano muchas gracias.

    Me gusta

    1. Hola,
      Para eliminar los archivos detectados, la única opción creo que es hacerlo manualmente.
      En ClamAV puedes utilizar el parámetro de escaneo –remove, pero debe usarse con precaución, y de cara a tener más control de lo que borras, lo que haría es hacer un escaneo con el parámetro –infected para que solo se muestren por pantalla los archivos infectados, y luego de examinarlos bien, si estás seguro de poder borrarlo, hacerlo manualmente.

      Me gusta

    1. De nada, faltaria mas;)
      Gracias por pasarte!

      Me gusta

  11. Conocía Chkrootkit, pero no Rkhunter. Muy bueno!

    Me gusta

Deja un comentario

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