Mi WordPress fue hackeado: qué hacer ahora mismo

Recupera tu WordPress o PrestaShop hackeado — Servicio profesional de limpieza de malware, diagnóstico gratuito y respuesta en menos de 24 horas. ManuelFolgar.com

Mi WordPress fue hackeado: qué hacer ahora mismo

Cuando descubres que tu WordPress ha sido hackeado, el pánico es la primera reacción. Pero te lo digo desde mi experiencia limpiando cientos de sitios comprometidos: los primeros pasos que tomes en las próximas horas determinarán si recuperas tu web o pierdes meses de trabajo. En este artículo te guío exactamente qué hacer, en qué orden, sin pánico.

Primero: confirma que realmente está hackeado

No todos los síntomas son señal de hackeo. Antes de tomar decisiones drásticas, verifica realmente qué está pasando:

  • Google Search Console. Si Google ha desindexado tu sitio o marca páginas como «malware detectado», ahí tienes confirmación oficial. Accede a tu GSC y busca en la sección de Seguridad.
  • Herramientas online gratuitas. Usa Sucuri SiteCheck o VirusTotal para escanear tu dominio. Si ambas detectan malware, es casi seguro.
  • Comportamiento del sitio. ¿Ves anuncios extraños? ¿Redirecciones a sitios de casinos o farmacéuticos? ¿Contenido spam en la base de datos? Son indicios claros de infección.
  • Acceso a cPanel/hosting. Revisa los logs de acceso. Si ves intentos de login fallidos masivos o conexiones desde países raros, tu servidor ha estado bajo ataque.

Una vez confirmado, pasamos a acción.

Paso 1: Aísla el sitio inmediatamente (máximo 30 minutos)

No dejes que el malware siga propagándose. Esto es crítico:

  1. Desactiva todos los plugins. Accede a wp-admin. Si no puedes, conéctate por SFTP/cPanel. Renombra la carpeta /wp-content/plugins/ a /wp-content/plugins-disabled/. Así WordPress no cargará ninguno.
  2. Cambia todas las contraseñas de administrador. Desde otra máquina (no la comprometida), entra en WordPress y crea una nueva contraseña de usuario admin de 20+ caracteres, con mayúsculas, números y símbolos. Si no tienes acceso a wp-admin, usa WP-CLI desde terminal: wp user update 1 --prompt=user_pass.
  3. Revoca tokens y sesiones activas. Si usas plugin de seguridad como Wordfence, cierra todas las sesiones salvo la tuya. Esto expulsará a los atacantes conectados.
  4. Notifica a tu hosting. Llama a soporte y diles que tu WordPress está comprometido. Algunos proveedores pueden suspender temporalmente el sitio o aislarlo en un servidor de cuarentena mientras lo limpias.

En este punto ya has evitado que el malware continúe infectando más usuarios y ampliando la infección.

Paso 2: Identifica qué tipo de malware tienes (1-2 horas)

Saber qué luchas contra es fundamental. Los tipos más frecuentes que encuentro:

Backdoors y webshells. Son archivos PHP ocultos (a menudo con nombres como shell.php, wp-content/uploads/shell.php o disfrazados como plugins legítimos). Te permiten al atacante acceso permanente, incluso después de cambiar contraseñas. Los busco con:

find /home/tudominio/public_html -name "*.php" -newermt "2024-01-01" -type f

Reemplaza la fecha por la del último acceso sospechoso.

Malware SEO (spam de redirección). Inyecta código en posts y páginas que redirige a usuarios a sitios de apuestas, pornografía o estafas. Lo ves en el HTML cuando inspeccionas un post. Es síntoma de que alguien tiene acceso a tu base de datos.

Cryptominers o scripts JavaScript maliciosos. Se cargan en el navegador del visitante para minar criptomonedas con su CPU sin saberlo. Detecta ralentización extrema del sitio. Busca en Google Analytics picos de carga extraños.

Plugins y temas nulled comprometidos. Si descargaste un plugin «premium» de un sitio pirata, viene con malware incrustado. Cuando lo activas, infectas el sitio.

Para identificarlos con precisión, MalCare hace un escaneo automático en WordPress. También puedo hacerlo yo manualmente revisando logs y ficheros, pero MalCare te da un informe en minutos.

Paso 3: Crea una copia de seguridad limpia ANTES de limpiar

Parece contradictorio, pero es esencial. Haz backup de lo que tienes ahora con el malware por si necesitas investigar más tarde o recuperar contenido legítimo. Luego procedes a limpiar.

En cPanel, descarga:

  • Base de datos completa (SQL dump).
  • Carpeta /public_html/ entera via SFTP.
  • Guárdalos en una unidad externa encriptada.

Paso 4: Limpia o reinstala WordPress (2-4 horas)

Tienes dos caminos según severidad:

Opción A: Limpieza manual (solo si infección leve).

  1. Elimina todos los plugins y temas excepto uno limpio, verificado. Borra manualmente las carpetas de plugins sospechosos.
  2. Descarga los archivos core de WordPress desde WordPress.org e intégralos sobre tu instalación, reemplazando wp-admin/ y wp-includes/. Mantén tu wp-config.php y carpeta /wp-content/ de momento.
  3. Revisa la base de datos buscando tablas o posts extraños. Si hay cientos de posts nuevo que no creaste, son spam SEO inyectado. Bórralos desde phpMyAdmin o WP-CLI.
  4. Busca opciones de la BD maliciosas (suelen estar en wp_options) con valores JavaScript o URLs sospechosas.

Opción B: Reinstalación limpia (recomendado si infección media-alta).

  1. Elimina completamente /public_html/ menos la carpeta /uploads/ (tus imágenes y archivos).
  2. Descarga WordPress limpio e instálalo de nuevo.
  3. Restaura tu contenido (posts, páginas, usuarios) desde tu backup limpio más antiguo que confíes, o manualmente si tienes pocos posts.
  4. Restaura uploads/ desde backup confiable (escaneándolo antes con VirusTotal).

Yo siempre recomiendo Opción B: es más lento pero garantiza limpieza 100%. Los atacantes suelen ocultar puertas traseras muy bien.

Paso 5: Fortifica el sitio contra reinfección (2-3 horas)

Ahora que está limpio, hazlo inexpugnable:

WordPress hardening básico:

  • Deshabilita edición de archivos en wp-admin. Añade a wp-config.php: define('DISALLOW_FILE_EDIT', true);
  • Protege wp-config.php con reglas .htaccess: <files wp-config.php> order allow,deny deny from all </files>
  • Cambia el prefijo de tablas de la BD de wp_ a algo aleatorio como xk7m_ (mitiga ataques SQL masivos).
  • Limita intentos de login en wp-login.php a 3 intentos cada 15 minutos mediante .htaccess o plugin.
  • Habilita autenticación de dos factores (2FA) en todos los usuarios admin.

Plugin de seguridad esencial: Instala Wordfence Security (gratuito con versión premium). Configura:

  • Escaneo de malware automático cada 24h.
  • WAF (Web Application Firewall) activo.
  • Rate limiting para wp-login.
  • Alertas por cambios en archivos core.

Actualiza todo: WordPress core a última versión, todos los plugins, tema. Plugins desactualizados fueron tu puerta de entrada. Vulnerabilidades conocidas como CVE-2023-xxxx son esploitadas automáticamente por bots.

Permisos de carpetas correctos:

chmod 755 /wp-content/
chmod 755 /wp-content/uploads/
chmod 644 /wp-config.php
chmod 600 /wp-config.php (si es posible)

Esto evita que procesos de web escriban donde no deben.

Paso 6: Notifica a Google y buscadores (30 minutos)

Google mantiene el sitio penalizado si cree que sigue infectado. Debes reportar limpieza:

  1. En Google Search Console, ve a Seguridad > Problemas de seguridad.
  2. Haz clic en «Solicitar revisión».
  3. Google enviará un bot a revisar. Si todo está limpio, en 24-48h debería retirar la penalización.
  4. Revisa INCIBE (Instituto Nacional de Ciberseguridad español) para notificaciones si tu sitio fue usado para esparcir malware a otros usuarios españoles.

Paso 7: Investiga cómo entraron (1-2 horas)

Esto es crucial para no volver a ser hackeado:

Vector más común: plugin desactualizado. ¿Tenías Elementor, All in One SEO o WooCommerce sin parchear? Revisa en NVD/CVE qué vulnerabilidades afectaban a esa versión. Aprende la lección: actualiza plugins cada semana mínimo.

Contraseña débil de admin. Si encontraste intentos fallidos masivos en logs (brute force ataque), tu contraseña era admin123, wordpress o similar. Usa gestor de contraseñas (Bitwarden, 1Password).

Acceso FTP/SFTP comprometido. Si tus credenciales FTP viajaban en texto plano, un man-in-the-middle atacante puede haberlas interceptado. Usa SFTP (protocolo seguro) de aquí en adelante. Cambia credenciales de hosting.

Tema o plugin nulled. Si alguna vez descargaste un tema premium de un repositorio pirata, ese fue el origen. Nunca más. Usa temas de repositorios oficiales: WordPress.org, ThemeForest verificado, Elementor directo.

Monitoreo continuo post-limpieza

La primera semana tras una infección es crítica. Vigila:

  • Logs de acceso FTP/SFTP: ¿Hay conexiones nuevas no autorizadas? Si sí, atacante aún tiene credenciales. Resetea todas.
  • Base de datos: ¿Aparecen posts spam nuevos? ¿Usuarios desconocidos? Bórralos al instante.
  • Wordfence alertas: Configúralo para notificarte por email de cambios en archivos core, nuevos plugins, cambios de usuarios.
  • Google Search Console: Revisa diariamente que no aparezcan nuevas «URL infectadas detectadas».

En mi experiencia, si aplicaste estos pasos correctamente, en 95% de casos no hay reinfección. El 5% restante suele ser porque se dejó una puerta trasera muy oculta, o credenciales aún comprometidas.

¿Cuándo llamar a un profesional?

Si después de 4 horas de seguir estos pasos no te sientes seguro, o si la infección es compleja (malware cifrado, múltiples backdoors), es momento de buscar ayuda especializada. Yo ofrezco desde ManuelFolgar.com servicio de limpieza manual integral: escaneo exhaustivo con herramientas forenses, eliminación garantizada de malware, hardening completo, y soporte post-limpieza 30 días.

Contacta conmigo en ManuelFolgar.com/contacto para una auditoría gratuita de tu WordPress. Te diré exactamente qué está comprometido y cuál es tu mejor opción.

Resumen de acciones inmediatas

  1. Confirma hackeo con Sucuri SiteCheck y Google Search Console.
  2. Desactiva plugins, cambia contraseñas admin, avisa al hosting (30 min).
  3. Identifica tipo de malware: backdoor, SEO spam, cryptominer, etc. (1-2 horas).
  4. Copia backup con malware por seguridad.
  5. Limpia o reinstala WordPress limpio (2-4 horas).
  6. Aplica hardening: deshabilitar edición, cambiar prefijo BD, 2FA, Wordfence, actualizar todo.
  7. Solicita revisión a Google en Search Console.
  8. Investiga vector de entrada para no repetir error.
  9. Monitorea 7 días vigilando logs, BD, alertas Wordfence.

El coste de esta limpieza en tiempo es alto, pero es infinitamente menor al daño de un sitio infectado durante meses.

¿Sientes que tu WordPress aún está en riesgo o necesitas una limpieza 100% profesional? Yo me encargo. Contacta ahora en ManuelFolgar.com/contacto. Limpio, fortifíco y te dejo tu web segura.