Esta página cubre qué hacer en las primeras horas tras descubrir una vulneración: qué proteger, qué decidir y en qué orden trabajar. Si no estás seguro de que el sitio esté hackeado, haz primero la comprobación de cinco minutos. Cuando llegues a la limpieza en sí, Cómo eliminar malware de un sitio WordPress tiene los comandos para archivos y base de datos.
Los siete pasos de un vistazo
- Haz una copia del sitio tal como está ahora. Archivos y base de datos.
- Decide: fuera de línea o en marcha. Según lo que vean los visitantes.
- Revisa Google. Problemas de seguridad en Search Console.
- Delimita el daño. Tres comprobaciones rápidas.
- Cambia todas las credenciales. Primero el hosting, WordPress al final.
- Elimina el malware. Núcleo, plugins, temas, base de datos.
- Cierra el punto de entrada. Luego vigila durante una semana.
Paso 1: haz una copia del sitio exactamente como está
Antes de cambiar nada, copia el sitio infectado: todos los archivos y la base de datos. No es la copia desde la que restaurarás. Es una prueba que podrás comparar más tarde, y tu hosting o un servicio de seguridad te la pedirá si necesitas ayuda. Desde la carpeta de WordPress por SSH:
wp db export ~/infected-backup.sql
tar -czf ~/infected-files.tar.gz .
Sin SSH, usa la herramienta de copias de tu hosting o descarga el sitio por SFTP, y exporta la base de datos desde phpMyAdmin.
Paso 2: decide si pones el sitio fuera de línea
La respuesta depende de lo que ven los visitantes ahora mismo.
- Ponlo fuera de línea si los visitantes son redirigidos, reciben malware o phishing, o el sitio está visiblemente desfigurado. Usa el modo mantenimiento o una pausa a nivel de servidor. Cada minuto que sigue en línea es un daño para tus visitantes.
- Déjalo en marcha si el problema parece limitarse al backend, como un archivo sospechoso o una cuenta de administrador desconocida, y los visitantes no ven nada raro. Avanza rápido por los siguientes pasos y trátalo como urgente.
Paso 3: comprueba si Google ha marcado el sitio
Abre Google Search Console y ve a Seguridad y acciones manuales → Problemas de seguridad. Si Google marcó el sitio, los visitantes quizá ya vean una advertencia antes de llegar. Así es como muchos propietarios se enteran por primera vez de que los hackearon. Anota lo que dice el informe. Tras la limpieza solicitarás una revisión, y Google espera detalles sobre lo que se encontró y se corrigió.
Paso 4: delimita el daño con tres comprobaciones rápidas
Todavía no necesitas una auditoría completa. Tres comandos te dicen más o menos hasta dónde llega:
wp user list --role=administrator
find wp-content/uploads -name "*.php"
wp core verify-checksums
El primero lista los administradores, para que detectes uno que no creaste. El segundo encuentra archivos PHP en la carpeta uploads, que solo debería contener medios. El tercero compara el núcleo de WordPress con los archivos oficiales. Si no puedes usar SSH, la guía de detección muestra cómo comprobar lo mismo desde wp-admin y el administrador de archivos de tu hosting. Una página de spam que aparece al buscar site:tudominio.com suele significar que también se modificó la base de datos, no solo los archivos.
Paso 5: cambia todas las credenciales, ahora
Hazlo antes de la limpieza, no después. Si el atacante aún tiene un acceso válido, todo lo que limpies puede deshacerse. Usa un ordenador de confianza, porque un keylogger en el tuyo entregaría las contraseñas nuevas. Trabaja en este orden, de mayor a menor poder:
- El acceso al hosting o a cPanel, además de todas las cuentas SFTP y SSH. Elimina las claves SSH que no reconozcas y añade otras nuevas.
- La contraseña de la base de datos. Cámbiala en el panel de tu hosting y actualiza
DB_PASSWORDenwp-config.php. - Todos los administradores y editores de WordPress. Elimina las cuentas que no reconozcas.
- Las claves de seguridad y los salts. Esto cierra todas las sesiones existentes, incluida la del atacante:
wp config shuffle-salts - Las claves de terceros guardadas en el sitio, como las de pagos, correo y API.
Paso 6: elimina el malware
Con el sitio contenido, las pruebas guardadas y las credenciales cambiadas, la limpieza es un proceso aparte: reemplazar el núcleo, reinstalar plugins y temas, revisar los escondites habituales y limpiar la base de datos. Sigue Cómo eliminar malware de un sitio WordPress. Si sospechas que el atacante dejó un acceso oculto, lee Cómo encontrar una puerta trasera en WordPress.
Paso 7: averigua cómo entraron
El error más común es quedarse en «está limpio». Si la vía de entrada sigue abierta, el mismo ataque funciona otra vez. Comprueba, en este orden:
- Plugins y temas desactualizados o abandonados.
wp plugin list --update=availablemuestra las actualizaciones pendientes. Un plugin sin actualizar desde hace años es un riesgo aunque no haya ninguna pendiente. Busca el nombre del plugin en bases de datos públicas de vulnerabilidades, como las de Patchstack, WPScan y Wordfence. - Temas y plugins piratas o «nulled». Suelen traer malware incorporado.
- Los registros de acceso de tu servidor. Busca peticiones POST a archivos PHP que no deberían recibirlas, sobre todo en
wp-content/uploadsy en las carpetas de plugins. La mayoría de los hostings ofrecen los registros de acceso en bruto en el panel de control. - La copia infectada del paso 1. Los archivos con la fecha de modificación sospechosa más antigua apuntan a la primera intrusión.
Después de la limpieza, vuelve a comprobar a las 24 horas y a la semana. Un archivo o una cuenta de administrador que reaparece significa que se pasó algo por alto. Cuando el sitio esté limpio, solicita una revisión a Google en Problemas de seguridad de Search Console.
¿Conviene restaurar una copia de seguridad en su lugar?
Solo si la copia es anterior a la infección y además cierras el punto de entrada. Restáurala, actualiza de inmediato WordPress, todos los plugins y todos los temas, y cambia todas las credenciales. Una copia hecha después de que empezara la infección trae el malware de vuelta.
SiftWP automatiza el escaneo y las partes seguras de esta secuencia por SSH, sin añadir un plugin a un sitio que ya está comprometido. Investiga cada hallazgo. Los problemas de bajo riesgo y reversibles se corrigen automáticamente. Todo lo ambiguo, como una cuenta de administrador desconocida o un plugin que quizá se necesite, se detiene y te pregunta primero. Los archivos marcados se ponen en cuarentena, nunca se borran de golpe, así que un falso positivo se puede deshacer.