wordpress hackeado
Reaccionar rápido: contener el incidente antes de limpiar
Cuando sospechas de una intrusión, el objetivo no es primero borrar archivos al azar, sino limitar los daños: impedir que el atacante siga conectado, reducir la propagación (spam, redirecciones, malware) y preservar pruebas mínimas para comprender la vulnerabilidad. Empieza por poner el sitio en modo mantenimiento (o, en su defecto, restringir el acceso mediante una contraseña de servidor/HTTP Auth) para evitar que los visitantes estén expuestos a contenidos maliciosos y que Google detecte páginas infectadas.
Luego, cambia inmediatamente las contraseñas críticas: cuentas administradoras de WordPress, FTP/SFTP, base de datos, proveedor de alojamiento, e-mails vinculados al dominio. Hazlo desde un equipo limpio (no el ordenador potencialmente infectado) y prioriza contraseñas únicas y largas. Si utilizas claves de API (servicios de e-mailing, pasarela de pago, CDN), regénéralas también: un sitio comprometido puede exfiltrar tokens y usarlos más tarde, incluso después de una limpieza.
Antes de cualquier modificación importante, realiza una copia de seguridad completa en frío : archivos + base de datos, tal y como está en el momento del incidente. Puede ser útil para analizar el ataque, encontrar el punto de entrada o demostrar qué se ha modificado. Conserva este archivo fuera del servidor (almacenamiento local cifrado o espacio cloud seguro).

Diagnosticar: identificar los síntomas y delimitar el ataque
Un sitio comprometido no siempre se manifiesta con una página de inicio desfigurada. Los síntomas habituales son más discretos: redirecciones a sitios dudosos, pop-ups, páginas de spam inyectadas, creación de usuarios administradores desconocidos, aumento brusco de los recursos del servidor, envío masivo de e-mails o avisos en Google Search Console. En el back-office, revisa la lista de cuentas (administradores en particular), los plugins/temas instalados recientemente y los cambios de ajustes (URL del sitio, e-mail de admin, claves de pago).
En el servidor, inspecciona las fechas de modificación de los archivos, la presencia de archivos PHP anómalos en uploads (donde no debería haber código ejecutable), y las tareas programadas sospechosas. En WordPress, vigila los eventos recurrentes (WP-Cron) que relanzan la infección tras la eliminación: algunos malwares se reinstalan mediante una tarea programada, una puerta trasera o un plugin nulled .
Si buscas una check-list detallada orientada a la reparación, puedes comparar tus observaciones con esta guía externa: reparar un sitio hackeado: etapas y buenas prácticas. La idea es confirmar el alcance: solo WordPress, o bien todo el alojamiento (otros sitios en la misma cuenta), o incluso la mensajería del dominio.
Asegurar el acceso: cuentas, sesiones y permisos
Antes de borrar nada, bloquea el acceso. Cierra todas las sesiones activas restableciendo las contraseñas de las cuentas admin y cambiando las claves de seguridad de WordPress (AUTH_KEY, SECURE_AUTH_KEY, etc.) en wp-config.php. Esto invalida las cookies y obliga a volver a iniciar sesión.
Después, aplica el principio del mínimo privilegio: elimina las cuentas desconocidas, degrada las cuentas admin innecesarias y limita los accesos FTP/SFTP solo a las personas que los necesitan. En cuanto a los permisos, evita derechos demasiado permisivos (p. ej., 777). En general, 644 para los archivos y 755 para las carpetas son suficientes ; wp-config.php a menudo merece un tratamiento más estricto según el alojamiento.
Más información sobre nuestros servicios de mantenimiento de sitios WordPress
Para reducir el riesgo de ataque por fuerza bruta desde la fase de recuperación, aplica una limitación de conexiones y de intentos. Un tutorial interno puede guiarte paso a paso sin depender de un plugin milagro : implementar una limitación de los intentos de inicio de sesión.
Limpieza de archivos: empezar de nuevo con un núcleo de WordPress limpio
El método más fiable consiste en partir de las fuentes oficiales en lugar de intentar identificar cada archivo malicioso a mano. Descargue una copia limpia de WordPress (misma versión o última versión estable) y luego reemplace por completo las carpetas wp-admin y wp-includes. Conserve solo wp-content (a auditar) y su wp-config.php (a verificar). Esto elimina una gran parte de las inyecciones en el núcleo.
En wp-content, la prudencia es máxima: ahí es donde residen temas, plugins y subidas, y a menudo es ahí donde se esconden las puertas traseras. Elimine todos los plugins que no utilice. Para los que se quedan, reinstálelos desde una fuente oficial (directorio de WordPress o editor reconocido) sobrescribiendo los archivos existentes. Lo mismo para el tema activo: si utiliza un tema premium, vuelva a descargar el archivo original desde su cuenta del editor.
Inspeccione especialmente :
– La carpeta uploads : presencia de .php, .phtml, .phar o de archivos con nombres aleatorios.
– Los archivos modificados recientemente : functions.php, header.php, wp-config.php, .htaccess (o la configuración de Nginx).
– Las cadenas ofuscadas: base64_decode, eval, gzinflate, str_rot13, preg_replace con \/e, líneas largas e ilegibles.
Si quiere contrastar su procedimiento con otro enfoque de desinfección (centrado en alojamiento + WordPress), esta guía externa puede servir como punto de comparación : limpiar y asegurar un sitio infectado.
Limpieza de la base de datos: eliminar el spam, las inyecciones y las puertas traseras
Una limpieza incompleta suele fracasar por culpa de la base de datos. Los piratas inyectan enlaces en los contenidos, scripts en los widgets o cargas útiles en las opciones. Empiece por comprobar la tabla de usuarios: cuentas desconocidas, correos extraños, roles de admin sospechosos. Luego, inspeccione :
– wp_options : valores que contengan JavaScript, iframes, enlaces de spam o datos serializados anómalos.
– Widgets (options theme_mods \/ widget_*) : algunos malware se esconden ahí.

– Artículos/páginas: inyecciones de enlaces ocultos (display:none) o redirecciones condicionales.
Evite los reemplazos globales sin copia de seguridad: una mala consulta puede romper la serialización. Use una herramienta compatible con WordPress (WP-CLI search-replace con precaución) o exporte para analizar. Si su sitio tiene errores de conexión durante la intervención (lo que ocurre cuando se cambian las credenciales de la BD), consulte esta guía interna para corregir correctamente la configuración: corregir el error de conexión a la base de datos.
Verificar los puntos de entrada: plugin vulnerable, tema comprometido, credenciales filtradas
Limpiar sin corregir la falla de origen equivale a achicar sin cerrar el grifo. Tras una compromisión, busque el punto de entrada más probable:
– Plugin obsoleto o abandonado (vulnerabilidad conocida, ausencia de actualizaciones).
– Tema descargado de una fuente no fiable, o nulled (a menudo repleto de backdoors).
– Credenciales FTP/SFTP comprometidas (reutilización de contraseña, equipo infectado).
– Acceso admin de WordPress expuesto (contraseña débil, ausencia de 2FA, fuerza bruta).
– Mala configuración del servidor (permisos demasiado amplios, ejecución de PHP en uploads, etc.).
La cuestión del tema es crítica: algunos temas premium pirateados contienen inyecciones invisibles. Para tomar una decisión duradera (y comprender los riesgos), puede consultar este comparativo interno: elegir entre tema a medida y tema premium.
Endurecer WordPress: actualizaciones, 2FA, reglas del servidor y buenas prácticas de seguridad
Una vez que el sitio esté estabilizado y limpio, endurézcalo. Actualice WordPress, los temas y los plugins, y luego elimine definitivamente lo que no sea indispensable. Active la autenticación de dos factores (2FA) para todas las cuentas de admin y editores. Limite el acceso a /wp-admin (lista blanca de IP si es posible, o como mínimo protección mediante HTTP Auth).
Del lado del servidor, refuerce las reglas:
– Desactivar la ejecución de PHP en wp-content/uploads (regla .htaccess o equivalente en Nginx).
– Forzar HTTPS, HSTS si corresponde.
– Añadir encabezados de seguridad (Content-Security-Policy según el contexto, X-Frame-Options, etc.).
– Implementar un WAF (cortafuegos de aplicaciones) si su tráfico lo justifica.
Piense también en eliminar las superficies innecesarias: XML-RPC si no se utiliza, cuentas inactivas, endpoints expuestos. Por último, active el registro (logs) y supervise: la falta de visibilidad es una ventaja para el atacante.
Controlar la reinfección: escaneos, logs y monitorización
Tras la limpieza, verifique que el sitio no se reinfecte. Los signos de reinfección incluyen: regreso de los archivos eliminados, aparición de nuevos administradores, tareas cron sospechosas o redirecciones que reaparecen. Realice escaneos del lado del servidor y del lado de la aplicación, pero tenga en cuenta que un escaneo no sustituye una revisión manual: algunos malwares están diseñados para eludir las firmas.
Más información sobre nuestros servicios de mantenimiento de sitios WordPress
Analice los logs de acceso (HTTP) y los logs de error: busque solicitudes hacia archivos creados recientemente, llamadas POST anómalas o escaneos de URL típicos de exploits. Identifique la IP, el user-agent, la fecha/hora, y relacione esto con los archivos modificados. Esta fase le ayuda a comprender cómo y a cerrar la puerta.
Para otro enfoque estructurado (incluidas verificaciones y refuerzo), esta guía externa es útil: guía de limpieza y securización tras una intrusión.
Restaurar la confianza: Search Console, lista negra y comunicación
Si Google o un antivirus del navegador ha señalado su sitio, debe abordar el aspecto reputacional. Una vez finalizada la limpieza, solicite una reconsideración en Google Search Console si se ha aplicado una acción de seguridad. Verifique también que las páginas de spam se hayan eliminado y que devuelvan códigos HTTP apropiados (410 si la eliminación es definitiva, 301 si hay un reemplazo legítimo). Controle el sitemap, las URL indexadas y la ausencia de redirecciones ocultas.
Si su sitio recopila datos (formularios, cuentas, pagos), evalúe el impacto del RGPD: según el caso, puede ser necesaria una notificación. Informe a sus usuarios de manera objetiva: qué ocurrió, qué se hizo y qué deben hacer (cambio de contraseña, vigilancia de correos electrónicos, etc.).
En algunos casos, la infección incluye un virus del lado del navegador o scripts que se inyectan condicionalmente. Para comprender los escenarios frecuentes de desinfección y de vuelta a estar en línea, puede leer este relato de experiencia externo: limpieza y desinfección tras una infección.
Prevenir en lugar de sufrir: mantenimiento, pruebas y disciplina de puesta en producción
La mayoría de los compromisos de WordPress explotan vulnerabilidades conocidas en componentes no mantenidos. La prevención se basa en una rutina: actualizaciones controladas, copias de seguridad verificadas, supervisión y control de calidad antes del despliegue. El punto clave es evitar las actualizaciones a ciegas en producción: pruebe primero en un entorno de staging, valide las compatibilidades y luego despliegue.

Para hacer más fiable su proceso, esta guía interna explica cómo evitar que un nuevo plugin se convierta en un riesgo: probar un plugin antes de la instalación en producción.
Por último, no olvide el impacto SEO: un sitio inestable, infectado, lento o redirigido pierde rápidamente visibilidad, a veces de forma duradera. Este recurso interno detalla las consecuencias concretas: los efectos de una falta de mantenimiento en el posicionamiento.
Cuándo recurrir a un profesional: ahorrar tiempo y evitar olvidar una backdoor
Algunas infecciones son simples, otras no: malware polimórfico, acceso al servidor comprometido, reinfección diaria o fuga de datos. Si le falta tiempo, si el sitio es crítico (e-commerce, generación de leads, reservas) o si no está seguro de la causa raíz, una intervención especializada puede evitar días de tanteo. Un proveedor competente debe proponer: identificación del punto de entrada, eliminación de backdoors, endurecimiento y recomendaciones concretas para evitar la reincidencia.
A modo de ejemplo, aquí tiene una página externa que describe una intervención rápida de desinfección: intervención de limpieza de urgencia. Sea cual sea el proveedor, exija una lista clara de las acciones realizadas y de las medidas preventivas implementadas.
Plan de acción resumido (check-list operativa)
1) Poner el sitio en mantenimiento y guardar el estado actual (archivos + BD) fuera del servidor.
2) Cambiar todas las contraseñas (WP, FTP/SFTP, BD, alojamiento, e-mails) y regenerar las claves/tokens.
3) Sustituir el núcleo de WordPress por una versión limpia, reinstalar plugins/temas desde fuentes fiables.
4) Auditar wp-content (uploads, mu-plugins, caché), eliminar cualquier archivo ejecutable sospechoso.
5) Limpiar la base de datos (users, options, contenidos), eliminar inyecciones y cuentas desconocidas.
6) Identificar y corregir la brecha de origen (vulnerabilidad, credenciales, config del servidor).
7) Endurecer: 2FA, limitación de intentos, restricciones de acceso, reglas anti-ejecución en uploads, WAF si es útil.
8) Controlar la reinfección mediante escaneos + logs, luego tratar la reputación (Search Console, indexación).
9) Implementar una rutina de mantenimiento: actualizaciones probadas, copias de seguridad verificadas, monitoring.
Implementar un mantenimiento continuo para evitar la reincidencia
Tras un incidente, la mejor seguridad es la regularidad: actualizaciones planificadas, vigilancia, copias de seguridad probadas y verificaciones de integridad. Si quiere externalizar esta carga y estabilizar su sitio a largo plazo, puede consultar nuestras ofertas de mantenimiento.






