Cómo instalar CHKROOTKIT en Ubuntu 18.04 / Centos 7

En este tutorial, explicaré cómo instalar chkrootkit en nuestros últimos sistemas Ubuntu 18.04 y CentOS 7. El chkrootkit es un escáner de seguridad común que ayuda a los administradores a buscar en el sistema local señales de que está infectado con un ‘rootkit’. Un rootkit puede considerarse como un programa malicioso que puede tomar el control de un sistema informático sin que el usuario del sistema lo sepa. Esto significa que el rootkit es capaz de ejecutar archivos y cambiar las configuraciones del sistema en la máquina de destino y muchas más, lo que solo se puede hacer como superusuario de la máquina Linux.

Tenga en cuenta que puede usar chkrootkit para encontrar los archivos y procesos asociados con un rootkit, pero no puede estar 100% seguro de que se hayan encontrado y eliminado todas las piezas de rootkits. Puede proteger su sistema de los rootkits asegurándose de que todas las aplicaciones y el software estén actualizados y que el sistema se mantenga actualizado contra todas las vulnerabilidades conocidas.

Instalación de chkrootkit en Ubuntu 18.04

Es mucho más fácil instalar chkrootkit en un servidor Ubuntu 18.04, ya que está disponible en los paquetes del repositorio de Ubuntu. Podemos instalarlo ejecutando el siguiente comando:

# apt-get update
# apt install chkrootkit
# chkrootkit -V
chkrootkit version 0.52

Solo necesitamos asegurarnos de que tenemos los privilegios de root para usar chkrootkit allí.

Habilitar el escaneo automático del servidor

El paquete hkrootkit en el repositorio de Ubuntu viene con una configuración crontab. Este crontab está programado para ejecutarse a diario. Para habilitar la verificación diaria, puede abrir /etc/chkrootkit.conf y modificar este archivo como se muestra a continuación:

Reemplaza la primera línea:

RUN_DAILY = “falso”

con

RUN_DAILY = “verdadero”

Instalación de chkrootkit en CentOS 7.5

Esta herramienta no está disponible en los paquetes del repositorio de CentOS. Por lo tanto, necesitamos descargar la última versión disponible y configurarla.

1. Instalación de las bibliotecas y los compiladores de C / C ++

Chkrootkit tiene programas C. Debe instalar GCC (compilador de C y C ++) y el paquete glibc-static antes de compilar el paquete fuente chkrootkit para evitar errores durante el proceso.

#yum update
#yum install wget gcc-c++ glibc-static

2. Descargue el último chkrootkit disponible

Como se mencionó anteriormente, puede descargar la última descarga de chkrootkit desde el sitio web chkrootkit.

# wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

3. Descargue el archivo hash del paquete md5

A continuación, podemos descargar el archivo hash md5 asociado con nuestra descarga de chkrootkit para verificar si no está alterado o dañado.

# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5
# md5sum -c chkrootkit.md5
chkrootkit.tar.gz: OK

4. Extraiga el archivo comprimido e instálelo

Ahora puede ir a la carpeta descargada y extraerla. Puede extraerlo en la misma ruta y mover el binario chkrootkit a la carpeta / usr / bin o puede mover el contenido extraído a una carpeta separada con ese nombre como se describe aquí e instalarlo. De cualquier manera funcionará.

#tar –xzf chkrootkit.tar.gz
#mkdir /usr/local/chkrootkit
#mv chkrootkit-0.52/* /usr/local/chkrootkit
#cd /usr/local/chkrootkit
#make sense

Ahora, puede ejecutar chkrootkit para escanear el servidor.

/usr/local/chkrootkit/chkrootkit

5. Habilite el escaneo automático del servidor

Puede agregar una entrada cron para ejecutar chkrootkit automáticamente y enviar un informe de escaneo a su dirección de correo. Cree y agregue las siguientes entradas a “/etc/cron.daily/chkrootkit.sh”

#!/bin/sh
 (
 /usr/local/chkrootkit/chkrootkit
 ) | /bin/mail -s 'CHROOTKIT Daily Run (ServerName)' [email protected]

También puede instalar otros escáneres de seguridad como rkhunter en su sistema para una mayor seguridad.

Entendiendo chkrootkit

Chkrootkit es una herramienta para realizar comprobaciones de rootkit. Esto, lo más importante, contiene un script de shell llamado chkrootkit que escanea todos los archivos binarios del sistema en busca de modificaciones de rootkit. Además, contiene varios programas C que realizan varias comprobaciones de seguridad como se muestra a continuación:

ifpromisc.c: comprueba si la interfaz de red está en modo promiscuo.

chklastlog.c: comprueba las eliminaciones del último registro.

chkwtmp.c: comprueba si hay eliminaciones de wtmp.

chkproc.c: comprueba si hay signos de troyanos LKM.

chkdirs.c: busca signos de troyanos LKM.

strings.c: Esto realiza un reemplazo de cadenas rápido y sucio.

chkutmp.c: comprueba si hay eliminaciones de utmp.

Uso

La forma más sencilla de ejecutar esta herramienta es utilizando el comando “chkrootkit” como root. Esto realizará todas las tareas. Pero si desea elegir alguna opción en particular mientras ejecuta este comando, tiene varias opciones que se enumeran a continuación:

-h: Print a short help message and exit.

# chkrootkit -h
Usage: /usr/sbin/chkrootkit [options] [test ...]
Options:
-h show this help and exit
-V show version information and exit
-l show available tests and exit
-d debug
-q quiet mode
-x expert mode
-e exclude known false positive files/dirs, quoted,
space separated, READ WARNING IN README
-r dir use dir as the root directory
-p dir1:dir2:dirN path for the external commands used by chkrootkit
-n skip NFS mounted dirs

-V: Print version information and exit.

# chkrootkit -V
chkrootkit version 0.52

-l: Print available tests.

# chkrootkit -l
/usr/sbin/chkrootkit: tests: aliens asp bindshell lkm rexedcs sniffer w55808 wted scalper slapper z2 chkutmp OSX_RSPLUG amd basename biff chfn chsh cron crontab date du dirname echo egrep env find fingerd gpm grep hdparm su ifconfig inetd inetdconf identd init killall ldsopreload login ls lsof mail mingetty netstat named passwd pidof pop2 pop3 ps pstree rpcinfo rlogind rshd slogin sendmail sshd syslogd tar tcpd tcpdump top telnetd timed traceroute vdir w write

-d: Enter debug mode.
-x: Enter expert mode.
-e: Exclude known false positive files/dirs, quoted, space separated.

-q: Enter quiet mode. In this mode only output messages with `infected' status are shown.

# chkrootkit -q
Checking `tcpd'... INFECTED

/lib/modules/4.15.0-20-generic/vdso/.build-id /lib/modules/4.15.0-23-generic/vdso/.build-id
/lib/modules/4.15.0-20-generic/vdso/.build-id /lib/modules/4.15.0-23-generic/vdso/.build-id
not tested
INFECTED PORTS: ( 465)
eth0: PACKET SNIFFER(/lib/systemd/systemd-networkd[536])
not tested

-r dir: Use dir as the root directory.

# chkrootkit -r /mnt/ ; This will check all files under this specified directory.

-p dir1: dir2: dirN: Posiblemente puede agregar más rutas binarias separándolas con dos puntos usando esta opción.

# ./chkrootkit -p /cdrom/bin:/floppy/mybin

-n: skip NFS mounted dirs

Conclusión

Hoy en día, tenemos nuestros sistemas conectados a través de varias redes a través de Internet, de ahí la importancia de monitorear nuestros servidores de cualquier ataque sospechoso o intrusión es muy necesaria. Chkrootkit es una herramienta sencilla que realiza un control de seguridad periódico y protege nuestros servidores de cualquier tipo de intrusiones. Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios.