Cómo realizar un escaneo de virus en un sitio web Joomla en Linux

⚠️ Nota importante

Este artículo tiene más de un año. La tecnología evoluciona rápido, por lo que algunos contenidos o instrucciones pueden estar desactualizados. Recuerda buscar información reciente y actualizada.

Cualquier sitio web, sin importar que sea desarrollado en Joomla, WordPress o Drupal, está sujeto a amenazas externas cómo malware y en general todo tipo de ataques por parte de actores maliciosos y malintencionados. Por lo general, mantener un sitio actualizado y seguir medidas de seguridad básicas es suficiente para evitar sufrir consecuencias graves pero ningún sitio está exento. En ocasiones es necesario responder a este tipo de incidentes y realizar limpiezas de emergencia. En este artículo voy a explicar como realizar un análisis completo de un sitio afectado utilizando la reglas yara y el antivirus de código abierto ClamAV

Introducción a ClamAV

ClamAV es un motor de antivirus útil para detectar troyanos, virus, malware y en general muchos tipos de amenazas maliciosas. Tiene múltiples aplicaciones y entre ellas, es utilizado por los sistemas de escaneo de puertos de correo electrónico. Además, incluye un servicio de escaneo utilizando las capacidades multitarea del procesado y utilidades en línea de comandos para analizar ubicaciones específicas y actualizar las bases de datos de amenazas. Por último, soporta una gran variedad de formatos de archivos y permite analizar ficheros comprimidos al descomprimirlos automáticamente. Existe una gran variedad de aplicaciones de terceros que utilizan ClamAV para tareas de reconocimiento de amenazas en correo electrónico, sistemas de archivos, sitios web y vía FTP entre otras funcionalidades. En este caso, se utilizará el motor antivirus en combinación con una serie de reglas llamadas yara. 

El comando para la instalación del antivirus es el mismo ya sea que sea vaya a instalar en un ordenador o directamente en el servidor donde se encuentre el sitio afectado via SSH:

sudo apt install clamav

Reglas yara

Las reglas yara, son una serie de patrones que ayudan a detectar amenazas vigentes a partir de las características del código. Inicialmente, el usuario de GitHub Vlad-s creó una primera regla yara. A partir de esta regla, Hestat, otro usuario de GitHub, creó otras cuantas reglas más para hacer el proceso de escaneo aún más efectivo

Para poder utilizar estas reglas, deben ser descargadas desde el repositorio en GitHub de Hestat. En este caso, el archivo que más relevante es el llamado lw-rules-combined.yar. Es posible realizar la descarga manual desde GitHub, extraer los archivos en el ordenador y/o subir el archivo de interés al servidor:

O clonar el repositorio directamente desde la terminal con el comando: 

git clone https://github.com/Hestat/lw-yara.git

Para poder utilizar la funcionalidad de ClamAV de procesar la reglas yara como firmas de virus personalizadas es necesario estar en la versión 98 o superior. 

Escaneo recursivo

El primer paso para realizar el escaneo es definir dónde se va a realizar. Esto es importante ya que ya sea en un equipo local o en el servidor donde está alojado el sitio es necesario instalar ClamAV. 

En el caso del servidor, el ClamAV podría ser instalado vía conexión SSH, sin embargo no todos los proveedores de alojamiento permiten esto. En dicho caso, podrás solicitar por medio del servicio técnico, que este motor antivirus sea instalado para realizar los escaneos directamente. 

Por otro lado, es posible realizar el análisis en local. Esto quiere decir que deberás, desde el gestor de archivos de CPanel, comprimir y descargar del sitio web infectado al ordenador donde tendrás todo el control y podrás instalar el antivirus sin problemas. Evidentemente al hacer esto, estarás descargando a tu ordenador cualquier amenaza que esté afectando el sitio web. Por esa razón, es preferible hacer esto desde una máquina virtual o desde un live USB de forma que se disminuya el riesgo de afectación al sistema de archivos del ordenador. 

En el caso de los sitios desarrollados en Joomla, también es posible descargar un archivo de Akeeba Backup y descomprimir los contenidos utilizando la herramienta facilitada por Akeeba para tal fin. 

Para realizar el escaneo utilizando las reglas yara se utiliza este comando:

clamscan -ir -d /ruta/de/reglas/lw-rules-combined.yar /home/*/public_html/

Nada más hay que cambiar la ruta del archivo lw-rules-combined.yar por la ubicación correcta de este y cambiar la ubicación del sitio web que se sospecha ha sido afectado por una amenaza maliciosa. En este caso, se utilizó /home/*/public_html/ debido a que es la ruta predeterminada en servidores CPanel (cambiando el asterisco por el usuario). 

Con respecto a los parámetros del comando:

  • -i habilita la opción de solo reportar cuando se encuentre una posible amenaza.
  • -r habilita la opción de escaneo recursivo.
  • -d permite procesar firmas de virus personalizadas, como lo son las reglas yara. Se pueden utilizar múltiples bases de datos de hashes y reglas para identificar posibles amenazas.
  • -l esta no fue utilizada, pero permite crear un registro de los escaneos realizados. 

Este proceso, que según expertos es muy efectivo, tomará uno pocos minutos y puede ser buen primer paso en el proceso de recuperar un sitio web vulnerado por procesos maliciosos. Estas reglas fueron inicialmente creadas por el usuario Vlad-s en Github y fueron mejoradas por Hestat. El proyecto enlazado en este artículo corresponde al de Hestat ya que es constantemente actualizado por el desarrollador.  Si tienes alguna duda sobre el proceso no dudes en compartirla por medio de los comentarios o directamente en el proyecto. 

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.