Cómo Limpiar un Sitio Web Hackeado

Pasos para eliminar malware, spam y otros hacks de cualquier sitio web

Última actualización el: 7 de marzo de 2018

Sucuri se ha dedicado por muchos años a ayudar a propietarios de sitios web a identificar y limpiar sitios web hackeados. Elaboramos esta guía con el objetivo permitirle a los propietarios de sitios web identificar y eliminar hacks por su propia cuenta. Y aunque esta guía no lo abarca todo, si la sigues, podrás enfrentar al menos el 70% de las infecciones de malware que vemos día a día.

En Esta Guía

x
Paso 1
Identifica el Hack

1.1 - Escanea tu Sitio

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

Para escanear un sitio 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.

Si el escáner remoto no es capaz de encontrar ninguna carga maliciosa, continúa con las otras pruebas de esta sección. También puedes verificar de manera manual la pestaña iFrames / Links / Scripts del Escáner de Malware para encontrar elementos que no son familiares o que son sospechosos.

Si tienes múltiples sitios web en el mismo servidor te recomendamos escanearlos todos (también puedes utilizar SiteCheck para hacer esto). La contaminación cruzada de sitios web es una de las causas líderes de reinfecciones. Recomendamos a todos los propietarios de sitios web airlar sus cuentas de alojamiento.

Ejemplo de Resultados de un Escaneo

Sucuri sitecheck scan results report screenshot

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. Aquí puedes leer más sobre cómo funcionan los escáneres remotos.

¿Necesitas Ayuda?

Con Sucuri, tu sitio web se mantiene protegido de hacks durante todo el año, sin problemas.

Necesito Ayuda

1.2 - Verifica la Integridad de los Archivos Núcleo

La mayoría de los archivos núcleo no deberían ser modificados.

La manera más rápida para confirmar la integridad de los archivos núcleo de tu sitio web 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.

Si no se ha modificado nada recientemente, entonces tus archivos núcleo están limpios.

Nota

Es posible que desees utilizar un cliente FTP para buscar malware en directorios como wp-content de manera más rápida. Para esto, te recomendamos utilizar FTPS/SFTP/SSH en vez de FTP no encriptado.

1.3 - Verifica Archivos Recientemente Modificados

Puedes identificar archivos hackeados echando un vistazo a archivos que han sido modificados recientemente.

Utiliza los siguientes comandos en tu terminal para listar los archivos que han sido modificado recientemente:

  1. Escribe lo siguiente en tu terminal:
    $ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r .
  2. Si quieres ver los archivos del directorio, escribe lo siguiente:
    $ find /etc -printf '%TY-%Tm-%Td %TT %p\n' | sort -r .
  3. Modificaciones desconocidas en los últimos 7-30 días son sospechosas.

1.4 - Verifica las Páginas de Diagnóstico

Si tu sitio web 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 verificar el Reporte de Transparencia de Google:

  1. Visita el sitio web de Safe Browsing Site Status.
  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.

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

1.5 - Consideraciones PCI para Sitios Web de Comercio Electrónico

Cuando un sitio web de comercio electrónico es hackeado, uno de las preocupaciones principales es la información de las tarjetas de crédito de los clientes. Si procesas pagos dentro tu tienda en línea, puede que tengas que responder a una posible violación de datos, esto incluye implicaciones con el cumplimiento de la Industria de Tarjetas de Crédito (PCI por sus siglas en inglés).

Si sospechas que información de tarjetas de crédito ha sido robada, puedes contactar a tu banco para informarte sobre tarjetas de crédito virtuales. Estas pueden ser utilizadas para probar a hacer compras en tu sitio antes de limpiar el hack. En general, las tarjetas de crédito robadas son utilizadas dentro de 12 horas, así que este ejercicio puede indicar si se necesita más investigación. Pero cabe destacar que este método no es 100% confiable, sin embargo, es un paso que puedes tomar por tu cuenta antes de buscar ayuda de un Investigador Forense de PCI (PFI por sus siglas en inglés).

Para mantener el cumplimiento PCI incluso en el evento de una brecha de seguridad, debes seguir estos requerimientos, específicamente El requerimiento 12.10 del PCI DSS: Implementar un Plan de Respuesta a Incidentes. Parte de este requerimiento envuelve preservar la evidencia Por favor, toma en cuenta que esto no es ninguna consejería legal.

Realiza inmediatamente una copia de respaldo de tu sitio web hackeado, incluyendo:

  • Archivos de registro del servidor
  • El sistema de archivos de tu sitio web
  • La base de datos de tu sitio web
  • Archivos personalizados y de configuración

Cumplimiento PCI

pci compliance data security screenshot

Nota

Si procesas los pagos a través de una pasarela de pagos de terceros, API, o formulario de pago (alojado por un procesador de pagos externo), entonces los datos de pago de tus clientes están seguros contra malware de robo de tarjetas de crédito dentro de tu instalación.

Paso 2
Elimina el Hack

Ahora que ya tienes la ubicación del malware, puedes empezar a eliminarlo de tu sitio web y así restaurarlo a un estado limpio.

Pro Tip:

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 comprar 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 pueden eliminar el malware de tu sitio web de manera completa.

2.1 - Limpia los Archivos Hackeados

Los archivos pueden ser reemplazados con copias frescas o respaldos recientes (si no están infectados).

Puedes utilizar las cargas maliciosas o archivos sospechosos que encontraste en el primer paso para eliminar el hack.

Para eliminar la infección de malware de los archivos de tu sitio web de manera manual:

  1. Inicia sesión en tu servidor a través de SFTP o SSH.
  2. Crea una copia de seguridad de tu sitio web antes de realizar cambios.
  3. Identifica archivos que se han modificado recientemente.
  4. Confirma la fecha de los cambios con el usuario que los realizó.
  5. Restaura los archivos sospechosos.
  6. Abre cualquier archivo premium o personalizado con un editor de textos.
  7. Elimina cualquier código sospechoso de los archivos personalizados.
  8. Verifica que tu sitio web está operacional después de realizar los cambios.

Precaución

Eliminar código “malicioso” de los archivos de tu sitio web puede ser algo muy dañino para la salud de tu sitio. Nunca realices ninguna acción sin contar con una copia de seguridad. Si no estás seguro, por favor, busca la asistencia de un 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, utiliza el panel de administración de tu base de datos para conectarte a ella. 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.

Los principiantes pueden utilizar la información de las cargas maliciosas obtenidas desde el escáner de malware. Los usuarios intermedios pueden buscar manualmente funciones PHP que son comúnmente utilizadas con fines maliciosos, por ejemplo, eval, base64_decode, gzinflate, preg_replace, str_replace, etc.

Ejemplo de Escaneo de la Base de Datos

Sucuri database scan example field revision screenshot

Precaución

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.

2.3 - Asegura las Cuentas de los Usuarios

Si observas usuarios desconocidos, elimínalos para que los hackers pierdan el acceso a tu sitio. Te recomendamos asignar solamente un usuario administrador y crear los demás usuarios con la menor cantidad de privilegios posibles (p. ej, contribuidor, autor, editor, etc).

2.4 - 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 hackeados.

Generalmente, las puertas traseras incluyen las siguientes funciones PHP:

  • base64
  • str_rot13
  • gzuncompress
  • eval
  • exec
  • system
  • assert
  • stripslashes
  • preg_replace (with /e/)
  • move_uploaded_file

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.

La mayoría del código malicioso que vemos utiliza alguna forma de codificación para evitar la detección.

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.

2.5 - Elimina las Advertencias de Malware

Si tu sitio web fue colocado en una lista negra por Google, McAfee, Yandex (o cualquier otra autoridad en spam web), puedes solicitar una revisión luego de que el hack haya sido eliminado.

Para eliminar las advertencias de malware de tu sitio web:

  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.

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 fuera infectado con malware. También vas a realizar pasos esenciales para mejorar la seguridad de tu sitio.

3.1 - Actualiza y Restablece los Ajustes de Configuración

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 Software de tu Sitio Web

Actualiza todo el software en tu servidor (i.e., Apache, cPanel, PHP) para asegurarte de que no hayan parches de seguridad faltantes.

Precaución

  • Recomendamos remover y reemplazar los archivos núcleo de manera manual.

Restablecer contraseñas

Es crítico que cambies las contraseñas de todos los puntos de acceso. Esto incluye las cuentas de usuarios, FTP/SFTP, SSH, cPanel y tu base de datos.

También debes reducir el número de cuentas administradoras para todos tus sistemas. Práctica el principio de mínimo privilegio. Solamente concede a las personas el acceso que necesitan para hacer el trabajo que necesitan.

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!

Es recomendable volver a instalar todos los plugins y extensiones después de un hack, esto es para garantizar que sean funcionales y libres de malware. Si tienes plugins desactivados, te recomendamos que los elimines de tu servidor web.

Nota

Los plugins y extensiones premium tendrán que ser reinstaladas manualmente.

3.2 - Endurece tu Sitio Web

Endurecer un servidor o una aplicación significa tomar pasos para reducir la superficie de ataque o los puntos de entrada de un atacante.

Hay un sin número de maneras de endurecer tu sitio web. Si quieres investigar métodos de endurecimiento, mira la sección Firewall para Aplicaciones Web a continuación para conocer cómo ofrecemos parcheo y endurecimiento virtual.

3.3 - Crea Copias de Seguridad

Las copias de seguridad funcionan como una red de seguridad. Ahora que tu sitio web 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 tus copias de seguridad 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.4 - Escanea tu Computadora

Haz que todos los usuarios de tu sitio web corran un programa antivirus confiable en sus sistemas operativos.

Un sitio web 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 su sistema para evitar conflictos
  • Si tu computadora no está limpia, tu sitio web se puede ver reinfectado fácilmente.

3.5 - Website Firewall

El número de vulnerabilidades explotadas por los atacantes crece cada día. Tratar de estar al día es todo un reto para los administradores. Los Firewalls para Aplicaciones web fueron inventados para proveer un sistema de defensa perimetral 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