Es la pesadilla de cualquier propietario de una web: tu web de WordPress ha sido hackeada. Quizá veas redirecciones extrañas o enlaces de spam en tu contenido, o quizá Google haya marcado tu sitio como no seguro. En este artículo explicamos qué pasos debes seguir para recuperar tu web y evitar futuros hackeos.

Paso 1: Mantén la calma y documéntalo

Es comprensible que te entre el pánico, pero las acciones precipitadas pueden empeorar la situación. Tómate un momento para documentar lo que ves:

  • ¿Qué comportamiento extraño muestra exactamente tu web?
  • ¿Cuándo lo notaste por primera vez?
  • ¿Has cambiado algo recientemente (plugins, tema, contraseñas)?
  • Haz capturas de pantalla de los problemas para analizarlos más adelante.

Paso 2: Deja tu web temporalmente sin conexión

Para evitar más daños y proteger a tus visitantes, conviene dejar tu sitio temporalmente sin conexión. Puedes hacerlo de varias formas:

Desde DirectAdmin

Inicia sesión en DirectAdmin y desactiva tu web temporalmente desde Domain Setup. También puedes mostrar una página de mantenimiento en lugar del contenido hackeado.

Mediante .htaccess

Añade estas líneas a tu archivo .htaccess para bloquear a todos los visitantes (excepto a tu IP):

order deny,allow
deny from all
allow from JOUW.IP.ADRES

Paso 3: Haz una copia de seguridad del estado actual

Antes de empezar a limpiar, haz una copia de seguridad completa de tu web en su estado actual (hackeado). Parece contradictorio, pero esta copia puede ser valiosa para analizar más adelante cómo se produjo el hackeo.

Usa la función de copia de seguridad de DirectAdmin o una herramienta como UpdraftPlus para hacer una copia completa de los archivos y la base de datos.

Paso 4: Busca malware

Hay varias herramientas para analizar tu web en busca de malware y archivos infectados:

Wordfence Security

Es el plugin de seguridad más completo para WordPress. Instala Wordfence y ejecuta un análisis completo. El plugin identifica archivos del núcleo de WordPress modificados, código sospechoso en temas y plugins, y patrones de malware conocidos. Consulta nuestra guía de instalación y configuración de Wordfence.

Sucuri SiteCheck

Sucuri ofrece un escáner online gratis en sitecheck.sucuri.net. Analiza tu web desde fuera en busca de malware conocido, presencia en listas negras y código sospechoso.

Theory7 Patchman

Como cliente de Theory7 te beneficias de Patchman, nuestro escáner automático de malware, que detecta y repara vulnerabilidades conocidas. Más información sobre Patchman y cómo te protege.

Paso 5: Limpia los archivos infectados

Tras el análisis sabrás qué archivos están infectados. Ahora empieza la limpieza:

Sustituir los archivos del núcleo de WordPress

Descarga una copia nueva de WordPress desde wordpress.org y sustituye por completo las carpetas wp-admin y wp-includes. No toques todavía la carpeta wp-content.

Revisar los plugins y los temas

Elimina todos los plugins y temas que no uses activamente. Con los plugins y temas que sí usas:

  • Elimínalos por completo de wp-content
  • Descarga versiones nuevas desde wordpress.org o desde la fuente original
  • Vuelve a instalarlos

Revisar la carpeta uploads

Los hackers suelen colocar archivos PHP en la carpeta uploads. Esta carpeta solo debería contener imágenes y documentos. Busca archivos .php:

find wp-content/uploads -name "*.php"

Elimina todos los archivos PHP que encuentres.

Revisar la base de datos

Algunos hackeos añaden código malicioso a la base de datos, sobre todo en las entradas y las opciones. Revisa la tabla wp_options en busca de registros sospechosos y busca en las entradas enlaces de spam o scripts extraños.

Paso 6: Cambia las contraseñas

Cambia todas las contraseñas relacionadas con tu web:

  • Cuentas de administrador de WordPress (¡todos los usuarios!)
  • Contraseña de FTP desde DirectAdmin
  • Contraseña de la base de datos (no olvides actualizar wp-config.php)
  • Contraseña de DirectAdmin
  • Contraseña de MyTheory7

Usa contraseñas fuertes y únicas de al menos 16 caracteres, con mayúsculas, minúsculas, números y caracteres especiales.

Paso 7: Toma medidas de seguridad

Ahora que tu web está limpia, evita un nuevo hackeo con estas medidas:

Actualizarlo todo

Actualiza WordPress, todos los plugins y tu tema a las versiones más recientes. El software desactualizado es la principal causa de los hackeos.

Instalar un plugin de seguridad

Instala Wordfence y configura el cortafuegos. Activa la protección contra ataques de fuerza bruta y configura la autenticación de dos factores en todas las cuentas de administrador.

Renovar las claves de seguridad

Genera nuevas claves de seguridad (security keys) de WordPress mediante la API de WordPress y sustitúyelas en wp-config.php. Esto cierra todas las sesiones actuales.

Comprobar los permisos de archivos

Asegúrate de que los permisos de tus archivos estén bien configurados:

  • Carpetas: 755
  • Archivos: 644
  • wp-config.php: 600

Paso 8: Revisa Google Search Console

Si Google ha marcado tu sitio como hackeado, después de limpiarlo debes solicitar una revisión en Google Search Console. Inicia sesión, ve a Problemas de seguridad y haz clic en "Solicitar revisión" cuando hayas resuelto todos los problemas.

Prevención para el futuro

Más vale prevenir que curar. Toma estas medidas para evitar futuros hackeos:

  • Haz copias de seguridad con regularidad con UpdraftPlus o Solid Backups
  • Mantén siempre actualizados WordPress, los plugins y los temas
  • Usa contraseñas fuertes y autenticación de dos factores
  • Elimina los plugins y temas que no uses
  • Instala solo plugins y temas de fuentes fiables
  • Limita el número de cuentas de administrador

En Theory7 nos tomamos la seguridad en serio. Nuestros servidores ejecutan análisis automáticos de malware con Patchman, y nuestro equipo de soporte está preparado para ayudarte con los incidentes de seguridad. Ponte en contacto con nosotros (por chat, ticket o correo, en español; por teléfono, en neerlandés e inglés) si necesitas ayuda para recuperar tu web hackeada.