Servicio
Recuperar WordPress hackeado y limpiar malware
Índice
- Diagnóstico urgente y alcance del ataque
- Contención inmediata para frenar daños
- Copias de seguridad y restauración con sentido
- Limpieza de archivos y código malicioso
- Limpieza de base de datos y desinfección de contenido
- Cierre de vulnerabilidades: actualizaciones y parches
- Refuerzo de seguridad: hardening para evitar reinfecciones
- Revisión de SEO, reputación y redirecciones maliciosas
- Monitorización, alertas y plan de mantenimiento
- Preguntas frecuentes
Diagnóstico urgente y alcance del ataque
Recuperar WordPress hackeado empieza por algo muy concreto: entender qué ha pasado, qué partes están afectadas y si el sitio sigue siendo seguro para usuarios y para tu marca. Un hack no siempre “se ve”. A veces el síntoma es una web lenta, un pico de CPU, correos salientes, redirecciones extrañas o advertencias del navegador. Otras veces el problema se detecta porque Google marca el dominio como peligroso, aparecen páginas de spam indexadas o tus clientes te dicen que al entrar les salta una alerta.
El diagnóstico suele cubrir cuatro capas. Primero, el servidor: logs de acceso, errores, procesos y consumo de recursos. Segundo, WordPress: integridad de core, temas y plugins; usuarios administradores inesperados; cambios recientes y fechas de modificación de archivos. Tercero, la base de datos: inyecciones en wp_options, contenido alterado, puertas traseras almacenadas como opciones o en widgets. Cuarto, la salida hacia el exterior: correo, redirecciones, enlaces insertados y peticiones a dominios sospechosos.
Qué ocurre en la práctica
Lo más habitual es que el cliente llegue con un único síntoma y el alcance sea mayor. Por ejemplo, “solo me sale una redirección a una web rara” y al revisar aparece un admin nuevo, un plugin nulled y varios archivos recientes en wp-includes. Por eso se prioriza identificar el vector de entrada: credenciales filtradas, plugin vulnerable, FTP inseguro o malware persistente.
- Comprobación de usuarios con permisos elevados y cambios recientes.
- Revisión de integridad del núcleo de WordPress y archivos críticos.
- Búsqueda de patrones típicos: eval, base64, gzinflate, cargas remotas y cron sospechoso.
- Validación de dominios externos en scripts, iframes y redirecciones.
Un diagnóstico bien hecho evita el error más caro: limpiar “lo visible” y dejar el origen intacto. Si no se identifica el punto de entrada, la reinfección es cuestión de horas o días.
Contención inmediata para frenar daños
Antes de limpiar, hay que contener. La contención reduce el daño reputacional, evita que el malware siga propagándose y protege a tus usuarios. Dependiendo del caso, puede implicar activar un modo mantenimiento, bloquear accesos a administración, deshabilitar temporalmente el envío de correo saliente o incluso aislar el sitio en el hosting.
El objetivo es doble. Por un lado, que no se sigan ejecutando scripts maliciosos, minería, envío de spam o redirecciones. Por otro, preservar evidencias mínimas para poder entender el origen. Muchas limpiezas se complican porque se borran logs o se sobrescriben archivos sin haber documentado qué se encontró.
Qué ocurre en la práctica
En tiendas WooCommerce, una contención rápida puede ser clave para proteger pedidos y datos de cliente. En webs corporativas, suele preocupar más el aviso de “sitio engañoso” y el impacto SEO. En ambos casos, una medida prudente es limitar el acceso a /wp-admin y /wp-login.php mientras se trabaja.
Medidas típicas de contención
- Cambiar de inmediato contraseñas de WordPress, hosting, FTP, base de datos y correo asociado.
- Forzar cierre de sesiones y regenerar claves de seguridad (salts).
- Desactivar temporalmente plugins no esenciales, especialmente si hay sospecha de vulnerabilidad.
- Bloquear peticiones a endpoints anómalos y aplicar rate limit a login.
- Revisar tareas programadas (WP Cron) y crons del servidor por ejecuciones extrañas.
Contener no es “apagar por apagar”. Se hace con criterio para no destruir información útil y para mantener una ruta clara hacia la recuperación segura.
Copias de seguridad y restauración con sentido
Cuando un WordPress está hackeado, la tentación es restaurar una copia y dar el caso por cerrado. A veces funciona, pero no siempre. La clave es que la copia sea anterior a la infección y que después se cierre el punto de entrada. Si restauras una copia “infectada”, el problema vuelve. Si restauras una copia limpia pero dejas la vulnerabilidad, el ataque se repite.
Un plan prudente incluye dos copias. La primera, una copia forense del estado actual para poder comparar cambios y recuperar contenido si hiciera falta. La segunda, una copia verificada y limpia para restauración. Se respaldan archivos y base de datos por separado, y se documenta fecha, tamaño y estructura para detectar anomalías (por ejemplo, cientos de archivos nuevos en una carpeta que antes no existía).
Qué ocurre en la práctica
Muchas empresas creen tener copias, pero son incompletas o se guardan en el mismo servidor. En incidentes reales es frecuente descubrir que solo hay copia de base de datos, o que la última copia funcional es de meses atrás. Por eso se valida la restauración en un entorno de pruebas antes de tocar producción.
Checklist mínimo antes de restaurar
- Confirmar la fecha probable de infección y buscar una copia anterior.
- Probar la copia en un staging o subdominio privado.
- Actualizar WordPress, tema y plugins tras restaurar, no antes si la copia es antigua.
- Revisar usuarios, claves, salts y permisos de archivos al finalizar.
- Verificar que no haya redirecciones, scripts extraños ni tareas cron anómalas.
Restaurar es una herramienta, no una solución por sí sola. La limpieza y el refuerzo posterior son los que marcan la diferencia entre “salir del paso” y recuperar el control.
Limpieza de archivos y código malicioso
La limpieza de archivos consiste en eliminar o reparar cualquier elemento alterado: puertas traseras, shells, scripts ofuscados y modificaciones en el core. En WordPress, una buena práctica es reemplazar por completo el núcleo con una versión oficial y limpia, conservando únicamente wp-config.php y la carpeta wp-content tras revisión. Esto reduce el riesgo de dejar código malicioso escondido en directorios del core.
En wp-content suele estar el problema: plugins vulnerables, temas desactualizados, archivos subidos que no deberían ejecutarse y ficheros con nombres que imitan a los legítimos. Se revisan fechas de modificación, tamaño, extensiones dobles y permisos. También se busca código que carga recursos externos o crea usuarios administradores en segundo plano.
Qué ocurre en la práctica
Un patrón muy repetido es encontrar un archivo aparentemente inocente en /uploads o dentro de un plugin, que se ejecuta mediante una petición concreta y vuelve a descargar el malware incluso después de “pasar un antivirus”. Por eso se combina análisis automático con revisión manual dirigida a rutas habituales.
Acciones de limpieza recomendadas
- Reinstalar el núcleo de WordPress desde fuente oficial y verificar versiones.
- Eliminar plugins y temas no usados, especialmente los descargados fuera del repositorio oficial.
- Revisar wp-config.php, .htaccess y archivos de inicio por redirecciones o includes remotos.
- Limpiar archivos PHP en uploads y bloquear su ejecución cuando sea posible.
- Comprobar permisos: evitar 777, asegurar propietario correcto y minimizar escritura.
Una limpieza correcta busca dos resultados: que el malware desaparezca y que no quede persistencia. Si queda persistencia, el atacante no necesita “volver a entrar”, ya está dentro.
Limpieza de base de datos y desinfección de contenido
Aunque se limpien los archivos, la base de datos puede mantener la infección viva. En WordPress, muchos ataques inyectan scripts en opciones, widgets, shortcodes, entradas, plantillas de email o incluso en productos. Es típico ver JavaScript oculto que carga desde dominios externos, enlaces de spam insertados al final de contenidos o redirecciones condicionadas por idioma, dispositivo o referer.
El enfoque profesional es buscar por patrones y por ubicaciones frecuentes. Se revisan tablas de opciones y meta, se analiza contenido con cadenas sospechosas y se contrasta con copias anteriores cuando existen. Además, se valida que no haya usuarios administradores ocultos o creados con correo extraño, y se revisa el comportamiento del sitio tras limpiar para confirmar que no se regeneran datos.
Qué ocurre en la práctica
En webs con muchos contenidos, el malware se esconde donde menos se mira: un widget, un campo personalizado, la descripción de un producto antiguo o un registro de opciones serializadas. Es común que el sitio parezca limpio, pero Google siga detectando spam porque quedan enlaces inyectados en posts que no visitas a diario.
Puntos a revisar en base de datos
- Opciones y transients con código HTML o JavaScript inesperado.
- Widgets, menús y bloques con iframes o enlaces no autorizados.
- Usuarios con rol administrador y cambios recientes en roles existentes.
- Contenido con redirecciones, scripts ofuscados o enlaces a dominios de baja reputación.
- Configuración de sitio: URL, home, correo de admin, integraciones y tokens.
La desinfección debe ser precisa: borrar sin criterio puede romper el sitio. Por eso se trabaja con copia, se aplican cambios por lotes controlados y se valida sección por sección.
Cierre de vulnerabilidades: actualizaciones y parches
Recuperar WordPress hackeado no termina al eliminar el malware. La causa raíz suele ser una vulnerabilidad explotable: plugin desactualizado, tema abandonado, credenciales débiles o configuración insegura. Si no se corrige, la reinfección es probable. Por eso, tras limpiar, se revisa el inventario completo de plugins y temas y se decide qué se actualiza, qué se sustituye y qué se elimina.
Las actualizaciones deben hacerse con método. Se priorizan parches de seguridad críticos, se prueban cambios en staging si el sitio es complejo, y se validan funcionalidades clave: formularios, checkout, reservas, integraciones y cachés. También se revisa la versión de PHP y la configuración del hosting. Un servidor con componentes obsoletos puede ser el verdadero origen del problema, incluso si WordPress está al día.
Qué ocurre en la práctica
Es frecuente encontrar un plugin “imprescindible” que lleva años sin actualizarse. En estos casos, la recuperación real pasa por reemplazarlo por una alternativa mantenida o por una solución a medida. Mantener un plugin vulnerable por miedo a cambiarlo suele ser la causa de incidentes repetidos.
Plan de actualización seguro
- Eliminar extensiones y temas inactivos o desconocidos.
- Actualizar WordPress core a la última versión estable.
- Actualizar plugins y tema activo, revisando compatibilidades.
- Revisar PHP, extensiones y configuración del servidor con criterio de seguridad.
- Confirmar que no se generan errores, avisos o comportamientos anómalos.
Un parcheo serio convierte la limpieza en una solución duradera. Sin parcheo, la limpieza es solo una pausa.
Refuerzo de seguridad: hardening para evitar reinfecciones
El hardening es el conjunto de medidas que hace tu WordPress más difícil de atacar, incluso si alguien vuelve a intentarlo. No existe seguridad perfecta, pero sí existe un salto enorme entre una instalación “por defecto” y un sitio con controles básicos bien aplicados. Aquí se trabaja en autenticación, permisos, superficie expuesta y controles de ejecución.
En autenticación, se refuerza el acceso al panel con doble factor, políticas de contraseñas y limitación de intentos. En permisos, se ajusta el propietario de archivos, se evita escritura donde no es necesaria y se minimiza el acceso a rutas críticas. En superficie expuesta, se deshabilitan funciones innecesarias, se limita XML RPC si no se usa y se protege el login. Y en controles, se incorpora firewall, reglas de WAF y monitorización de cambios.
Qué ocurre en la práctica
Después de un hack, el mayor riesgo es la confianza falsa: “ya lo limpiamos, listo”. La realidad es que el atacante vuelve si la entrada sigue abierta. Un hardening bien aplicado reduce reinfecciones y también reduce falsos positivos de seguridad, porque tu sitio queda más consistente y predecible.
Medidas de hardening recomendadas
- Activar 2FA para administradores y editores, y limitar intentos de login.
- Restringir acceso a wp-admin por IP o mediante autenticación adicional cuando aplique.
- Bloquear ejecución de PHP en /uploads si tu configuración lo permite.
- Deshabilitar edición de archivos desde el panel y proteger endpoints sensibles.
- Configurar firewall de aplicación (WAF) y reglas anti bots.
El hardening se adapta a tu caso. No es lo mismo un blog personal que una tienda o una web con áreas privadas. Lo importante es que las medidas sean compatibles con tu operación diaria.
Revisión de SEO, reputación y redirecciones maliciosas
Un WordPress hackeado no solo es un problema técnico, también es un problema de confianza. Aunque la web vuelva a verse bien, puede quedar daño SEO: páginas de spam indexadas, redirecciones condicionadas o contenido oculto. Además, navegadores y buscadores pueden mantener avisos durante un tiempo si detectaron malware. Por eso, parte de la recuperación incluye revisar el impacto externo.
Se comprueba si hay URLs nuevas que no reconoces, títulos raros en resultados, enlaces salientes no autorizados y sitemaps alterados. También se revisa el archivo robots, reglas en .htaccess y cualquier script que cargue desde dominios externos. Un síntoma típico es la redirección solo en móvil, o solo desde ciertos países, lo que hace que el dueño “no lo vea” y piense que ya está solucionado.
Qué ocurre en la práctica
Cuando el cliente dice “solo me bajó el tráfico”, muchas veces hay spam SEO: cientos de URLs generadas con términos de farmacia, apuestas o criptos. Limpiar el sitio es necesario, pero después toca limpiar el rastro: desindexar lo que no corresponde y asegurar que Google pueda rastrear la versión correcta.
Acciones típicas tras la limpieza
- Identificar URLs inyectadas y eliminarlas o devolver estado correcto.
- Revisar redirecciones y scripts que se activan por condición.
- Actualizar sitemaps y solicitar recrawl cuando aplique.
- Revisar enlaces salientes y limpiar inserciones ocultas en contenido.
- Comprobar si hay listas negras y seguir procesos de revisión del navegador o buscador.
El objetivo es recuperar la confianza y el posicionamiento progresivamente. La rapidez depende del caso, pero la mejora es clara cuando el sitio vuelve a ser íntegro y estable.
Monitorización, alertas y plan de mantenimiento
Tras recuperar WordPress hackeado, lo inteligente es preparar el “día después”. La monitorización detecta señales tempranas y evita que un problema pequeño se convierta en un incidente serio. Un buen plan combina alertas de cambios en archivos, actividad de usuarios, integridad de core, picos de recursos, intentos de login y tráfico anómalo.
La frecuencia de mantenimiento depende del tipo de sitio. En una tienda o un negocio que capta leads, el mantenimiento mensual mínimo suele quedarse corto si hay mucha actividad. En entornos con campañas, temporadas o cambios constantes, conviene un enfoque quincenal o continuo. Además, la seguridad no es solo WordPress: también es el hosting, el correo, el DNS y el acceso de colaboradores.
Qué ocurre en la práctica
La mayoría de reinfecciones se podrían haber evitado con dos cosas: actualizaciones planificadas y alertas. Si el sistema te avisa de un usuario administrador nuevo o de un archivo PHP apareciendo en uploads, puedes actuar antes de que haya redirecciones, spam o avisos públicos.
Plan de mantenimiento recomendado
- Actualizaciones controladas de core, plugins y temas con copia previa.
- Revisión de usuarios, roles y accesos de colaboradores.
- Escaneo de integridad y revisión de logs de acceso.
- Comprobación de copias automáticas y restauración de prueba periódica.
- Revisión de rendimiento y de consumo del servidor para detectar actividad anómala.
Si tu web es una pieza central del negocio, el mantenimiento no es un coste accesorio: es un seguro operativo. La meta es simple: estabilidad, seguridad y capacidad de reacción.
Preguntas frecuentes
¿Cómo sé si mi WordPress está hackeado aunque “se vea bien”?
Los hacks modernos suelen ser silenciosos. Señales típicas son redirecciones solo en móvil, páginas de spam indexadas, usuarios administradores nuevos, envío de correos masivos, picos de CPU o scripts que cargan desde dominios externos. Si hay sospecha, conviene revisar logs, integridad de archivos y base de datos, no solo la apariencia.
¿Basta con restaurar una copia de seguridad?
Puede bastar si la copia es anterior a la infección y si después se corrige la vulnerabilidad que permitió el acceso. Si la copia ya estaba infectada o si el plugin vulnerable sigue activo, la reinfección es probable. Lo profesional es combinar restauración, limpieza y hardening.
¿Qué pasa con el SEO si hubo spam o redirecciones?
Tras limpiar, se revisan URLs inyectadas, enlaces ocultos y reglas de redirección. En muchos casos es necesario solicitar recrawl y corregir sitemaps. La recuperación de tráfico puede tardar, pero mejora cuando el sitio vuelve a ser íntegro y estable y cuando se elimina el contenido fraudulento.
¿El malware puede volver aunque ya lo haya “quitado un plugin de seguridad”?
Sí. Algunos plugins detectan parte del problema, pero si queda una puerta trasera o no se corrige la causa, el atacante puede reinyectar código. La limpieza eficaz incluye revisión de archivos, base de datos, tareas programadas, permisos, credenciales y configuración del servidor.
¿Qué medidas son las más efectivas para evitar reinfecciones?
Las medidas con mejor impacto suelen ser: actualizar y eliminar software no mantenido, activar 2FA, limitar accesos a administración, bloquear ejecución de PHP en uploads cuando sea posible, usar firewall, tener copias externas verificadas y mantener un plan de revisión periódica con alertas.
Qué ocurre en la práctica
Tras un hack, la prioridad suele ser “volver a estar online”, pero el mejor resultado llega cuando se hace también la parte menos visible: cerrar la entrada, reforzar accesos y dejar monitorización. Es lo que evita que el incidente se repita y que el problema reaparezca en el peor momento.
¿Necesitas activar este servicio?
Coordinamos el proceso completo con un único interlocutor para mantener la confidencialidad.