SOLUCIONA ESTO YA
LECTURA CRÍTICA

Web WordPress infectada con malware: cómo actuar y evitar que vuelva

Descubre paso a paso qué hacer cuando tu WordPress tiene malware y por qué limpiar sin investigar deja el problema abierto.

Web WordPress infectada con malware: cómo actuar y evitar que vuelva Una infección de malware en WordPress deja a la empresa sin capacidad de vender, con la reputación dañada y con el riesgo de ser penalizada por los buscadores. En muchas pymes y autónomos el primer impulso es “borrar los archivos infectados y volver a publicar”. Esa solución rápida puede devolver la web a la red, pero el problema suele reaparecer en pocos días, porque la causa raíz nunca se ha tratado. En este artículo explicamos, con ejemplos reales, **qué hacer cuando una web WordPress se infecta**, y por qué una limpieza sin diagnóstico es una solución a medio término. Además, veremos cómo la automatización y un agente de IA pueden ayudar a detectar la causa y a aplicar medidas sostenibles, siempre dentro del marco de un mantenimiento web profesional. --- ## 1. El problema operativo: la web caída por malware ### Caso práctico: la tienda online de “Artesanías del Norte” María es autónoma y gestiona una tienda de productos artesanales a través de WordPress + WooCommerce. Un lunes por la mañana recibe un correo de Google Search Console indicando “Sitio comprometido”. Al entrar en la web, ve que aparecen enlaces a sitios de apuestas y un mensaje de advertencia de Google. La tienda está fuera de línea y los pedidos se detienen. **Síntomas habituales** | Síntoma | Posible origen | |---------|----------------| | Mensaje de “Sitio comprometido” en Google | Malware insertado en archivos PHP | | Redirecciones a dominios desconocidos | Scripts de inyección en plugins o temas | | Pérdida de velocidad (carga > 10 s) | Código malicioso que solicita soporte a servidores externos | | Formularios que envían datos a direcciones extrañas | Backdoors que roban credenciales | María solicita soporte a un técnico y le piden que elimine los archivos infectados. Después de una hora, la web vuelve a cargar, pero al día siguiente vuelve a aparecer la advertencia. El coste de la interrupción y la pérdida de confianza son mucho mayores que una solución bien estructurada. --- ## 2. Por qué la limpieza sin revisar la causa deja el problema abierto ### 2.1. Falta de análisis de la superficie de ataque WordPress es un CMS muy extendido, lo que lo convierte en objetivo frecuente. Las vías de entrada más comunes son: * **Plugins y temas desactualizados** – Cada actualización incluye parches de seguridad; una versión antigua puede contener vulnerabilidades conocidas. * **Credenciales débiles o comprometidas** – Contraseñas reutilizadas en varios servicios facilitan el acceso de los atacantes. * **Configuración de hosting insegura** – Permisos de archivo demasiado permisivos o ausencia de firewalls a nivel de servidor. * **Inyecciones a través de formularios** – Falta de sanitización de datos en formularios de contacto o checkout. Si sólo se borran los archivos infectados, el vector que permitió la inyección sigue activo y el atacante puede volver a colocar el código malicioso. ### 2.2. Falta de pruebas post‑limpieza Una vez eliminados los archivos, es necesario comprobar: * **Integridad de la base de datos** – El malware suele crear usuarios ocultos o modificar tablas. * **Presencia de backdoors** – Scripts que permiten volver a entrar sin necesidad de vulnerabilidades conocidas. * **Configuración de DNS y correo** – Algunos ataques cambian registros MX o CNAME para redirigir correos a servidores externos. Sin estas revisiones, la “limpieza” es solo superficial. --- ## 3. Diagnóstico rápido: tabla de referencia | Problema | Causa probable | Revisión necesaria | Solución recomendada | |----------|----------------|--------------------|----------------------| | Redirección a dominios externos | Plugin o tema comprometido | Escaneo de archivos + comparar con versiones oficiales | Reinstalar plugin/tema desde repositorio oficial | | Mensaje de “Sitio comprometido” en Google | Código malicioso inyectado | Revisión de logs de servidor y de la base de datos | Eliminar scripts, cambiar contraseñas, aplicar parches | | Formularios que envían datos a terceros | Backdoor en `functions.php` | Analizar funciones personalizadas y hooks | Borrar código sospechoso, añadir validación de datos | | Pérdida de velocidad > 10 s | Llamadas a servidores de comando y control | Herramientas de monitorización de tráfico | Bloquear IPs maliciosas, habilitar CDN y caché | | Correos que no llegan al buzón | Registros DNS modificados | Verificar registros MX y SPF | Restaurar configuración DNS, usar correo profesional con DNS seguro | Esta tabla sirve como guía inicial, pero el diagnóstico completo requiere un proceso estructurado. --- ## 4. Proceso completo de recuperación y prevención ### 4.1. Aislamiento y copia de seguridad inmediata 1. **Poner la web en modo mantenimiento** – Evita que los visitantes y los bots accedan a la versión infectada. 2. **Crear una copia de seguridad completa** (archivos + base de datos) en un entorno externo. 3. **Desconectar el sitio del dominio** mediante una regla temporal en el DNS o en el panel de hosting, para impedir que el atacante siga explotando la vulnerabilidad mientras trabajas. > **Enlace útil:** Si necesitas migrar la web a un hosting más seguro, consulta nuestra guía de [migrar web y correo sin perder datos](/blog/cms/migrar-web-correo-hosting-sin-perder/). ### 4.2. Análisis de la causa raíz #### 4.2.1. Escaneo automatizado y revisión manual Utiliza una herramienta de escaneo de malware que genere un informe de archivos modificados, plugins desactualizados y patrones sospechosos. Complementa con una revisión manual de: * `wp-config.php` – Busca líneas que incluyan dominios externos. * Carpetas `wp-content/plugins` y `wp-content/themes` – Compara la suma de checksums con versiones oficiales. * Tabla `wp_users` – Verifica que no existan usuarios con roles de administrador que no reconozcas. #### 4.2.2. Revisión de credenciales y accesos * Cambia todas las contraseñas de WordPress, base de datos, FTP/SFTP y panel de control. * Habilita la autenticación de dos factores (2FA) para los usuarios con privilegios. * Revisa los logs de acceso para identificar IPs sospechosas y bloquea aquellas que muestren intentos de fuerza bruta. #### 4.2.3. Evaluación del entorno de hosting * Verifica los permisos de archivos (`644` para archivos, `755` para carpetas). * Asegúrate de que el servidor cuente con un firewall de aplicación web (WAF) y con actualizaciones automáticas del sistema operativo. * Si el hosting no ofrece estas garantías, considera cambiar a un proveedor especializado en WordPress. > **Enlace útil:** Para decidir si es momento de cambiar de hosting o optimizar la configuración DNS, revisa nuestro artículo [cambiar hosting o optimizar web y DNS](/blog/cms/cambiar-hosting-o-optimizar-web-codigo-dns/). ### 4.3. Limpieza profunda 1. **Reemplazar archivos core** – Descarga la última versión de WordPress y sobrescribe los archivos del núcleo. 2. **Reinstalar plugins y temas** – Elimina carpetas completas y vuelve a instalarlas desde el repositorio oficial o desde la copia de seguridad original. 3. **Limpiar la base de datos** – Elimina tablas o registros desconocidos, revisa la tabla `wp_options` en busca de valores sospechosos, y ejecuta scripts de desinfección para eliminar usuarios ocultos. 4. **Eliminar backdoors** – Busca patrones como `eval(base64_decode(` o `preg_replace("/.*/e", ...)` en cualquier archivo PHP. ### 4.4. Refuerzo de seguridad y continuidad operativa | Acción | Por qué es esencial | |-------|---------------------| | **Actualizaciones automáticas** de core, plugins y temas | Reduce la ventana de exposición a vulnerabilidades conocidas | | **Copia de seguridad diaria** con retención de 30 días | Permite restaurar rápidamente en caso de nueva infección | | **Monitorización de integridad de archivos** (hashes) | Detecta cambios no autorizados en tiempo real | | **Política de contraseñas robustas y 2FA** | Impide accesos no autorizados mediante credenciales robadas | | **WAF y limitación de intentos de login** | Bloquea ataques de fuerza bruta y scripts automatizados | | **Revisión trimestral del checklist de mantenimiento** | Garantiza que se cumplan todas las buenas prácticas | > **Enlace útil:** Descarga nuestro [checklist de mantenimiento web profesional](/blog/cms/checklist-mantenimiento-web-profesional-empresa/) para no olvidar ningún punto crítico. ### 4.5. Verificación y monitorización post‑limpieza * **Google Search Console** – Solicita la revisión de la advertencia de “Sitio comprometido”. * **Herramientas de velocidad** (PageSpeed Insights, GTMetrix) – Confirma que el tiempo de carga vuelve a los valores normales. * **Escáner externo** (Sucuri SiteCheck, VirusTotal) – Verifica que la web está limpia desde una perspectiva externa. * **Alertas de seguridad** – Configura notificaciones por correo cuando se detecten cambios en archivos críticos o intentos de acceso fallidos. --- ## 5. Automatización inteligente: el papel de la IA Una solución de automatización basada en IA puede aportar **detención temprana** y **análisis de patrones** que un humano tardaría horas en identificar. Por ejemplo: * **Análisis de logs con IA** – Detecta comportamientos anómalos (picos de peticiones a `wp-login.php` desde IPs desconocidas) y genera alertas automáticas. * **Comparación de checksums** – Algoritmos de IA pueden comparar millones de archivos en segundos, señalando diferencias con versiones oficiales. * **Recomendaciones de hardening** – A partir del estado actual del sitio, la IA sugiere acciones específicas (activar 2FA, limitar `xmlrpc.php`, etc.). Sin embargo, la IA no sustituye la intervención humana. El agente de IA actúa como **asistente** que acelera la detección y la generación de informes, mientras que el técnico realiza la corrección y la validación final. Este enfoque híbrido garantiza una solución sostenible y alineada con el mantenimiento preventivo. > **Enlace útil:** Conoce cómo el **mantenimiento preventivo** ahorra tiempo y dinero en nuestro artículo [mantenimiento preventivo ahorra tiempo y dinero](/blog/cms/mantenimiento-preventivo-ahorra-tiempo-dinero/). --- ## 6. Llamada a la acción Una web infectada no solo afecta la disponibilidad, sino también la confianza de tus clientes y el posicionamiento en buscadores. No dejes que la solución rápida sea la única opción. * **Solicita soporte inmediato** desde nuestro sitio para que revisemos tu caso y ejecutemos una limpieza con diagnóstico completo. * **Revisa tu plan de mantenimiento** y asegura que tu WordPress reciba actualizaciones, copias de seguridad y monitorización constante. * **Pide presupuesto** sin compromiso para migrar a un hosting especializado, reforzar la seguridad del correo profesional y contratar una bolsa de horas de soporte web. Protege tu negocio con un mantenimiento web integral y evita que el malware vuelva a aparecer. ¡Actúa ahora y garantiza la continuidad oper

¿VAS A SEGUIR LEYENDO O VAS A ARREGLARLO?

Tu competencia ya está en Hanka.es mejorando sus sistemas. Tú sigues aquí perdiendo tiempo.

SOLUCIONAR MI PROBLEMA AHORA