WordPress hackeado: qué hacer en los primeros 60 minutos
WordPress hackeado: qué hacer en los primeros 60 minutos. Contén el sitio, cambia los accesos, busca el problema y limpia o restaura con calma.
WordPress hackeado: qué hacer en los primeros 60 minutos. Contén el sitio, cambia los accesos, busca el problema y limpia o restaura con calma.
El sitio redirige a una farmacia, hay un administrador que no creaste, o Search Console manda un aviso. En ese momento dan ganas de instalar cinco plugins y borrar carpetas. Eso suele empeorarlo.
Trabaja en orden, durante una hora. No hace falta hacerlo perfecto. Hace falta no romper la única copia útil y no dejar la puerta abierta. Si aún no estás seguro de que sea un hackeo, la auditoría de seguridad y la checklist corta sirven para mirar con calma. Si ya lo tienes claro, quédate en esta página.
El orden es contener, cambiar accesos, encontrar el problema, limpiar o restaurar. El diccionario de respuesta a incidentes resume la idea. Aquí van los minutos.
wp-content. Un archivo que ahora te sobra puede ser la prueba de por dónde entraron, o puede ser el tema de verdad.Si wp-admin no abre, usa el panel del hosting, SFTP o SSH. No hace falta inventar un acceso nuevo antes de tener una copia del estado actual, si el hosting puede sacarla.
Anota la hora en que viste el problema. Esa hora elige qué copia está limpia.
Hazlo cuando ya puedes entrar en el hosting. Si cambias contraseñas y el malware sigue creando administradores, repetirás el paso al final. Aun así, no dejes las contraseñas viejas mientras investigas.
Cambia, una por una, con contraseñas nuevas y distintas:
En Usuarios, cierra las sesiones si WordPress te deja. Después de limpiar, regenera las claves de wp-config.php (las líneas AUTH_KEY, SECURE_AUTH_KEY y las demás del mismo bloque) para que las cookies viejas dejen de servir. Puedes generar un juego nuevo en el generador de claves de WordPress.org. No las cambies antes de poder entrar otra vez: te cerrará la sesión. Si ya anotaste la contraseña nueva, eso es justo lo que quieres.
Activa la autenticación en dos pasos en las cuentas de administrador en cuanto el sitio esté estable. En los primeros minutos, la prioridad es echar las sesiones ajenas.
No borres todavía todo lo que te suene raro. Anota.
| Tipo | Qué hace | Señales habituales |
|---|---|---|
| Puerta trasera / webshell | Mantiene acceso remoto después de que “limpies” | Admins desconocidos, PHP raro en uploads o temas, reinfección en horas |
| Inyección | Código malicioso en temas, plugins, entradas u opciones | Enlaces spam, iframes ocultos, blobs eval o base64 en archivos o en la base de datos |
| Malware de redirección | Manda a los visitantes a otro sitio, a veces solo en móvil o sin sesión | Avisos de Search Console o del navegador, redirecciones condicionales |
| Spam / SEO spam | Inyecta páginas, comentarios o abuso de correo | Contenido que no escribiste, quejas del hosting por spam |
| Cripto o abuso de recursos | Quema CPU para otro | Picos de CPU, timeouts, avisos de recursos del hosting |
Varias señales juntas importan más que una sola: redirecciones o pop-ups, cuentas o plugins que nunca instalaste, bloqueos del acceso, avisos de Google Safe Browsing, o el hosting marcando spam saliente.
Por dónde suele entrar: plugins o temas desactualizados o abandonados, plugins nulled, contraseñas reutilizadas, vecinos infectados en hosting compartido. Cierra esa puerta después de limpiar o vas a repetir el trabajo.
wp-content/mu-plugins/) y drop-ins que no instalastewp-config.php.htaccess en la raíz y en uploads (redirecciones, auto_prepend)functions.php del tema y PHP dentro de uploadsEl escáner de malware (Pro) y el escáner del núcleo ayudan si todavía entras en el escritorio: marcan archivos sospechosos y archivos del núcleo que no coinciden con el original. La versión gratuita cubre las pruebas de seguridad, las vulnerabilidades y la integridad del núcleo. El criterio sigue haciendo falta. Hay falsos positivos. No borres en masa una ruta que no entiendes.
El vídeo de arriba muestra cómo se ve el escaneo en Security Ninja.
Guarda una copia de los archivos sospechosos antes de quitarlos, y pide al hosting los logs de acceso de esa ventana. El registro de eventos sirve si el plugin ya estaba instalado y anotó entradas raras. Si no estaba, no va a inventar el pasado.
wp-content/uploads/ (los uploads casi nunca necesitan PHP ejecutable)wp_options con base64 o URLs remotasMás detalle de malware en el diccionario.
Si sabes cuándo empezó, restaurar archivos y base de datos desde antes de ese momento suele ser más limpio que cazar cada puerta trasera a mano. Una copia de después de la infección es una foto del problema, no una copia sana.
Justo después de restaurar:
Una restauración que todavía contiene el malware, o que deja el mismo plugin vulnerable, solo rebobina la película.
Hace falta acceso a archivos. wp-admin puede mentir.
wp-content/mu-plugins/wp-config.php en busca de eval, includes remotos o un administrador creado en códigowp-config.php ni wp-content al hacerlositeurl o home, usuarios desconocidos, opciones con base64. Exporta la base de datos antes de editarlaVuelve a escanear. Abre el sitio sin sesión, en una ventana privada, y en el móvil. Confirma que el correo ya no envía spam. Solo entonces quitas el mantenimiento.
Si la reinfección llega en horas, asume que sigue ahí una puerta trasera o el mismo plugin vulnerable.
El malware que “vuelve” casi siempre significa que el punto de entrada sigue abierto: un plugin vulnerable, una contraseña reutilizada, un zip nulled o un núcleo viejo.
Hacerlo tú está bien si es una restauración simple y tienes la copia. Contrata la limpieza cuando:
Ofrecemos limpieza de malware y revisión de seguridad a precio fijo.
Cómo escanear WordPress en busca de malware con WP Security Ninja.
Si te ha servido, compártelo.
No. Borrar a ciegas puede llevarse la copia que todavía sirve de prueba, o dejar la puerta trasera y quitar lo que sí era tuyo. Primero contiene el sitio, avisa al hosting y anota qué ves. Luego restauras una copia limpia o quitas solo lo que reconoces como ajeno.
Sí, si todavía entras en el hosting, tienes una copia de antes del problema y el caso es una restauración simple. Pide ayuda si wp-admin no abre, si el malware vuelve a las pocas horas, si hay datos de clientes o si la tienda no puede seguir caída mientras aprendes.
Restaura o limpia, actualiza todo, cambia las contraseñas, vuelve a escanear y mira el sitio sin haber iniciado sesión, también en el móvil. Si a las pocas horas reaparece un administrador raro o una redirección, sigue dentro una puerta trasera o el mismo plugin vulnerable.
Primero termina la limpieza. Luego pide una revisión en Search Console, en Problemas de seguridad. El aviso no desaparece en el momento de pulsar el botón. El posicionamiento tarda más en recuperarse que el propio aviso.