WordPress

Mi web de WordPress fue hackeada: qué hacer paso a paso

Cómo confirmar que tu web está comprometida, limpiarla sin perder el contenido, sacarla de la lista negra de Google y cerrar la puerta por la que entraron.

Daniel Figueroa

Daniel Figueroa

6 min de lectura Actualizado el

Compartir
Ilustración editorial sobre cómo recuperar una web de WordPress hackeada

Respuesta corta: antes de tocar nada, haz una copia del estado actual, aunque esté infectado. Después cambia todas las contraseñas, actualiza el núcleo y los plugins, reemplaza los archivos de WordPress por copias limpias y busca en la base de datos los usuarios administradores que tú no creaste. Y no restaures la última copia de seguridad sin más: casi siempre ya estaba infectada.

La mayoría de los sitios comprometidos que me llegan no fueron atacados por alguien que los tenía en la mira. Son ataques automáticos, a gran escala, que encontraron un plugin sin actualizar desde hace dos años. Eso también significa que la solución es metódica, no heroica.

¿Cómo sé si está hackeada de verdad?

Estas son las señales habituales, de la más evidente a la más silenciosa:

  • Google muestra un aviso rojo antes de entrar, o tu hosting suspende la cuenta.
  • La web redirige a otro sitio, pero solo desde el móvil o solo desde el buscador, no cuando entras escribiendo el dominio.
  • En los resultados de Google aparecen páginas tuyas con texto de farmacia, apuestas o productos falsificados.
  • Hay usuarios administradores que nadie de tu equipo creó.
  • Aparecen archivos nuevos con nombres raros en la carpeta de subidas, donde solo debería haber imágenes.
  • El correo del dominio empieza a rebotar porque tu servidor está enviando spam.

Una web lenta de repente no es, por sí sola, señal de ataque. Suele ser otra cosa, y de eso hablo en otro artículo.

Paso 1: no borres nada todavía

El primer impulso es limpiar a lo bruto. Es un error. Haz una copia completa del estado actual, archivos y base de datos, aunque esté infectada. La vas a necesitar por dos motivos: para saber qué cambió y por dónde entraron, y por si al limpiar te llevas algo por delante.

Si el hosting suspendió la cuenta, pídeles esa copia antes que nada.

Paso 2: cierra el acceso

Mientras la puerta siga abierta, cualquier limpieza es inútil. En este orden:

  • Cambia la contraseña de todos los usuarios administradores, y la del panel del hosting.
  • Cambia la contraseña de la base de datos y actualízala en el archivo de configuración.
  • Cambia las claves de seguridad de WordPress, las que están en el mismo archivo de configuración. Eso cierra todas las sesiones abiertas, incluida la del atacante.
  • Revisa la lista de usuarios y borra los que no reconozcas. Fíjate también en las fechas de registro.
  • Revisa las claves SSH y FTP del hosting.

Paso 3: limpia los archivos

El núcleo de WordPress, los temas y los plugins son código público. Eso juega a tu favor: se pueden reemplazar por versiones limpias descargadas del sitio oficial, sin miedo, porque no contienen nada tuyo.

Lo que sí es tuyo y hay que revisar a mano son tres cosas: el archivo de configuración, la carpeta de subidas y cualquier personalización que te hayan hecho en el tema.

En la carpeta de subidas la regla es simple: ahí solo debería haber imágenes y documentos. Cualquier archivo con extensión de código no tiene por qué estar, y es el escondite favorito de las puertas traseras.

Paso 4: limpia la base de datos

Aquí es donde suele quedarse lo que no se ve. Busca contenido con enlaces o código que tú no pusiste, revisa los usuarios administradores otra vez y mira las tareas programadas: muchos ataques dejan una tarea que vuelve a infectar el sitio días después.

Ese detalle explica la frustración típica de «lo limpié y volvió a la semana». No volvieron a entrar: nunca se fueron del todo.

Paso 5: ¿restauro una copia de seguridad?

Solo si sabes con certeza de qué fecha es y que esa fecha es anterior a la infección. Y esa certeza casi nunca existe, porque entre que entran y se nota suelen pasar semanas.

Si restauras una copia infectada, vuelves al punto de partida creyendo que resolviste. Cuando tengas dudas, es más seguro limpiar el sitio actual que restaurar a ciegas.

Paso 6: sal de la lista negra de Google

Si Google marcó el sitio, entra a Search Console y busca la sección de seguridad y acciones manuales. Ahí verás qué detectó y las URLs de ejemplo. Cuando esté limpio, solicitas la revisión desde esa misma pantalla.

La revisión suele tardar unos días. Si la pides antes de haber limpiado del todo, te la rechazan y pierdes tiempo.

¿Cómo evito que vuelva a pasar?

Casi todo se reduce a cinco hábitos, y ninguno es caro:

  • Actualizar. Núcleo, plugins y tema. Es el 90 por ciento del problema.
  • Quitar lo que no usas. Un plugin desactivado sigue siendo código en tu servidor y se puede explotar igual.
  • Autenticación en dos pasos para todos los administradores, y no repartir ese rol a quien solo necesita publicar.
  • Copias automáticas y probadas. Una copia que nadie ha restaurado nunca no es una copia: es una suposición.
  • Un hosting decente. En los planes compartidos más baratos, un vecino infectado puede alcanzarte.

¿Cuándo conviene pedir ayuda?

Si la web factura, si el hosting ya la suspendió, o si después de limpiarla vuelve a infectarse, no sigas por tu cuenta. Cada día que pasa con un aviso de Google delante es tráfico y confianza que no vuelven solos.

Trabajo la limpieza en tres fases: contención y copia forense, limpieza de archivos y base de datos, y endurecimiento con plan de mantenimiento para que no se repita. Si me escribes, lo primero que necesito es el acceso al panel del hosting y saber desde cuándo notas algo raro.

Sigue leyendo

Daniel Figueroa

Daniel Figueroa

Desarrollador web y diseñador UX/UI. Diseño y construyo sitios corporativos, ecommerce y plataformas internas para empresas que necesitan vender más y operar mejor. Más de 200 proyectos entregados en 8 países, desde Lima.

Conversemos