En esta Guía

x

Cómo Limpiar un Sitio Web Joomla! Hackeado

Identifica, elimina y endurece tu sitio web después de un hack.

Última actualización el 4 de Abril de 2018

Uno de nuestros compromisos en Sucuri es ayudar a los administradores de sitios web Joomla! a identificar y limpiar sitios web hackeados. Elaboramos esta guía para guiar en el proceso de identificación y eliminación de hacks en Joomla! Esta guía no lo abarca todo, pero si la sigues, podrás enfrentar al menos el 70% de las infecciones de malware que vemos día a día.

Indicadores Comunes de un Sitio Web Joomla! Hackeado

  • Advertencias de seguridad por Google, Bing, McAfee, etc.
  • Comportamientos inesperados o anormales del navegador
  • Palabras clave de spam en el contenido de los motores de búsqueda
  • Tu alojamiento web suspendió tu cuenta por actividad maliciosa
  • Modificaciones de archivos o problemas de integridad en el núcleo de Joomla!
  • Usuarios nuevos maliciosos en el dashboard de Joomla!
Paso 1
Identifica el Hack

1.1 Escanea tu Sitio Web

Puedes utilizar herramientas para escanear tu sitio web de manera remota para encontrar cargas maliciosas y las ubicaciones del malware.

Para escanear un sitio web Joomla! en busca de hacks:

  1. Visita el sitio web de SiteCheck.
  2. Haz clic en Scan Website.
  3. Si el sitio web está infectado, revisa el mensaje de advertencia.
  4. Toma nota de la ubicación de cualquier carga maliciosa (si está disponible).
  5. Toma nota de cualquier advertencia de listas negras.

Herramientas que puedes utilizar para escanear tu sitio web:

Ejemplo de Resultados de un Escaneo

scan results example screenshot sucuri

Nota

Un escáner remoto navegará tu sitio para identificar problemas de seguridad potenciales. Sin embargo, algunos problemas de seguridad no se mostrarán en el navegador, aunque si lo harán del lado del servidor (p. ej, puertas traseras, páginas de phishing y ejecutables del lado del servidor). El enfoque más exhaustivo de escaneo incluye escaneos remotos y del lado del servidor.

¿Necesitas Ayuda?

Limpia tu sitio web Joomla! hackeado y combate las amenazas en línea con nuestra poderosa plataforma de protección y monitoreo.

Necesito Ayuda

1.2 - Verifica Archivos Modificados Recientemente

Archivos nuevos o modificados podrían ser parte del hack. Los archivos núcleo de tu instalación de Joomla! también deberían ser revisados en busca de inyecciones de malware.

La manera más rápida para confirmar la integridad de los archivos núcleo de Joomla! es utilizando el comando diff en tu terminal. Si no te sientes cómodo utilizando la línea de comandos, puedes verificar tus archivos de forma manual a través de SFTP.

Puedes encontrar todas las versiones de Joomla! en GitHub. Puedes descargar Joomla! a tu computadora utilizando una terminal SSH. Los siguientes comandos utilizan la versión 3.6.4 como un ejemplo de archivos limpios y public_html como un ejemplo de donde tu instalación de Joomla! está ubicada.

Para verificar la integridad de los archivos núcleo 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 último comando diff comparará los archivos limpios de Joomla! con los de tu instalación.

Para verificar manualmente los archivos que han sido modificados recientemente:

  1. Inicia sesión en tu servidor utilizando un cliente FTP o una terminal SSH.
  2. Si estás usando SSH, puedes ver todos los archivos modificados en los últimos 15 días utilizando este comando:
    $ find ./ -type f -mtime -15
  3. Si estás utilizando SFTP, verifica la columna de la última fecha de modificación para todos los archivos del servidor.
  4. Anota todos los archivos que han sido modificados recientemente.

Nota

Te recomendamos utilizar FTPS/SFTP/SSH en vez de FTP no encriptado.

1.3 Verifica los Registros de Usuarios

Verifica las cuentas de usuario en tu instalación de Joomla!, especialmente las cuentas de administradores y super-administradores.

Para verificar en busca de usuarios maliciosos en Joomla!:

  1. Inicia sesión en el área de administración de Joomla!
  2. Haz clic en Usuarios, y selecciona Gestionar
  3. Revisa la lista, especialmente los que tengan una Fecha de Registro reciente.
  4. Elimina cualquier usuario desconocido creado por hackers.
  5. Revisa la Fecha de Última Visita para los usuarios legítimos.
  6. Verifica cualquier usuario que haya iniciado sesión en tiempos sospechosos.
  7. Si sabes dónde están almacenados los registros de tu servidor, puedes procesarlos y buscar peticiones al área de administración de Joomla!
  8. Los usuarios que hayan iniciado sesión en tiempos o ubicaciones sospechosas pueden estar comprometidos.
  9. Ejemplo de Resultados de un Escaneo

    Ejemplo de Resultados de un Escaneo screenshot sucuri

Nota

Cambia las contraseñas de los usuarios hasta que hayas eliminado el malware de tu sitio web. Esto te ayuda a asegurarte de que los hackers ya no tengan acceso a ninguna cuenta.

1.4 - Verifica las Páginas de Diagnóstico

Si tu sitio web Joomla! ha sido colocado en la lista negra por Google o por otras autoridades en seguridad de sitios web, puedes utilizar sus herramientas de diagnóstico para verificar el estado de seguridad de tu sitio.

Para consultar tu Informe de transparencia de Google:

  1. Visita el sitio web de Safe Browsing Site Status website.
  2. Ingresa tu URL y realiza la búsqueda.
  3. En esta página puedes verificar:
    • Detalles de Seguridad del Sitio: Información sobre spam, redirecciones y descargas maliciosas.
    • Detalles de Prueba: El escaneo de Google más reciente que encontró malware.

Ejemplo de resultados de diagnóstico

Ejemplo de resultados de diagnóstico screenshot

Si agregaste tu sitio web a cualquier herramienta para administradores de sitios web, ahí puedes verificar los rankings y reportes de seguridad de tu sitio web. Si todavía no tienes una cuenta en estas herramientas de monitoreo gratis, te recomendamos encarecidamente que te registres y las utilices, son gratis:

Paso 2
Elimina el Hack

Ahora que ya tienes información sobre usuarios potencialmente comprometidos y la ubicación del malware, puedes eliminarlos de Joomla! y restaurar tu sitio web a un estado limpio.

Consejo profesional:

La mejor manera de identificar archivos hackeados es comparando el estado actual de tu sitio con una vieja y limpia copia de seguridad. Si una copia de seguridad está disponible, puedes utilizarla para comparar las dos versiones e identificar lo que se ha modificado.

Nota

Algunos de estos pasos requieren acceso al servidor web y a la base de datos. Si no estás familiarizado con la manipulación de tablas en la base de datos o editando archivos PHP, por favor, busca la asistencia de un Equipo de Respuesta a Incidentes profesional, quienes podrán eliminar el malware de tu sitio web de manera completa.

2.1 - Limpia los Archivos Hackeados

Si los escaneos o las páginas de diagnóstico revelan dominios o cargas maliciosas, puedes empezar por buscar esos archivos en tu servidor Joomla! Al comparar los archivos infectados con copias limpias (de fuentes oficiales o copias de seguridad confiables), puedes identificar y eliminar cambios maliciosos.

Para eliminar manualmente una infección de malware de tu instalación de Joomla!:

  1. Inicia sesión en tu servidor a través de SFTP o SSH.
  2. Crea una copia de seguridad de los archivos de tu sitio antes de hacer cambios.
  3. Busca en tus archivos las referencias a dominios o cargas maliciosas que anotaste.
  4. Identifica archivos con cambios recientes y confirma que sean legítimos.
  5. Revisa los archivos etiquetados por el comando diff durante la verificación de integridad de los archivos núcleo.
  6. Restaura o compara archivos sospechosos con copias de seguridad limpias o fuentes oficiales.
  7. Elimina cualquier código sospechoso o desconocido de tus archivos personalizados.
  8. Prueba para verificar que tu sitio siga operacional después de realizar los cambios.

Si no puedes encontrar el contenido malicioso, busca en la web el nombre de dominio, el contenido y la carga maliciosa que encontraste en el primer paso. Lo más probable es que alguien más haya descubierto cómo esos nombres de dominio están involucrados en el hack que está intentando limpiar.

Herramientas diff para comparar archivos sospechosos con sus copias limpias:

Precaución

  • Es muy importante que compares la misma versión de los archivos núcleo de Joomla y las extensiones. Los archivos núcleo de la rama 2.x no son los mismos que los de la rama 3.x, etc.

  • Nunca realices cambios sin una copia de seguridad. Si no estás seguro, por favor, busca asistencia profesional.

2.2 Limpia las Tablas de la Base de Datos

Para eliminar una infección de malware de la base de datos de tu sitio web Joomla!, utiliza el panel de administración de tu base de datos para conectarte a ella, como por ejemplo, PHPMyAdmin. También puedes utilizar herramientas como Search-Replace-DB o Adminer.

Para eliminar infecciones de malware de la base de datos de tu sitio web de manera manual:

  1. Inicia sesión en el panel de administración de tu base de datos.
  2. Crea una copia de seguridad de tu base de datos antes de realizar cambios.
  3. Busca contenido sospechoso (i.e., palabras clave de spam, spam).
  4. Abre la base de datos que contenga contenido sospechoso.
  5. Elimina cualquier contenido sospechoso de manera manual.
  6. Verifica que tu sitio web está operacional después de realizar los cambios.
  7. Elimina cualquier herramienta de acceso a la base de datos que hayas subido a tu sitio.

Puedes buscar manualmente funciones PHP que son comúnmente utilizadas con fines maliciosos, por ejemplo, eval, base64_decode, gzinflate, preg_replace, str_replace, etc. Toma en cuenta que estas funciones también son utilizadas por plugins por motivos legítimos, así que asegúrate de probar tus cambios o de obtener ayuda para que no rompas tu sitio web de manera accidental.

Ejemplo de Resultados de un Escaneo

Ejemplo de Resultados de un Escaneo screenshot

Precaución

Eliminar código “malicioso” de los archivos de tu sitio web puede ser extremadamente dañino para la salud de tu sitio. Nunca realices ningún cambio sin una copia de seguridad. Si no estás seguro, por favor, busca la asistencia de un profesional.

2.3 - Elimina las Puertas Traseras

Los hackers siempre dejan una manera de regresar a tu sitio. Muy a menudo encontramos múltiples puertas traseras de varios tipos en sitios web Joomla! hackeados.

A menudo, las puertas traseras se encuentran en archivos con nombres similares a los archivos núcleo de Joomla! pero ubicados en directorios incorrectos. Los atacantes también pueden inyectar puertas traseras en archivos como index.php y directorios como /components, /modules, y /templates.

Las puertas traseras comúnmente 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

Precaución

    Estas funciones también pueden ser utilizadas por plugins legítimos, así que asegúrate de poner a prueba cualquier cambio que hagas, ya que podrías romper tu sitio eliminando funciones benignas.


    Siempre recuerda comparar archivos utilizando la misma versión de Joomla!

Para eliminar las puertas traseras comparando archivos:

  1. Confirma la versión de Joomla! haciendo clic en el menú de Sistema y abriendo Información del Sistema.
  2. Descarga la misma versión de los archivos núcleo del repositorio oficial de Joomla!
  3. Inicia sesión en tu servidor a través de SFTP o SSH.
  4. Crea una copia de seguridad de los archivos de tu sitio antes de realizar cambios.
  5. En tu cliente FTP, compara tu sitio web con los archivos limpios.
  6. Investiga los archivos de tu servidor que no concuerden con los archivos limpios.
  7. Investiga cualquier archivo que no sea del mismo tamaño que los archivos limpios.

Ejemplo de Resultados de un Escaneo

scan results example screenshot

La mayoría del código malicioso que vemos utiliza alguna forma de codificación para evitar la detección. Además de los componentes premium que utilizan algún tipo de codificación para proteger sus mecanismos de autenticación, es muy raro ver codificación en el repositorio oficial de Joomla!

Es crítico que todas las puertas traseras sean eliminadas para considerar que la limpieza ha sido exitosa, de otro modo tu sitio web será reinfectado rápidamente.

Precaución

Al comparar tu instalación de Joomla! con una instalación fresca, el archivo configuration.php estará en tu servidor, pero el directorio /installation no lo estará.

2.4 - Elimina las Advertencias de Malware

Si tu sitio web fue colocado en la lista negra por Google, McAfee, Yandex (o cualquier otra autoridad de listas negras), puedes solicitar una revisión luego de que tu sitio web haya sido reparado. Google está limitando ofensores reincidentes a solamente una revisión cada 30 días. ¡Asegúrate de que tu sitio web esté limpio antes de solicitar una revisión!

Para eliminar advertencias de malware de tu sitio:

  1. Llama a tu compañía de alojamiento y pideles que eliminen la suspensión.
    • Puede que tengas que proveer detalles sobre cómo eliminaste el malware.
  2. Llena un formulario de solicitud en cada una de las autoridades de listas negras.
    • P. ej, Google Search Console, McAfee SiteAdvisor, Yandex Webmaster.
    • El proceso de revisión puede tomar varios días.

Nota

Con la Plataforma de Seguridad de Sitios Web de Sucuri, nosotros enviamos solicitudes de revisión de listas negras en tu nombre. Esto ayuda a asegurar de que tu sitio web está absolutamente listo para una revisión. Sin embargo, algunas verificaciones, como los hacks de spam web como resultado de acciones manuales, pueden tomar hasta dos semanas.

Paso 3
Post-Hack

En este último paso, aprenderás cómo arreglar los problemas que causaron que tu sitio web Joomla! fuera hackeado. También llevarás a cabo pasos esenciales para mejorar la seguridad de tu sitio web Joomla!

3.1 - Actualiza y Restablece

Software desactualizado es una de las causas líderes de infecciones. Esto incluye la versión de tu CMS, plugins, temas y cualquier otra extensión. Credenciales de acceso potencialmente comprometidas también deben ser restablecidas para asegurarte de que tu sitio web no sea reinfectado.

Actualiza el Núcleo y las Extensiones de Joomla!

Actualiza todo el software de Joomla!, incluyendo archivos núcleo, componentes, temas, módulos y plugins.

También deberías verificar tus extensiones en busca de vulnerabilidades conocidas utilizando la página Joomla! Vulnerable Extensions List.

Para verificar y actualizar las extensiones de Joomla!:

  1. Asegúrate de tener una copia de seguridad reciente de tu sitio web.
  2. Inicia sesión al área de administración de Joomla!
  3. Haz clic en Extensiones y selecciona Gestionar.
  4. Haz clic en el enlace Actualizar de la barra lateral.
  5. Revisa las actualizaciones disponibles y aplícalas.
  6. Elimina cualquier extensión que contenga vulnerabilidades conocidas.

Actualización de Extensiones

extensions update screenshot

Joomla! 3.x es la versión mayor más estable ya que todavía está en desarrollo. Los usuarios de las ramas 1.x y 2.x deberían considerar migrar a la versión 3.x y mantener los archivos núcleo actualizados.

Si estás actualizando los archivos núcleo de manera manual, puedes eliminar con seguridad los directorios que son parte del framework oficial de Joomla! (administrator, components, etc), ya que luego puedes agregar estos directorios y componentes.

Para verificar y actualizar los archivos núcleo de Joomla!:

  1. Asegúrate de tener una copia de seguridad reciente de tu sitio web.
  2. Inicia sesión en el área de administración de Joomla!
  3. Clic en Sistema y luego Actualizar Joomla!
  4. Clic en el botón “Buscar Actualizaciones”
  5. Revisa las actualizaciones disponibles para tu versión de Joomla!
  6. Haz clic en el botón de Reinstalar archivos núcleo de Joomla!

Se le recomienda a los usuarios de la rama 1.x que actualizan a la 3.x siguiendo la guía de migración de la Documentación de Joomla!

Si en el primer paso SiteCheck identificó software desactualizado en tu servidor (p.ej. Apache, cPanel, PHP), deberías actualizar esos también para asegurarte de tener todos los parches de seguridad disponibles.

Actualización del Núcleo de Joomla!

joomla core updates screenshot

Precaución

¡Asegúrate de no sobrescribir el archivo configuration.php ya que esto rompería tu sitio!

Restablece las Credenciales de Usuarios

Deberías restablecer todas las cuentas en tu sitio Joomla! y utilizar contraseñas únicas y fuertes para evitar la reinfección.

Para restablecer las cuentas de usuario de tu sitio web Joomla!:

  1. Inicia sesión en tu sitio web Joomla!
  2. Haz clic en el menú de Usuarios
  3. Haz clic en cada uno de las cuentas de usuario.
  4. Cambia la contraseña del usuario.
  5. Repite el proceso para cada usuario de tu sitio.

Deberías reducir el número de cuentas administradoras y super-administradoras en Joomla!, y en todos tus sistemas de sitios web. Práctica el concepto de mínimo privilegio y solo concede el acceso que las personas necesitan para hacer su trabajo.

Joomla! viene con segundo factor de autenticación incorporado para las cuentas de usuario.

Para habilitar Segundo Factor de Autenticación (2FA) en tus cuentas de usuario de Joomla!:

  1. Inicia sesión en tu sitio web Joomla!
  2. Haz clic en Usuarios
  3. Abre tu cuenta de usuario.
  4. Haz clic en la pestaña de Segundo Factor de Autenticación
  5. Sigue los pasos para habilitar el segundo factor (2FA).
  6. Haz que todos los usuarios repitan este proceso.

Es recomendable reinstalar todas las extensiones después de un hack, esto es para asegurarte de que estén funcionales y libres de residuos de malware. Si tienes temas, componentes, módulos o plugins desactivados, te recomendamos que los elimines de tu servidor web.

Segundo Factor de Autenticación en Joomla!

joomla 2factor authentication screenshot 2fa

Nota

Todas las cuentas deberían utilizar contraseñas fuertes. Una buena contraseña es construida alrededor de tres componentes - complejidad, longitud y unicidad. Algunas personas dicen que es difícil recordar múltiples contraseñas, y esto es cierto, ¡por eso se crearon los gestores de contraseñas!

3.2 - Crea Copias de Seguridad

Las copias de seguridad funcionan como una red de seguridad. Ahora que tu sitio web Joomla! está limpio y que has tomado algunos pasos post-hack, ¡crea una copia de seguridad! El tener una buena estrategia de copias de seguridad está en el núcleo de una buena postura de seguridad.

Aquí hay unos consejos para ayudarte con las copias de seguridad de tu sitio web:

  • Ubicación

    Almacena las copias de seguridad de Joomla! lejos de tu sitio. Nunca guardes tus copias de seguridad (o versiones viejas) en tu servidor, estas pueden ser hackeadas y utilizadas para comprometer tu sitio en producción.

  • Automáticas

    Idealmente, la solución de copias de seguridad que elijas debe correr automáticamente a una frecuencia que se adapte a las necesidades de tu sitio web.

  • Redundantes

    Esto significa que tu estrategia de copias de seguridad debe ser redundante, o en otras palabras, haz copias de seguridad de tus copias de seguridad.

  • Pruebas

    Prueba el proceso de restauración para confirmar que tu sitio web funcione correctamente.

  • Tipos de Archivo

    Algunas soluciones de copias de seguridad excluyen cierto tipo de archivos como videos y archivos.

¿Sabías?

Sucuri ofrece a sus clientes un sistema asequible para crear copias de respaldo seguras.

3.3 - Escanea tu Computadora

Haz que todos los usuarios del área de administración de Joomla! corran un programa antivirus confiable en sus sistemas operativos.

Joomla! se puede ver comprometido si un usuario con una computadora infectada tiene acceso al panel de control. Algunas infecciones están diseñadas para saltar desde la computadora hasta los editores de texto o clientes FTP.

Aquí hay algunos programas antivirus que recomendamos:

Nota

  • Deberías tener solo un antivirus protegiendo activamente tu sistema para evitar conflictos

  • Si la computadora de uno de los usuarios con acceso al Dashboard de Joomla! no está limpia, tu sitio web se puede ver reinfectado fácilmente.

3.4 - Protege tu Sitio Web: Firewall de Sitios Web

Puedes endurecer tu sitio web Joomla! restringiendo los permisos de los archivos e implementando reglas personalizadas en tu archivo .htaccess. Te recomendamos revisar la Documentación de Seguridad de Joomla! para más información.

El número de vulnerabilidades explotadas por los atacantes crece cada día. Tratar de mantenerse al día es todo un reto para los administradores. Los Firewall para Aplicaciones Web fueron inventados para proveer un perímetro de defensa alrededor de tu sitio web.

Estos son algunos beneficios de utilizar un Firewall para Aplicaciones Web:

  • 1. Prevenir un Hack Futuro

    Al detectar y detener los métodos y comportamientos de hacking conocidos, el firewall para aplicaciones web mantiene tu sitio protegido contra infecciones.

  • 2. Actualizaciones de Seguridad Virtuales

    Los hackers explotan rápidamente vulnerabilidades en complementos y temas, y nuevas vulnerabilidades siempre están apareciendo (vulnerabilidades de día cero). Un buen firewall para aplicaciones web arreglará los agujeros de seguridad en el software de tu sitio, incluso si no has aplicado los parches de seguridad.

  • 3. Bloquear Ataques de Fuerza Bruta

    Un buen firewall para aplicaciones debe detener a cualquier de ingresar a tu página de wp-admin o wp-login si no se supone que estén ahí, asegurando de que nadie pueda utilizar fuerza bruta para adivinar tu contraseña.

  • 4. Mitigación de Ataques DDoS

    Los ataques distribuidos de denegación de servicio intentan sobrecargar los recursos de tu servidor o tu aplicación. Al detectar y bloquear todos los tipos de ataque DDoS, un firewall para aplicaciones web se asegura de que tu sitio web se mantenga disponible incluso si estás siendo atacado con un gran volumen de visitas falsas.

  • 5. Optimización del Rendimiento

    La mayoría de los WAFs ofrecerán almacenar tu contenido en caché para optimizar la velocidad de carga del sitio. Esto mantiene a tus visitantes felices y se ha demostrado que reduce las tasas de rebote al tiempo que mejora la interacción de los visitantes, las conversiones y los ranking de los motores de búsqueda.

Ofrecemos todas estas funciones con el Firewall Sucuri.

Contáctanos