Cómo escanear tu Linux contra virus y rootkits

Cómo escanear tu Linux contra virus y rootkits


Seguramente cualquier PC con sistema operativo Linux sea menos susceptible de infectarse que uno con Windows, pero eso no quita que no pueda ser igualmente comprometido. Lo peor es muchos usuarios no han instalado ni ejecutado nunca un antivirus en Linux (y ni mucho menos un anti-rootkit) cuando en otros equipos en Windows saben que no pueden (ni deben) trabajar sin un antivirus de puesto de usuario o endpoint.

No debemos caer en esa falsa sensaci�n de seguridad. El malware por simple econom�a de escalabilidad est� m�s presente en n�mero y forma en sistemas Windows pero los usuarios de Linux debemos protegernos igualmente contra las mismas amenazas.

Precisamente, navegando por Internet encontr� un peque�o art�culo de Nick Congleton que recomienda usar ClamAV (quiz�s el antivirus de c�digo abierto m�s usado en Linux) adem�s de un par de herramientas para detecci�n de rootkits. �Qu� usas Linux y todav�a no los tienes instalados? No dejes pasar esta oportunidad...

1. ClamAV

ClamAV y su frontend gr�fico ClamTk son paquetes independientes. Si usas Ubuntu o una distribuci�n basada en Debian puedes instalarlos simplemente con:

sudo apt install clamav clamtk

Una vez instalados tendremos que actualizar la base de datos del antivirus:

sudo freshclam


El mensaje anterior es debido a que freshclam est� corriendo ya como demonio, as� que si queremos forzar la actualizaci�n de forma manual necesitaremos pararlo previamente:

sudo systemctl stop clamav-freshclam

Ahora ya si podremos actualizar la bd sin problemas:


A continuaci�n procederemos a escanear el filesystem completo (o si prefer�s un directorio en particular), para ello usaremos clamtk, la versi�n gr�fica.

Eso s�, previamente tendremos que irnos a la configuraci�n y marcar las opciones para que el motor escanee ficheros que empiecen con punto (.*), mayores de 20 MB y directorios recursivamente:


Finalmente seleccionaremos el directorio a escanear para empezar el proceso de an�lisis:


Una vez completada la exploraci�n, ClamTK mostrar� cualquier amenaza descubierta y nos permitir� elegir qu� hacer con ellas.


Eliminarlas es obviamente mejor, pero podr�a desestabilizar el sistema, as� que se requiere investigar un poco por si acaso.

2. Chkrootkit

El siguiente paso es instalar es Chkrootkit. Chkrootkit escanea los archivos del sistema para detectar signos de alteraciones maliciosas y los revisa contra una base de datos de rootkits conocidos.

Chkrootkit est� disponible en la mayor�a de los repositorios de muchas distribuciones y normalmente se debe poder instalar sin problemas con el gestor de paquetes correspondientes.

sudo apt install chkrootkit

Despu�s simplemente ejecutamos el comando como root o con sudo.

sudo chkrootkit

R�pidamente empezar� a buscar la posible presencia de una buena lista de rootkits conocidos. Puede detenerse durante un tiempo en algunos mientras explora archivos. Deber�a mostrar "nada encontrado" o "no infectado" al lado de cada uno.


El programa no da un informe final cuando termina, as� que hay que volver y comprobar manualmente que no hay resultados.

Tambi�n se puede parsear la salida del programa con grep y buscar INFECTED, pero eso no lo coger� todo.

Falso Positivos Conocidos

Hay un error extra�o con Chkrootkit que reporta un falso positivo para Linux/Ebury - Operation Windigo. Este es un error conocido desde hace tiempo por la introducci�n de un indicador -G en SSH. Hay un par de pruebas manuales que podemos ejecutar para verificar que es un falso positivo.

Primero, ejecutamos lo siguiente como root.

find /lib * -type f -name libns2.so

No deber�a aparecer nada. A continuaci�n, comprobamos que el malware no est� utilizando un socket Unix.

netstat -nap | grep "@/proc/udevd"

Si ninguno de los dos comandos da resultados, el sistema est� limpio.

Tambi�n parece haber un falso positivo bastante nuevo para tcpd en Ubuntu. Si devuelve un resultado positivo en el sistema, investigaremos m�s, pero hay que tener en cuenta que casi con toda probabilidad el resultado podr�a ser incorrecto.


Tambi�n podemos encontrar notificaciones para wted. �stas pueden ser causados ??por errores de corrupci�n o registro en fallos del sistema. Utilizaremos el �ltimo para comprobar si los tiempos se alinean con reinicios o bloqueos. En esos casos los resultados probablemente sean causados ??por esos eventos y no por actividad maliciosa.

3. Rkhunter

Rkhunter es otra herramienta para buscar rookits. Es conveniente ejecutarlo adicionalmente en nuestro sistema para asegurarnos que chkrootkit no se dej� nada y para verificar falsos positivos.

De nuevo, �ste debe estar en los repositorios de cada distribuci�n.

sudo apt install rkhunter

Para ejecutar el an�lisis, primero debemos actualizar tambi�n la base de datos de rkhunter.

sudo rkhunter --update

A continuaci�n, lanzamos el escaneo:

sudo rkhunter --check

El programa se detendr� despu�s de cada secci�n:


Probablemente veremos algunas advertencias. Muchas surgen debido a ciertas configuraciones:


Cuando finalice la exploraci�n, podremos echar un vistazo a log completo en /var/log/rkhunter.log. Ah� podemos ver cada advertencia en detalle.
Tambi�n le ofrece un resumen completo de sus resultados de an�lisis.


Y esto es todo. Veis como con unos sencillos pasos hemos podido escanear nuestro sistema en busca de posibles amenazas. Si a �sto a�adimos un firewall personal y un poco de sentido com�n, podremos utilizar un sistema Linux lo m�s seguro posible.

download file now