lunes, 1 de enero de 2024

Proteje tu Linux fácilmente con Rkhunter y Chkrootkit.

Uno de los reclamos para pasarte a un sistema GNU/Linux es la ausencia de virus, tan abundantes en Windows. Pero esto no es del todo cierto. Para Linux también hay virus aunque digamos que su comportamiento es diferente; en Linux abundan los malwares que explotan vulnerabilidades para infiltrarse en servidores (actualmente la mayoría son Linux/Red Hat) crear usuarios ocultos, acceder a datos de forma ilegítima, interceptar conexiones, etc. 


No por eso los sistemas de escritorio están blindados ante estas amenazas, así que aparte de las medidas de precaución elementales que cualquier usuario debería tomar, está bien tener algunas herramientas para defendernos.

 


 

Que es un rootkit?? 


Un rootkit es un tipo de malware que se diseña para ocultarse en un sistema informático mientras proporciona acceso y control remotos a los ciberdelincuentes sin el conocimiento o consentimiento del usuario. Los rootkits pueden contener una serie de herramientas que permiten robar contraseñas, información de tarjetas de crédito, información bancaria y datos personales. Son difíciles de detectar y pueden permanecer en un sistema durante mucho tiempo, causando daños significativos.

Yo hoy os voy a comentar dos utilidades anti-rootkit, muy fáciles de usar y disponibles para todos las distros, Chkrootkit y Rkhunter.



Instalación


En Ubuntu/Debian podemos instalarlos a la vez desde el gestor de paquetes synaptic, simplemente introducimos “rootkit” en el buscador:



 

También podemos instalar unhide y unhide.rb (los tenemos justo debajo) y que rkhunter los usa en los test, pero que durante la instalación no se autoinstalan. Son opcionales, si no están disponibles rkhunter simplemente hará skip test.


O bueno, también podemos instalarlos desde la terminal desde vuestra distro favorita:


Con APT:

sudo apt install chkrootkit rkhunter 


En Fedora:

dnf install chkrootkit  rkhunter.


En Arch Linux:

sudo pacman -S rkhunter  chkrootkit


No he probado en que distros están disponibles unhide y unhide.rb pero os recomiendo que los instaléis (si lo tenéis disponible).


Chkrootkit.


Chkrootkit examina el sistema de destino en busca de signos de que haya sido manipulado usando un kit de herramientas. Se puede usar también para analizar discos externos o montajes tipo NFS. Su uso es muy sencillo:

Simplemente introducimos en la terminal chkrootkit combinado con algunas opciones:

  • -q Modo silencioso. Esto suprime la salida de los test que no encuentren nada sospechoso.
  • -x Modo experto. Los test muestran algunos detalles adicionales en los resultados que han encontrado.
  • -d Modo de depuración. Esto muestra exactamente lo que hace chkrootkit en cada paso.


Otras opciones disponibles:

  • -r DIR  Utilice DIR como directorio raíz. Por ejemplo, se puede montar un disco en un sistema no comprometido y ejecutar chkrootkit -r/mnt
  • -n Ignora los directorios NFS
  • -l muestra los test disponibles.


Un posible uso:


~# sudo chkrootkit -x


Tras unos breves test vemos los resultados, al final de los mismos tenemos una lista de las últimas conexiones 



Como véis no tiene mucha historia y las salida es bastante espartana y directa.


Rkhunter


Rkhunter es un script de shell que lleva a cabo varias comprobaciones en el sistema local para intentar detectar rootkits y malware conocidos. También realiza controles para ver si los comandos se han modificado, si los archivos de inicio del sistema se han modificado y varias comprobaciones en las interfaces de red, incluidas comprobaciones de aplicaciones de escucha.

El funcionamiento de Rkhunter es muy sencillo, pero las salidas que produce son extensas y nos requeriran algo de trabajo para filtrarlas. Voy con un ejemplo.

 

~# sudo rkhunter -c



Tras un corto tiempo y algunos avisos llegamos al final:



Ya os aviso que rkhunter da frecuentes falsos positivos, pero de todas formas hay que comprobarlo todo. Para eso podemos ver el archivo .log donde se guarda el resultado del análisis con el comando cat en la terminal; podriamos usar grep para filtrarlo, algo asi:


~# sudo nano /var/log/rkhunter.log | grep Warning

 


 

Con los timestamp de las alertas podemos luego buscarlo en el log y ver todos los detalles.

Ahora nos toca comprobar todos los "warnings" y en caso de falso positivo o de que sea algun cambio hecho por algun propósito, entonces tenemos la posibilidad de añadir a la "lista blanca" estos archivos o directorios. 

Para añadirlos hacemos lo siguiente:

Abrimos el archivo de configuración de rkhunter. La ubicación del archivo de configuración puede variar dependiendo de su sistema, pero comúnmente se encuentra en /etc/rkhunter.conf o /etc/rkhunter/rkhunter.conf.

Vamos al final del archivo y alli añadimos (si no está) la directiva SCRIPTWHITELIST de la siguiente manera:


SCRIPTWHITELIST="/ruta/hacia/el_archivo"
SCRIPTWHITELIST="/ruta/hacia/el directorio"


También podemos reinstalar el paquete o las dependencias que afectan a los archivos/carpetas sospechosas; para estar mas seguros.

Estos dos programas no solo nos pueden servir para buscar malware si no también nos puede servir para obtener datos sober posibles malas configuraciones en nuestro equipo, combinadas con Tiger y Lynis (de las que hable en este post) son herramientas imprescindibles para revisar la seguridad y el rendimiento de nuestros equipos con GNU/Linux


Y bueno con esto termino y hasta el próximo post

No hay comentarios:

Publicar un comentario