Qué es el malware en WordPress y cómo eliminarlo de forma segura

Qué es el malware en WordPress y cómo eliminarlo de forma segura

En esta guía explicamos qué es el malware, sus riesgos reales y el procedimiento seguro de eliminación con medidas de prevención para que no vuelva.



Qué es el malware (y por qué te afecta aunque “no vendas online”)

Malware es cualquier software malicioso introducido en tu sitio sin permiso para manipularlo, obtener datos o usar tus recursos. En WordPress suele adoptar formas muy concretas:

  • Backdoors: puertas traseras para recuperar acceso incluso tras cambiar contraseñas.
  • SEO spam: inyección de enlaces y páginas falsas (farmacéuticas, casinos) para monetizar tu autoridad de dominio.
  • Redirecciones condicionales: solo afectan a móviles/bots o a ciertas IPs para pasar desapercibidas.
  • Web shells: paneles ocultos que permiten ejecutar comandos en el servidor.
  • Phishing: páginas clonadas de bancos o servicios dentro de tu dominio.
  • Mailers: scripts que envían spam masivo aprovechando tu servidor.

Aunque no tengas tienda, el daño es tangible: pérdida de posicionamiento, bloqueo por navegadores (advertencias de sitio peligroso), listas negras de correo y erosión de la reputación de tu marca.

Principales vías de entrada

  1. Plugins o temas vulnerables o desactualizados (el vector nº1).
  2. Componentes “nulled” con código alterado.
  3. Contraseñas débiles o reutilizadas, sin 2FA en cuentas de administración o del hosting.
  4. Fallo a nivel de servidor (permisos, cuentas SFTP/SSH expuestas, PHP obsoleto).
  5. XML-RPC/login sin protección frente a fuerza bruta.
  6. Ordenadores infectados desde los que te conectas al panel/FTP.
  7. Cadena de suministro: servicios o integraciones comprometidas (temas/plantillas, plugins de terceros, librerías).

Señales de que hay infección

  • Redirecciones a sitios de spam o pop-ups que no configuraste.
  • Archivos desconocidos (por ejemplo, PHP en /wp-content/uploads/), .ico o .zip “raros”, cambios no explicados en .htaccess o wp-config.php.
  • Usuarios administradores que no creaste, o roles inflados.
  • Picos de CPU o de envíos de correo (rebotes por spam).
  • Alertas en Google Search Console (Problemas de seguridad) o en navegadores.

Si detectas uno o varios, actúa como si el compromiso fuese real: el tiempo juega en tu contra (SEO y reputación).

Que es el malware en WordPress y como eliminarlo de forma segura 2
Con método puedes eliminar el malware de tu WordPress sin romper tu web.

Método seguro para eliminar malware en WordPress

La clave es no precipitarse. El error más común es “instalar un plugin milagroso y borrar lo que pille”. Mejor, sigue este orden.

1) Aísla y preserva pruebas (sin romper nada)

  • Poned la web en modo mantenimiento (503 temporal) o restringe temporalmente por IP desde el panel/servidor. Así evitas seguir sirviendo contenido malicioso.
  • Haz una copia forense completa de archivos y base de datos tal como están. Servirá por si algo sale mal, para comparar y para investigar el vector de entrada.
  • Informa al hosting: muchos proveedores ayudan con escaneos o señalan procesos y rutas sospechosas.

2) Rotación de credenciales y sesiones

  • Cambia contraseñas de: panel de hosting, WordPress, SFTP/SSH, base de datos, y deshabilita usuarios innecesarios.
  • Activa 2FA en cuentas de administración.
  • Regenera las claves y SALTs en wp-config.php para invalidar cookies/sesiones y evitar secuestros de sesión persistentes.
  • Revoca todas las sesiones desde el panel de WordPress.

3) Diagnóstico con integridad y registros

  • Verifica el núcleo: reinstala archivos oficiales de WordPress (misma versión) sobre /wp-admin/ y /wp-includes/ para detectar diferencias; cualquier archivo ajeno ahí es sospechoso.
  • Ordena por fecha de modificación todas las carpetas (especialmente wp-content) para localizar cambios recientes.
  • Revisa logs del servidor (access/error) en busca de picos, URLs inusuales o intentos masivos de login.
  • Inventario de administradores y roles; elimina cuentas dudosas y baja privilegios.

4) Elige tu vía de recuperación

Opción A — Restaurar una copia limpia
Si tienes una copia anterior no infectada, restáurala. A continuación actualiza WordPress, tema y plugins, y elimina el elemento que abrió la brecha (plugin o tema vulnerable). Verifica que la copia restaurada no arrastra el problema (escaneo posterior).

Opción B — Limpieza manual (cuando no hay backup válido)

  • Núcleo: sobreescribe con archivos oficiales.
  • Temas y plugins: elimina lo que no uses; reinstala desde sus fuentes oficiales. Revisa functions.php, index.php y archivos sueltos en directorios donde no deberían estar.
  • Uploads: no debería contener PHP. Si hay ejecutables, investiga; suele ser puerta trasera. Añade reglas para impedir ejecución en esa carpeta.
  • .htaccess y wp-config.php: compara con versiones “limpias”; busca redirecciones, auto_prepend_file, inclusiones misteriosas o cadenas ofuscadas.
  • Base de datos: inspecciona wp_options (opciones autoload con cadenas largas o URLs extrañas), wp_posts (inyección de enlaces), wp_users y wp_usermeta (roles alterados).
  • Crons y tareas: localiza tareas programadas que reapliquen el malware (plugins de cron o wp_cron abusivo).

Tras la limpieza, reescanea y monitoriza unos días para comprobar que no reaparece.

Que es el malware en WordPress y como eliminarlo de forma segura 4
Qué es el malware en WordPress y cómo eliminarlo de forma segura 3

Cómo limpiar sin dañar la web: recomendaciones prácticas

  • No borres por impulso: un archivo legítimo modificado por ti puede parecer sospechoso. Prioriza sobreescritura desde fuente oficial antes que eliminar a ciegas.
  • Separa contenido y ejecutables: trata uploads como contenido; si ves PHP ahí, péscalo y bloquea ejecución en esa ruta.
  • Evita “copias sucias”: no restaures backups recientes si sospechas que la infección viene de atrás; busca una copia sana (de ahí la importancia de retención).
  • Trabaja en staging siempre que sea posible y luego despliega.
  • Comprueba negocio: después de limpiar, prueba login, formularios, carrito y pagos antes de abrir la web al público.

Cerrar la brecha: lo que evita la reinfección

La limpieza es la mitad del trabajo; la otra mitad es hardening. Si no corriges el origen, volverá.

  1. Actualizaciones al día
    Núcleo, tema y plugins. Sustituye lo abandonado por alternativas mantenidas. Activa auto-updates al menos para parches de seguridad.
  2. Principio de mínimo privilegio
    Solo administradores imprescindibles; cuentas individuales (nada de “admin” compartido); roles ajustados.
  3. 2FA y contraseñas únicas
    Obligatorias en administración y en el hosting. Gestor de contraseñas para todo el equipo.
  4. Permisos de archivos
    Como base, 644 para archivos y 755 para directorios. Desactiva el editor de archivos del panel (DISALLOW_FILE_EDIT).
  5. Bloqueo de ejecución en uploads
    Impide que PHP se ejecute en /wp-content/uploads/. Es un freno importante a puertas traseras.
  6. Protección de login y XML-RPC
    Limita intentos, añade CAPTCHA si procede y restringe o deshabilita XML-RPC si no lo usas. Considera lista de IPs permitidas en /wp-admin/ para equipos internos.
  7. WAF (cortafuegos de aplicaciones)
    En la nube o a nivel de servidor. Ayuda con parches virtuales ante vulnerabilidades 0-day en plugins mientras actualizas.
  8. PHP y base soportados
    Mantén PHP moderno y bases actualizadas. Versiones EOL no reciben parches de seguridad.
  9. Backups 3-2-1 y pruebas de restauración
    Al menos una copia off-site y otra inmutable si el negocio es crítico. Probar restauraciones es tan importante como hacer backups.
  10. Monitorización
    Cambios de archivos, uptime, listas negras y alertas de Search Console. Cuanto antes detectes, menos daño.

Cómo recuperar la confianza de Google y usuarios tras la limpieza

  • Google Search Console: revisa “Problemas de seguridad”. Cuando estés seguro de haber limpiado y parcheado, solicita revisión para que se retiren las advertencias.
  • Indexación: reenvía sitemaps y vuelve a inspeccionar e indexar páginas claves.
  • Reputación de correo: si tu dominio/IP fue usado para spam, comprueba listas negras y trabaja con tu hosting para sanear la reputación.
  • Transparencia con clientes: si hubo posible exposición de datos personales, revisa tus obligaciones de notificación (RGPD).

Ejemplos útiles (según buenas prácticas)

  • Rotar SALTs (invalidar sesiones): usa el servicio oficial de claves o WP-CLI y sube los nuevos valores a wp-config.php.
  • Verificar integridad: reinstala el núcleo oficial y observa qué archivos “sobran” en /wp-admin/ y /wp-includes/.
  • Desactivar ejecución en uploads: añade una regla de servidor (Apache o Nginx) que impida ejecutar PHP en esa carpeta.
  • Auditar usuarios: exporta la lista de administradores, elimina los desconocidos y fuerza reset de contraseñas.

Si no tienes tiempo o prefieres garantías, externaliza la limpieza. En arreglotuweb.com hacemos limpieza urgente, parcheo, hardening y monitorización, con informe antes/después y recomendaciones claras para que no se repita.

Preguntas frecuentes

¿Puedo confiar en un “plugin antivirus” y ya?
Son útiles para detectar patrones comunes y, a veces, para eliminar piezas conocidas, pero no sustituyen una limpieza completa con revisión de archivos, base de datos y hardening.

¿Restaurar un backup lo soluciona siempre?
Solo si parcheas el origen. Si el vector sigue abierto, te reinfectarás.

¿Cuánto tiempo tardará Google en quitar la alerta?
Depende: si la limpieza es completa, la revisión suele resolverse en poco tiempo, pero no controles ese calendario. Lo controlable es limpiar bien y demostrarlo.

Enlaces de interés (oficiales y sin “agencias”)

Eliminar malware con seguridad exige mirar también cómo detectar una web hackeada, comprobar que existe una copia de seguridad restaurable, mantener una política de actualizaciones y seguir un plan para reforzar el sitio después.

Autor/a:

1 comentario

Deja tu comentario

Contenidos relacionados