PASOS PARA LIMPIAR UN SITIO WEB JOOMLA! HACKEADO

Identifique, remueva y haga harden de su sitio web después de un hack.

Sucuri ha dedicado años para ayudar a los administradores de Joomla! identificar y corregir los sitios web hackeados. Para continuar con este proyecto, escribimos esta guía para ayudar a los propietarios de sitios web que pasan por el proceso de identificación y limpieza de sitios web Joomla! hackeados. Esta guía no pretende ser exhaustiva, sino que ayuda a resolver el 70% de las infecciones que vemos.

Anaheim, CA • US • Casa da
Kimmy Administradora de RH/Viajes Corporativas

Indicadores Comunes para Saber que un Sitio Web Joomla! Fue Hackeado

  • Notificaciones de listas negras por Google, Bing, McAfee
  • Comportamientos extraños de navegadores
  • Palabras clave de spam en contenido del motor de búsqueda
  • Notificación de sitio web suspenso por host
  • Cambios de archivos o problemas de integridad en el core de Joomla!
  • Nuevos usuarios maliciosos en el painel de Joomla!

Paso 1

IDENTIFIQUE EL HACK

1.1 Escanee Su Sitio Web

Use herramientas para escanear su sitio web y encontrar payloads maliciosas y donde se ubica el malware.

Para escanear Joomla! en búsqueda de hacks:

  1. Visite SiteCheck.
  2. Haga clic Scan Website.

  3. Si su sitio web está infectado, lea el mensaje de alerta.

  4. Vea cuales son los payloads y sus ubicaciones (si disponible).

  5. Vea cuales son las notificaciones de lista negra.

Si usted tiene varios sitios web en el mismo servidor, se recomienda el escaneo de todos ellos (o utilice SiteCheck para hacerlo). La contaminación cruzada de sitios web es una de las principales causas de reinfección. Aconsejamos a todos los propietarios de sitios web que aíslen su host y sus cuentas web.

Observación

Un escáner remoto navega por el sitio web para identificar los posibles problemas de seguridad. Algunos problemas no aparecen en un navegador, sino que se manifiestan en el servidor (es decir, puertas traseras, phishing y scripts basados en el servidor). El enfoque más abrangente para la verificación incluyen los escáneres remoto y del lado del servidor. Sepa cómo los escáneres remotos trabajan.

Herramientas para escanear su sitio web:

1.2 Verifique Archivos Modificados

Los archivos nuevos o modificados recientemente pueden ser parte de un hack. Sus archivos del core de Joomla! también deben ser revisados para inyecciones de malware.

Observación

Recomendamos el uso del FTPS/SFTP/SSH en lugar del FTP cifrado.

La forma más rápida para comprobar la integridad de los archivos del core de Joomla! es utilizando el comando diff en el terminal. Si no está acostumbrado a utilizar la línea de comandos, se puede comprobar los archivos de forma manual vía SFTP.

Todas las versiones de Joomla! están en GitHub. Usando un terminal SSH, descargue el Joomla! . Los comandos abajo usan la versión 3.6.4 como ejemplo de los arquivos limpios y el public_html como ejemplo de la localización de su instalación Joomla! .

Para comprobar la integridad de los archivos core con comandos SSH:

  • $ mkdir joomla-3.6.4
  • $ cd joomla-3.6.4
  • $ wget https://github.com/joomla/joomla-cms/releases/download/3.6.4/Joomla_3.6.4-Stable-Full_Package.tar.gz
  • $ tar -zxvf Joomla_3.6.4-Stable-Full_Package.tar.gz
  • $ diff -r joomla-3.6.4 ./public_html

El comando diff final comparará los archivos limpios de Joomla! con su instalación.

Para verificar manualmente los archivos recién-modificados:

  1. Inicie sesión en su servidor vía cliente SFTP o terminal SSH.

  2. Al usar SSH, haga una lista de todos los archivos modificados en los últimos 15 días, usando el siguiente comando: $ find ./ -type f -mtime -15.

  3. Al utilizar SFTP, compruebe la columna de la última fecha cambio para todos los archivos del servidor.

  4. Compruebe los archivos que han sido modificados recientemente.

Modificaciones desconocidos en los últimos 7-30 días pueden ser sospechosas y requieren una mayor investigación. También se puede utilizar un escáner en línea y extensiones de Joomla! para buscar indicadores de compromiso, payloads maliciosas y otros problemas de seguridad.

Escanee su sitio web con extensiones de seguridad de Joomla!:

1.3 Audit de User Logs

Verifique las cuentas de usuarios Joomla!, especialmente las de administradores y super-administradores.

Para encontrar usuarios maliciosos en Joomla!:

  1. Inicie sesión en el area del Administrador de Joomla! .

  2. Haga clic en Users y seleccione Manage.

  3. Revise la lista, especialmente para usuarios con Registration Date reciente.

  4. Remueva todos los usuarios desconocidos que han sido creados por hackers.

  5. Verifique la Last Visit Date de usuarios legítimos.

  6. Confirme los usuarios que han iniciado sesión en horas sospechosas.

Observación

Espere para cambiar las contraseñas de usuarios después de haber limpiado por completo el sitio web de malware. Esto asegura que los hackers ya no tendrán acceso a cualquier cuenta de usuario.

Usted también puede analizar los logs del servidor, si sabe donde se almacenan y cómo buscar las peticiones del área del administrador de Joomla! Los usuarios que han iniciado sesión en tiempos inusuales o ubicaciones geográficas desconocidas pueden haber sido cometidos.

1.4 Verifique las Páginas de Diagnóstico

Si su sitio web Joomla! fue notificado por Google u otras autoriadades de seguridad de sitios web, usted puede utilizar sus herramientas de diagnóstico para comprobar el estado de seguridad de su Joomla! .

Para verificar su Google Transparency Report:

  1. Visite el Safe Browsing Site Status.

  2. Inserta su URL y haga una búsqueda

  3. En esta página, se puede verificar:

    • Detalles de Seguridad de su Sitio Web: informaciones sobre redireccionamientos maliciosos, spam y downloads.
    • Detalles de Pruebas: escaneo más reciente de Google que ha encontrado malware.

Si ha añadido su sitio web a cualquier herramienta gratuita para webmasters, puede comprobar sus clasificaciones de seguridad y los informes del sitio web. Si usted no tiene cuentas de estas herramientas de gratuitas, se lo recomiendo que se registre en:

Paso 2

REMOVER EL HACK

Ahora que ya tiene la información sobre los usuarios vulnerables y la ubicaión del malware, elimine el malware de Joomla! y reconfigure su sitio web para volver a quedarse limpio.

Consejo Profesional:

La mejor manera de identificar los archivos pirateados es comparar el estado actual de su sitio web con una vieja copia de seguridad limpia. Si hay una copia de seguridad disponible, la utilice para comparar las dos versiones e identificar lo que ha cambiado.

Observación

Algunos de estos pasos requieren el acceso al servidor web y a la base de datos. Si usted no sabe cómo manejar las tablas de base de datos o editar PHP, busque la ayuda de nuestro equipo de respuesta a incidentes que van a remover completamente el malware de su sitio web Joomla! .

2.1 Limpie Archivos Hackeados de Su Sitio Web

Si todos los escaneios o páginas de diagnóstico revelaron dominios maliciosos o payloads, usted puede empezar a comprobar los archivos en el servidor web Joomla! . Al comparar los archivos infectados con los archivos legítimos conocidos (a partir de fuentes oficiales o copias de seguridad fiables y limpias), se puede identificar y eliminar los cambios maliciosos.

Cuidado

Se debe comparar con la misma versión de sus archivos core y extensiones de Joomla!. Archivos core en la versión 2.x son diferentes de la versión 3.x .

Nunca haga nada sin antes hacer una copia de seguridas. Si no está seguro, consulte a un profesional.

Para remover la infección de malware manualmente de los archivos de su sitio web Joomla! :

  1. Inicie sesión en su servidor vía SFTP o SSH.

  2. Crie una copia de seguridad antes de hacer cualquier cambio.

  3. Busque sus archivos como una referencia a los dominios maliciosos o payloads.

  4. Identifique los archivos recién cambiados y confirme si son legítimos.

  5. Restaure archivos mostrados en el comando diff durante la inspección de integridad de archivos core.

  6. Restaure o compare los archivos sospechosos con copias de seguridad limpias o fuentes oficiales.

  7. Retire el código sospechoso o desconocido de los archivos personalizados.

  8. Pruebe para ver si el sitio web está todavía en funcionamiento después de los cambios.

Si no puede encontrar el contenido malicioso, busque en Internet el contenido malicioso, payloads y nombres de dominio que ha encontrado en la primera etapa. Puede ser que alguien ya haya descubierto cómo estos nombres de dominio están involucrados en el hack que quiere limpiar.

Herramientas diff para comparar archivos sospechosos con copias limpias conocidas:

2.2 Limpie Tablas Hackeadas de la Base de Datos

Para eliminar la infección de malware de la base de datos de su sitio web, utilice el panel admin para conectarse con la base de datos. También puede utilizar herramientas como Search-Replace-DB o Adminer.

Para remover la infección de malware manualmente de sus tablas de base de datos de Joomla! :

  1. Inicie sesión en el admin panel de su base de datos (database).

  2. Haga una copia de seguridad de la base de datos antes de hacer cambios.

  3. Busque contenido sospechoso (palabras-claves spammy, links).

  4. Abra la tabla que contiene el contenido sospechoso.

  5. Remueva manualmente el contenido sospechoso.

  6. Pruebe para ver si el sitio web está todavía en funcionamiento después de los cambios.

  7. Retire todas las herramientas de acceso a la base de datos que utilizó.

Utilice la información del payload proporcionada por el escáner de malware o busque funciones PHP maliciosas comunes, como eval, base64_decode, gzinflate, preg_replace, str_replace, etc. Tenga en cuenta que estas funciones también se utilizan en los plugins por motivos legítimos, a continuación, pruebe todos los cambios o busque ayuda para no destruir su sitio web accidentalmente..

Cuidado

La extracción manual de los archivos “maliciosos” puede ser desastrosa para la salud de su sitio web. Nunca haga ninguna acción sin una copia de seguridad. Si no está seguro, consulte a un experto.

2.3 Remueva Backdoors Escondidos

Los hackers siempre encuentran una manera de volver a su sitio web. Muy a menudo, vemos múltiples puertas traseras de varios tipos de sitios web Joomla! hackeados.

A menudo, las puertas traseras están en archivos con nombres semejantes a los archivos core de Joomla! ubicados en el directorio incorrecto. Los atacantes también pueden inyectar puertas traseras en archivos como el index.php y directorios como /components, /modules y /templates.

Backdoors generalmente incluyen las siguientes funciones PHP:

  • base64
  • str_rot13
  • gzuncompress
  • gzinflate
  • eval
  • exec
  • create_function
  • location.href
  • curl_exec
  • stream
  • system
  • assert
  • stripslashes
  • preg_replace (with /e/)
  • move_uploaded_file
  • strrev
  • file_get_contents
  • encodeuri
  • wget

Cuidado

Estas funciones también se pueden utilizar legítimamente por los plugins, entonces, pruebe todos los cambios, porque usted puede destruir su sitio web si remueve funciones benignas.

Compare sus archivos con la misma versión de Joomla!.

Para remover backdoors comparando archivos:

  1. Confirme la versão de su Joomla! haciendo clic en System y después System Information

  2. Descargue la misma versión de sus archivos core a partir de la versión oficial del repositorio de Joomla! .

  3. Inicie sesión en su servidor vía SFTP o SSH.

  4. Haga una copia de seguridad de la base de datos antes de hacer cambios.

  5. En su cliente FTP, compare su sitio web con la descarga buena.

  6. Investigue los archivos de su servidor que no coinciden con los archivos legítimos.

  7. Investigue los archivos de tamaño diferente de los archivos legítimos.

Observación

El directorio /installation no estara en su sitio web y el archivo configuration.php no estará en los archivos legítimos.

La mayoría de los códigos maliciosos que vemos utiliza algún tipo de encriptación para evitar la detección. Además de componentes de alta calidad que utilizan el cifrado para proteger su mecanismo de autenticación, es muy raro ver codifcação en el repositorio oficial de Joomla! .

Es esencial que todas los backdoors estén cerrados para limpiar un hack con éxito en Joomla!, o su sitio se volverá a infectarse rápidamente.

2.4 Remueva Notificaciones de Malware

Si usted ha sido notificado por Google, McAfee, Yandex (o cualquier otra autoridad de spam web) puede solicitar una revisión después de que el hack haya sido reparado. Google limita la solicitud de revisión de los infractores recurrentes para una revisión cada 30 días.Asegúrese de que su sitio web está realmente limpio antes de hacer la solicitud de revisión.

Para remover notificaciones de malware en su sitio web:

  1. Llame a su empresa de alojamiento web y pida para retirar su suspensión.

    • A veces tendrá que proporcionarles detalles sobre cómo se ha eliminado el malware.
  2. Llene una solicitud de revisión para cada autoridad de lista negra.

    • Por ejemplo, Google Search Console, McAfee SiteAdvisor, Yandex Webmaster.
    • El proceso de revisión puede llevar días.

Observación

Con el plan de seguridad de sitios web Sucuri, enviamos las solicitudes de revisión de listas negras para usted. Esto hace que las notificaciones de malware se eliminen más rápidamente, en la mayoría de los casos en menos de 10 horas.

Passo 3

POS-HACK

En este último paso, aprenderá cómo solucionar los problemas que pueden haber causado el hack de su Joomla!. También seguirá los pasos esenciales para mejorar la seguridad de su sitio web Joomla! .

3.1 Actualice y Resetee

Software desactualizado es una causa importante de infecciones. Esto incluye la versión de su CMS, plugins, temas y cualquier otra extensión. Credenciales potencialmente comprometidas también se pueden restablecer para asegurar que no se volverán a infectar.

Actualice el Core y las Extensiones Joomla!

Actualice todos los software de Joomla! ,incluyendo archivos core, componentes, templates, módulos y plugins.

Compruebe las extensiones de las vulnerabilidades conocidas, utilizando la Lista de Extensiones Vulnerables de Joomla.

Para verificar y actualizar las extensiones de Joomla! :

  1. Tenga una copia de seguridad reciente de su sitio web.

  2. Inicie sesión en el área del Admistrador de Joomla! .

  3. Haga clic en Extensions y seleccione Manage.

  4. En la barra lateral, haga clic en Update.

  5. Revise las actualizaciones disponibles y las aplique.

  6. Remueva extensiones que contengan vulnerabilidades conocidas.

Joomla! 2.x d 3.x son las versiones más estables que también se desarrollan. Los usuarios deben asegurarse de que se aplican todas las actualizaciones core.

Si va a actualizar manualmente los archivos del core, puede eliminar los directorios que forman parte del framework oficial de Joomla! (administrador, componentes, etc.), después, vuelva a crear manualmente esos mismos directorios y componentes core.

Cuidado

Tenga cuidado de no sobrescribir el archivo configuration.php, ya que esto romperá su sitio web.

Para verificar y actualizar los archivos core de Joomla!:

  1. Asegúrese de que tiene una copia de seguridad reciente de su sitio web.

  2. Inicie sesión en el área del Admistrador de Joomla! .

  3. Haga clic en System y seleccione Joomla! Update.

  4. Haga clic en Check for Updates.

  5. Revise las actualizaciones disponibles para su versión Joomla! .

  6. Haga clic en Reinstall Joomla core files .

Usuarios del 1.x deben migrar para 3.x y seguir la guía de migración de Joomla! .

Si en el primer paso, SiteCheck identificó otro software obsoleto en su servidor (Apache, cPanel, PHP), actualícelos para tener todos los parches de seguridad disponibles.

Resetee las Credenciales de Usuario

Cambie todas las contraseñas de usuario para contraseñas únicas y fuertes con el objetivo de prevenir la reinfección de su sitio web Joomla!.

Para resetear las contraseñas de las cuentas de usuarios Joomla! :

  1. Inicie sesión en su sitio web Joomla! .

  2. Haga clic en Users.

  3. Abra cada cuenta de usuario.

  4. Cambie la contraseña del usuario.

  5. Repita este procedimiento para cada usuario en el sitio web.

Reduzca el número de cuentas de administrador y super-administradores de Joomla! y de todos los sistemas de su sitio web. Practique el concepto de mínimo privilegio. Sólo proporcione acceso a aquellos que lo necesitan.

Joomla! tiene two-factor authentication en las cuentas de usuario.

Para activar el 2FA en las cuentas de usuario Joomla! :

  1. Inicie sesión en su sitio web Joomla! .

  2. Haga clic en Users.

  3. Abra cada cuenta de usuario..

  4. Haga clic en Two Factor Authentication.

  5. Siga los pasos para activar 2FA.

  6. Repita este procedimiento para cada usuario.

Observación

Todas sus cuentas deben utilizar contraseñas seguras. Una buena contraseña tiene tres componentes - la complejidad, el tamaño y la exclusividad. Algunos dicen que es muy difícil recordar muchas contraseñas. Es por eso que existen los gestores de contraseñas.

Es aconsejable volver a instalar todas las extensiones después de un hack para asegurarse de que estarán funcionales y libres de malware. Si usted ha desactivado temas, componentes, módulos o plugins, le recomendamos que los remueva de su servidor web.

3.2 Configure las Copias de Seguridad

La función de copias de seguridad funciona como una red de seguridad. Ahora que su sitio web ya está limpio y que ha seguido los pasos pos-hack, ¡haga una copia de seguridad! Tener una buena estrategia de copias de seguridad es esencial para tener una buena postura de seguridad.

Estos son algunos consejos para ayudarle con sus copias de seguridad del sitio web:

  • Local

    Almacene las copias de seguridad de Joomla! en un lugar fuera de su sitio web. Nunca almacene las copias de seguridad (o sus versiones anteriores) en su servidor, pues pueden ser hackeadas y comprometer el sitio web real.

  • Automatización

    Su solución de copias de seguridad se debe realizar de forma automática en una frecuencia que satisfaga las necesidades de su sitio web.

  • Redundancia

    Almacene sus copias de seguridad en múltiples ubicaciones (almacenamiento en la nube, ordenador, hard drives externos).

  • Prueba

    Pruebe el proceso de restauración para confirmar que su sitio web está funcionando correctamente.

  • Tipos de Archivos

    Algunas soluciones de copias de seguridad no incluyen algunos tipos de archivos como videos y archives.

Observación:

Sucuri ofrece a sus clientes un sistema asequible para copias de seguridad seguras para sitios web.

3.2 Escanee su Ordenador

Todos los usuarios de Joomla! deben ejecutar un escáner con un programa antivirus de confianza en su sistema operativo.

Usted puede verse comprometido si un usuario con un ordenador infectado tiene acceso al panel. Algunas infecciones utilizan un ordenador con editores de texto o clientes FTP.

Algunos programas de antivirus que le recomendamos:

Observación

Tenga sólo un programa antivirus que protege su sistema para evitar conflictos.

Si los equipos de los usuarios de Joomla! no están limpios, su sitio web fácilmente puede volver a infectarse.

3.4 Proteja Su Sitio Web

Se puede hacer el hardening de su sitio web Joomla! al restringir los permisos de archivo y implementar reglas .htaccess personalizadas. Recomendamos la lectura de los Joomla! Security Docs para saber más.

El número de vulnerabilidades explotadas por atacantes crece día a día. Mantener todo actualizado es un reto para los administradores. Los Firewalls de Sitios Web se desarrollaron para proporcionar un sistema de defensa del perímetro para su sitio web.

Beneficios del uso de un firewall de sitios web:

  1. Prevenir un Hack Futuro

    Para detectar y detener los métodos y comportamientos de hacks conocidos, un firewall de sitios web mantiene su sitio web protegido contra infecciones.

  2. Actualización de Seguridad Virtual

    Los hackers explotan las vulnerabilidades de plugins y temas. Nuevas vulnerabilidades siempre aparecen (llamadas día cero). Un buen firewall de sitios web parcheará los defectos en software del sitio web, incluso si usted no ha hecho las actualizaciones de seguridad.

  3. Bloqueo de Ataques de Fuerza Bruta

    Un firewall de sitios web debe impedir que cualquier persona no autorizada acceda a su página wp-admin o wp-login, para asegurarse de que no puedan utilizar ataques automatizados de fuerza bruta para adivinar sus contraseñas.

  4. Mitigación de Ataques de DDoS

    Ataques de denegación de servicio distribuido intentan sobrecargar el servidor o los recursos de su aplicación. Para detectar y bloquear todo tipo de ataques DDoS, un firewall de sitios web se asegura de que su sitio web está disponible incluso si bajo ataque de un gran volumen de visitantes falsos.

  5. Optimización de Performance

    La mayoría de WAFs ofrecen almacenamiento en caché para aumentar la velocidad global de la página web, para mantener satisfechos a sus visitantes y reducir la velocidad de salida de los visitantes, con el objetivo de mejorar la interacción con el sitio web, la tasa de conversión y la clasificación de los motores de búsqueda.

Ofrecemos todas esas opciones con el Firewall Sucuri.

Contáctenos