Comprueba la seguridad de tu servidor linux en busca de malware y rootkits

Buenas a todos hoy les traigo algunas herramientas que te pueden facilitar el escaneo y comprobación de tus servidores que emplean GNU/Linux para encontrar algunas vulnerabilidades o malwares que puedan existir.

Hoy en día existe un gran volumen de diferentes ataques de todo tipo a los servidores, gran parte de esos ataques son escaneos de puertos para ver los servicios que están disponibles en los mismos. Mientras que uses un firewall configurado correctamente y las actualizaciones regulares del sistema de seguridad, que te permitan mantener una capa de seguridad adicional. Mientras deberás analizar con frecuencia si alguien ingresó, también debes garantizar que tu servidor se mantenga libre de cualquier programa que tenga como objetivo interrumpir su funcionamiento normal, como malwares.

Las herramientas presentadas en este artículo están creadas para este fin, analizar la seguridad y permitir identificar virus, malware, rootkits así como comportamientos maliciosos. Puedes utilizar estas herramientas para realizar exploraciones periódicas del sistema, p. Ej. todas las noches y que envíe informes por correo.

1. Lynis – Auditoría de seguridad y escáner de rootkits

Lynis es una herramienta de análisis y auditoría de seguridad gratuita, de código abierto, potente y popular para sistemas operativos GNU/Linux. Es una herramienta de escaneo de malware y detección de vulnerabilidades que escanea los sistemas en busca de información y problemas de seguridad, integridad de archivos, errores de configuración; realiza auditorías de firewall, verifica el software instalado, permisos de archivos / directorios y mucho más.

Es importante destacar que no realiza automáticamente ningún refuerzo del sistema, sin embargo, simplemente ofrece sugerencias que le permiten fortalecer su servidor.

Instalaremos la última versión de Lynis (es decir, 3.0.1) de las fuentes, usando los siguientes comandos.

cd /opt/
wget https://downloads.cisofy.com/lynis/lynis-3.0.1.tar.gz
tar xvzf lynis-3.0.1.tar.gz
mv lynis /usr/local/
ln -s /usr/local/lynis/lynis /usr/local/bin/lynis

Ahora puede realizar un escaneo de su sistema con el siguiente comando.

lynis audit system

Para ejecutar Lynis automáticamente todas las noches, agregue la siguiente entrada al cron, que se ejecutará a las 3 am de la madrugada y enviará un informes a su dirección de correo electrónico.

0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "Lynis Reports of My Server" [email protected]

2. Chkrootkit: un escáner de rootkit para Linux

Chkrootkit es también otro detector de rootkit gratuito y de código abierto que busca localmente signos de un rootkit en sistemas similares a Unix. Ayuda a detectar agujeros de seguridad ocultos. El paquete chkrootkit consta de un script de shell que verifica los binarios del sistema en busca de modificaciones de rootkit y varios programas que verifican varios problemas de seguridad.

La herramienta chkrootkit se puede instalar usando el siguiente comando en sistemas basados en Debian.

sudo apt install chkrootkit

En los sistemas basados en CentOS, debe instalarlo desde las fuentes utilizando los siguientes comandos.

# yum update
yum install wget gcc-c++ glibc-static
wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar –xzf chkrootkit.tar.gz
mkdir /usr/local/chkrootkit
mv chkrootkit-0.52/* /usr/local/chkrootkit
d /usr/local/chkrootkit
make sense

Para verificar su servidor con Chkrootkit, ejecute el siguiente comando.

sudo chkrootkit 
#o 
/usr/local/chkrootkit/chkrootkit

Una vez ejecutado, comenzará a verificar su sistema en busca de Malwares y Rootkits conocidos y, una vez finalizado el proceso, podrá ver el resumen del informe.

Para ejecutar Chkrootkit automáticamente todas las noches, agregue la siguiente entrada cron, que se ejecutará a las 3 am de la noche y enviará informes a su dirección de correo electrónico.

0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit Reports of My Server" [email protected]

3. Rkhunter: escáneres de rootkit de Linux

RKH (RootKit Hunter) es una herramienta gratuita, de código abierto, potente, fácil de usar y bien conocida para escanear puertas traseras, rootkits y exploits locales en sistemas compatibles con POSIX como Linux. Como su nombre lo indica, es un buscador de rootkits, una herramienta de monitoreo y análisis de seguridad que inspecciona a fondo un sistema para detectar agujeros de seguridad ocultos.

La herramienta rkhunter se puede instalar usando el siguiente comando en sistemas basados en Ubuntu y CentOS.

#En Debian - Ubuntu
sudo apt install rkhunter

#En CentOS
yum install epel-release
yum install rkhunter

Para verificar su servidor con rkhunter, ejecute el siguiente comando.

rkhunter -c

Para que rkhunter se ejecute automáticamente todas las noches, agregue la siguiente entrada cron, que se ejecutará a las 3 am de la noche y enviará informes a su dirección de correo electrónico.

0 3 * * * /usr/sbin/rkhunter -c 2>&1 | mail -s "rkhunter Reports of My Server" [email protected]

4. ClamAV – Kit de herramientas de software antivirus

ClamAV es un motor antivirus de código abierto, versátil, popular y multiplataforma para detectar virus, malware, troyanos y otros programas maliciosos en una computadora. Es uno de los mejores programas antivirus gratuitos para Linux y el estándar de código abierto para el escaneo de archivos a travez de servidores de correo.

Admite actualizaciones de bases de datos de virus en todos los sistemas y análisis en tiempo real solo en Linux. Además, puede escanear archivos y archivos comprimidos y admite formatos como Zip, Tar, 7Zip, Rar, entre otros, y más funciones.

El ClamAV se puede instalar usando el siguiente comando en sistemas basados en Debian.

#En Debian - Ubuntu
sudo apt-get install clamav

#En CentOS
yum -y update
yum -y install clamav

Una vez instalado, puede actualizar las firmas y escanear un directorio con los siguientes comandos.

freshclam
clamscan -r -i DIRECTORY

Donde DIRECTORY es la ubicación para escanear. Las opciones -r significa escanear recursivamente y -i significa mostrar solo los archivos infectados.

5. AIDE

AIDE (Entorno avanzado de detección de intrusiones), es un sistema de detección de intrusiones (HIDS) basado en host que verifica la integridad de los archivos. Para ello, crea una base de datos del sistema inicial, y la compara con las ejecuciones actuales.

Entre las propiedades de archivos que se verifican, se incluyen: inodos, permisos, ultima modificación, contenido, etc…

AIDE realiza exclusivamente verificaciones de la integridad de los archivos. No busca rootkits ni analiza archivos de registro para detectar actividades sospechosas.

Puedes instalarlo en Ubuntu y derivados con el siguiente comando:

sudo apt install aide

Para completar el proceso de instalación, debes configurar Postfix a través de las opciones que te presentan. Puedes moverte por la opciones con la tecla «TAB«, y marcar el «Enter«.
AIDE hace uso de Postfix para enviar datos.

Creamos el archivo de los datos, hacemos uso de…
/var/lib/aide
/etc/aide

Creamos el archivo de datos y la propia configuración:

sudo aideinit

Movemos los archivos originales.

sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

Actualizamos la configuración.

sudo update-aide.conf

Lo copiamos a una carpeta valida.

sudo cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf

Reinicia el servidor.

La herramienta debería funcionar correctamente, si quieres modificar su configuración, lo puedes hacer desde…

nano aide -c /etc/aide/aide.conf -C

6. LMD – Linux Malware Detect

LMD (Linux Malware Detect) es un escáner de malware de código abierto, potente y con todas las funciones para Linux, diseñado y dirigido específicamente a entornos alojados compartidos, pero que se puede utilizar para detectar amenazas en cualquier sistema Linux. Se puede integrar con el motor del escáner ClamAV para un mejor rendimiento.

Proporciona un sistema de informes completo para ver los resultados de análisis actuales y anteriores, admite informes de alerta por correo electrónico después de cada ejecución de análisis y muchas otras funciones útiles.

Ejemplo practico de deteccion de rootkit

Ahora les explico como detectar de una manera rapida la existencia de un rootkit en su sistema linux.

La mejor variante para ver si hay un proceso de rootkit esta corriendo es revisar si hay alguna aplicacion consumiendo demasiada RAM o CPU o con un nombre aleatorio para ello usamos el comando top de no encontrar nada extraño, corren este comando para que le de una informacion mas amplida del proceso para pararlo, no matarlo pues sino se autoregeneraria:

ps -ej
root@snf-25181:~# ps -ej
PID  PGID SID TTY TIME    CMD
1545 1545 1545 ? 00:00:00 console-kit-dae
1618 1057 1057 ? 00:00:00 gdm-session-wor
1632 1632 1632 ? 00:01:40 rghuoywvrf
1767 1767 1767 ? 00:00:00 sshd
1769 1769 1769 ? 00:00:00 systemd
1770 1769 1769 ? 00:00:00 (sd-pam)
1775 1767 1767 ? 00:00:00 sshd
1776 1776 1776 pts/0 00:00:00 bash
1849 1849 1776 pts/0 00:00:00 su
1870 1870 1776 pts/0 00:00:00 bash
2246 0 0 ? 00:00:00 kworker/0:0
2797 839 839 ? 00:00:00 apache2
3158 3158 3158 ? 00:00:00 bvxktwwnsb
3165 3165 1776 pts/0 00:00:00 ps

Observe el bvxktwwnsb y el rguoywvrf

Verifique el archivo /etc/crontab. Probablemente tenga una entrada para llamar al virus cada 3 minutos

*/3 * * * * root /etc/cron.hourly/cron.sh

Elimina esta línea.

Esto puede variar pero casi siempre mantienen la misma conducta o acciones

Pasamos a darle STOP a dicho proceso, no matarlo en eso nos fijamos en el PID de cada uno y ejecutamos

root@snf-25181:~# kill -STOP 1632
root@snf-25181:~# kill -STOP 3158

Una vez parados procedemos a localizar todos los archivos de dichos proceso

#Actualizamos la base de datos de locate
root@snf-25181:~# updatedb

#Procedimos a localizar todos los archivos 
root@snf-25181:~# locate bvxktwwnsb
/etc/init.d/bvxktwwnsb
/etc/rc1.d/S90bvxktwwnsb
/etc/rc2.d/S90bvxktwwnsb
/etc/rc3.d/S90bvxktwwnsb
/etc/rc4.d/S90bvxktwwnsb
/etc/rc5.d/S90bvxktwwnsb
/usr/bin/bvxktwwnsb

Ya una vez identificados donde estan los archivos del proceso procedemos a eliminarlos y parar dicho proceso.

Ya una vez eliminado el proceso activo procedemos a verificar el archivo del crontab a ver que operacion ejecutaba el mismo.

root@snf-25181:~# cat /etc/cron.hourly/cron.sh

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in cat /proc/net/dev|grep :|awk -F: {'print $1'}; do ifconfig $i up& done
cp /lib/libudev.so /lib/libudev.so.6
/lib/libudev.so.6

Como notaras la fuente donde esta el daemon del rootkit es el archivo /lib/libudev.so ya idenficado procedemos tambien a eliminarlo:

root@snf-25181:~# rm /lib/libudev.so

y a su vez al archivo del cron /etc/cron.hourly/cron.sh

Ya una vez desinfectado reinicias y revisas que cuando inicie el sistema no se vuelva a activar el rootkit de ser asi es que todavia queda alguna otra ubicacion, de igual manera ejecutan la herramienta antes mencionada aca rkhunter para revisar su sistema.

¡Eso es todo por ahora! En este artículo, compartimos una lista de 6 herramientas para escanear un servidor Linux en busca de malware y rootkits. Háganos saber sus experiencias en la sección de comentarios.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 11

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Armando Felipe Fuentes Denis 82 artículos
Director de Infraestructura en Guajiritos S.R.L.

Sé el primero en comentar

Dejar una contestacion

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


*