Latinoamérica
de.novatoanovato@gmail.com

comando -chkrootkit-

Dedicado al nuevo usuario de software libre

comando -chkrootkit-

Comando chkrootkit

El comando chkrootkit es una herramienta para interfaces de lineas de comandos disponible para sistemas operativos del tipo UNIX, tal y como GNU/Linux. Es una herramienta de seguridad que realiza un análisis rápido en busca de signos y cambios en ciertas configuraciones del sistema que indiquen la presencia de rootkits. Esta herramienta de seguridad se encuentra disponible  para su descarga en la mayoría de las distribuciones GNU/Linux.

Objetivo de este artículo

El objetivo de este artículo es que aprenda,  a instalar la herramienta chkrootkit en su distribución GNU/Linux, a utilizar el comando chkrootkit y su sintaxis para realizar búsquedas de rootkits en su sistema. No si antes comprendamos que son y como pueden perjudicar nuestro sistema.

¿Qué es un rootkit?

Un rootkit se usa habitualmente para esconder algunas aplicaciones que podrían actuar en el sistema atacado. Suelen incluir backdoors (puertas traseras) para ayudar al intruso a acceder fácilmente al sistema una vez que se ha conseguido entrar por primera vez. Por ejemplo, el rootkit puede esconder una aplicación que lance una consola cada vez que el atacante se conecte al sistema a través de un determinado puerto. Los rootkits del kernel o núcleo pueden contener funcionalidades similares. Un backdoor puede permitir también que los procesos lanzados por un usuario sin privilegios de administrador ejecuten algunas funcionalidades reservadas únicamente al superusuario. Todo tipo de herramientas útiles para obtener información de forma ilícita pueden ser ocultadas mediante rootkits.

Los rootkits se utilizan también para usar el sistema atacado como «base de operaciones», es decir, usarlo a su vez para lanzar ataques contra otros equipos. De este modo puede parecer que es el sistema infiltrado el que lanza los ataques y no el intruso externo. Este tipo de ataques podrían ser de denegación de servicio (DoS), ataques mediante IRC o mediante correo electrónico (spam).

Tipos de rootkit

Los rootkits se pueden clasificar en dos grupos: los que van integrados en el núcleo y los que funcionan a nivel de aplicación.

Rootkit a nivel kernel

Los que actúan desde el kernel añaden o modifican una parte del código de dicho núcleo para ocultar el backdoor. Normalmente este procedimiento se complementa añadiendo nuevo código al kernel, ya sea mediante un controlador (driver) o un módulo, como los módulos del kernel de Linux o los dispositivos del sistema de Windows. Estos rootkits suelen parchear las llamadas al sistema con versiones que esconden información sobre el intruso. Son los más peligrosos, ya que su detección puede ser muy complicada.

Rootkit a nivel aplicación

Los rootkits que actúan como aplicaciones pueden reemplazar los archivos ejecutables originales con versiones crackeadas que contengan algún troyano, o también pueden modificar el comportamiento de las aplicaciones existentes usando hacks, parches, código inyectado, etc.

Instalación del comando chkrootkit

A continuación veremos con instalar chkrootkit en las principales distribuciones GNU/Linux.

Instalar chkrootkit en Debian 10 Buster

En debian el comando chkrootkit se encuentra disponible en los repositorios oficiales, por lo que para instalar esta herramienta ejecutamos:

sudo apt install chkrootkit

Instalar chkrootkit en Ubuntu 20.04

En ubunto, disponemos del comando chkrootkit en los repositorios oficiales de la distribución, para instalarlo ejecutamos:

sudo apt install chkrootkit

Instalar chkrootkit en Archlinux

En el caso de Archlinux, esta herramienta se encuentra disponible en los repositorios AUR, por lo que deberás utilizar tu helper de confianza, en mi caso estoy ocupando yay. Para instalar el comando chkrootkit, ejecutamos:

Instalar chkrootkit en Fedora

Si estas utilizando Fedora o alguna de sus derivadas, contaras con esta herramienta en sus repositorios oficiales, para instalar el comando chkrootkit en esta distribución, tendrás que ejecutar:

sudo dnf install chkrootkit

Sintaxis del comando chkrootkit

El comando chkrootkit se corresponde con la siguiente sintaxis:

chkrootkit [opciones]

Comando chkrootkit

El comando chkrootkit es una herramienta para buscar localmente signos de un rootkit. Si bien su ejecución es directa, cuenta con los siguientes scripts que llevaran adelante las diferentes instancias de análisis cuando ejecutemos el comando:

  • chkrootkit: El programa principal que chequea los binarios del sistema operativo en busca de modificaciones hechas por rootkits para saber si los códigos fueron adulterados.
  • Ifpromisc.c: Chequea si las interfaces están modo promiscuo, si una interfaz de red está en modo promiscuo puede ser usada por un atacante o por un software malicioso para captura tráfico de la red y analizarlo después.
  • chklastlog.c: Revisa lo que fue eliminado de lastlog. Lastlog es un comando que muestra información sobre los logins en el sistema. Un atacante o rootkit podría modificarlos para evitar detección si el administrador usa el comando para acceder a información sobre los ingresos.
  • Chkwtmp.c: Similar al script anterior, este script chequea el archivo wtmp que contiene información sobre los logins en el sistema, chkwtmp.c intenta detectar modificaciones en este archivo.
  • check_wtmpx.c: Igual que el anterior pero para sistemas Unix Solaris.
  • chkproc.c: Busca indicios de troyanos en LKM (Loadable Kernel Modules).
  • chkdirs.c: Similar al anterior chequea por troyanos dentro de los módulos del kernel.
  • strings.c: Busca por reemplazo de strings que puedan ocultar rootkits.
  • Chkutmp.c: Trabaja sobre el archivo utmp.

Fuente: chkrootkit.org

Comando chkrootkit

El comando chkrootkit ejecutado de forma directa, llevara adelante una búsqueda intensiva por etapas, donde cada etapa se lleva a cabo por medio de los scripts mencionados anteriormente. Es importante señalar que para su ejecución se necesitar conceder permisos de administrador. Veamos:

sudo chkrootkit

Veremos por la salida estándar las instancias de búsqueda por etapas según los scripts. En primer lugar sobre los binarios…

Y culminando con el script Chkutmp.c.

Una vez concluido, nos devolverá el control de la terminal y podremos visualizar el resultado de cada búsqueda instancia a instancia. De no encontrar infección, como vemos en las capturas, no indicara not infected al concluir cada instancia.

Opciones del comando chkrootkit

El comando chkrootkit cuenta con algunas opciones que vamos a conocer a continuación.

Modo de escaneo experto

El test de rootkit en modo experto realiza las mismas acciones que el test por defecto del comando chkrootkit, solo que cambia la forma en la que nos muestra los resultados por la salida estándar. Si te interesa probar este modo, basta con ejecutar:

sudo chkrootkit -x

Modo de escaneo silencioso

Al igual que en el modo experto, el modo silencioso realiza las mismas acciones que si ejecutáramos el comando de forma directa, solo que por la salida estándar no nos imprimirá las instancias del test. Si deseas utilizar el comando chkrootkit de esta forma, ejecuta:

sudo chkrootkit -q

Lista de objetivos del test chkrootkit

Para ver lista de pruebas que va a llevar a delante el comando chkrootkit contamos con la opción -l, veamos.

Depurar

Si quisiéramos depurar el comando chkrootkit contamos con el parámetro -d. Se ejecuta de la siguiente manera:

chkrootkit -d

NOTA: Las herramientas de detección de rootkits no disponer de argumentos que nos permitan eliminarlos. Para ello es necesario una vez identificado el rootkit, buscar como suprimirlos en foros de esta temática ya que no son tan simples de tratar.

Actualmente se detectan los siguientes rootkits, gusanos y LKM:

Otra forma de buscar rootkit en nuestro sistema, podría ser utilizando el comando rkhunter.

Puedes seguirnos en:

Ayudanos a mantener el sitio con una contribución.
Muchas gracias!

Espero sea de utilidad.
Saludos, Cristian Bellini.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

diez + siete =