Cómo Limpiar WordPress Hackeado

Pasos para eliminar malware, spam y otros hacks de WordPress

Última actualización el 22 de Marzo de 2018

Sucuri se ha dedicado por muchos años a ayudar a propietarios de sitios web WordPress a identificar y limpiar sitios web hackeados. Elaboramos esta guía con el objetivo de permitirle a los propietarios de sitios web WordPress a 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. Sucuri tiene un plugin para WordPress gratuito que puedes encontrar en el repositorio oficial de WordPress.

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

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?

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

Necesito Ayuda

1.2 - Verifica la Integridad de los Archivos Núcleo

La mayoría de los archivos núcleo de WordPress no deberían ser modificados. Necesitas verificar la integridad de los archivos en wp-admin, wp-includes y carpetas root.

La manera más rápida para confirmar la integridad de los archivos núcleo de WordPress 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 Modificados Recientemente

Los archivos nuevos o modificados pueden ser parte del hack.

Puedes identificar archivos hackeados identificando archivos modificados recientemente.

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 utilizando SSH, puedes listar 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.

Para verificar los archivos recientemente modificados utilizando comandos de la terminal en Linux:

  1. Escribe 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 WordPress 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.
  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:

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

Si la infección está en los archivos núcleo o plugins, puedes arreglar esto de manera manual, solo asegúrate de no sobrescribir el archivo wp-config.php o la carpeta wp-content.

Los archivos personalizados pueden ser reemplazados con copias frescas o copias de seguridad recientes (si no están infectadas). Aquí hay algunos consejos adicionales que puedes utilizar con WordPress.

Puedes utilizar cualquier carga o archivos maliciosos que encontraste en el primer paso para eliminar el hack.

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

  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 con copias frescas del repositorio oficial de WordPress.
  6. Abre cualquier archivo premium (no en el repositorio oficial) 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

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 notaste usuarios desconocidos en WordPress, eliminalos de modo que los hackers pierdan el acceso. Te recomendamos tener solamente una cuenta administradora y configurar los otros roles de usuario para utilizar el mínimo nivel de privilegios posible (p. ej, contribuidor, autor, editor).

Para eliminar usuarios sospechosos de WordPress de manera manual:

  1. Antes de continuar, crea una copia de seguridad de los archivos y la base de datos de tu sitio.
  2. Inicia sesión en WordPress con una cuenta administradora y haz clic en Usuarios.
  3. Encuentra las cuentas nuevas sospechosas.
  4. Pasa encima de la cuenta de usuario sospechosa y haz clic en Eliminar.

Si crees que algunas de tus cuentas de usuario se vio comprometida, puedes resetear sus contraseñas. Una de las maneras de hacer eso es utilizando el plugin de Sucuri.

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

A menudo, las puertas traseras se encuentran en archivos con nombres similares a los archivos núcleo de WordPress pero ubicados en directorios incorrectos. Los atacantes también pueden inyectar puertas traseras en archivos como wp-config.php y directorios como /themes, /plugins, y /uploads.

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. 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 WordPress.

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

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 WordPress

Para aplicar actualizaciones de forma manual en WordPress:

  1. Inicia sesión en tu servidor a través de SFTP o SSH.
  2. Crea una copia de seguridad de tu sitio y de tu base de datos (especialmente contenido personalizado).
  3. Elimina manualmente los directorios wp-admin y wp-includes.
  4. Reemplaza wp-admin y wp-includes con copias del repositorio oficial de WordPress.
  5. Elimina y reemplaza plugins y temas con copias frescas de fuentes oficiales.
  6. Inicia sesión en WordPress con una cuenta administradora y haz clic en Dashboard > Updates.
  7. Aplica cualquier actualización restante.
  8. Abre tu sitio web para verificar que está operacional.

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 eliminar y reemplazar archivos núcleo en lugar de utilizar la función de Actualización en el dashboard de wp-admin. Esto garantiza que todos los archivos maliciosos agregados a los directorios núcleos son remediados. Puedes eliminar directorios núcleo existentes (wp-admin, wp-includes) y luego agregarlos nuevamente.
  • ¡Asegúrate de no tocar wp-config o wp-content ya que esto rompería tu sitio!

Restablecer contraseñas

Es crítico que cambies las contraseñas de todos los puntos de acceso. Esto incluye las cuentas de usuarios de WordPress, 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 sus trabajos.

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!

Generar Nuevas Llaves Secretas

Una vez que todas las contraseñas son restablecidas, puedes forzar a todos los usuarios a iniciar sesión nuevamente utilizando nuestro plugin. WordPress utiliza cookies para mantener las sesiones activas por dos semanas. Si un atacante tiene una cookie de sesión, tendrán acceso a tu sitio incluso luego de restablecer las contraseñas. Para arreglar esto, te recomendamos cerrar la sesión a tus usuarios activos restableciendo las llaves secretas de WordPress.

Para generar nuevas llaves secretas en el archivo wp-config.php:

  1. Abre el archivo wp-config.php de WordPress.
  2. Inserta un valor de más de 60 caracteres para cada llave y salt.
  3. Puedes utilizar un generador de llaves secretas.
  4. Guarda el archivo wp-config.php.

Es recomendable reinstalar todos los plugins luego de un hack para asegurar que estén funcionales y libres de malware. Si desactivaste tus plugins, te recomendamos eliminarlos de tu servidor web.

  1. Inicia sesión en WordPress como administrador y ve a Sucuri Security > Post-Hack.
  2. Ve a la pestaña Reset Plugin.
  3. Selecciona los plugins que quieres restablecer (te recomendamos seleccionarlos todos).
  4. Haz clic en “Process selected items”.

Nota

Los plugins Premium tendrán que ser reinstalados de forma manual ya que su código no está disponible en el repositorio oficial de WordPress.

3.2 - Endurece WordPress

Endurecer un servidor o una aplicación significa tomar pasos para reducir la superficie de ataque o los puntos de entrada de un atacante. WordPress y sus plugins pueden ser endurecidos contra hacks siguiendo estos pasos.

Para endurecer WordPress, puedes utilizar el plugin Sucuri:

  1. Inicia sesión en WordPress como un administrador y ve a Sucuri Security > Hardening.
  2. Revisa las opciones para entender lo que hacen.
  3. Haz clic en el botón Harden para aplicar las recomendaciones.

Hay muchas maneras de endurecer WordPress, dependiendo de tus necesidades. Te recomendamos revisar el Codex de WordPress para investigar métodos de endurecimiento adicionales. Mira la sección Firewall para Aplicaciones Web a continuación para conocer cómo ofrecemos parcheo y endurecimiento virtual.

Endurecer WordPress

harden wordpress access screenshot

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 WordPress corran un programa antivirus confiable en sus sistemas operativos.

WordPress 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 la computadora de uno de los usuarios con acceso al Dashboard de WordPress no está limpia, tu sitio web se puede ver reinfectado fácilmente.

3.5 - Instala un WAF

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