Descubrir que tu web ha sido hackeada es horrible, y la tentación es empezar a borrar cosas de inmediato. No lo hagas. Un orden claro de pasos deja tu sitio limpio más rápido y evita que el problema vuelva.
1. Confirma a qué te enfrentas
Las señales de una web hackeada incluyen un aviso del navegador («Sitio engañoso»), un resultado de Google con texto extraño en japonés o sobre medicamentos, visitantes redirigidos a otro sitio, usuarios administradores nuevos que no creaste, o tu hosting suspendiendo la cuenta. Comprueba tu web desde una ventana privada y desde tu móvil con datos móviles, porque parte del malware solo se muestra a los visitantes que llegan desde un buscador.
Puedes hacer una comprobación rápida desde fuera con nuestro análisis de hackeo web gratuito. Mira las listas de malware y busca scripts inyectados, enlaces ocultos y spam, y solo ve lo que puede ver cualquier visitante.
2. Contenlo
- Pon el sitio en modo de mantenimiento o desconéctalo un momento, para que los visitantes y los buscadores dejen de ver las páginas infectadas.
- Haz una copia de seguridad completa del sitio hackeado (archivos y base de datos) antes de cambiar nada. Puede que la necesites para averiguar cómo ocurrió.
- Cambia todas las contraseñas que den acceso: panel del hosting, FTP y SSH, base de datos, cuentas de administrador del CMS y la cuenta de correo usada para los restablecimientos. Hazlo desde un ordenador de confianza.
3. Averigua qué cambió
Los hackers rara vez dejan un solo rastro. Busca:
- Usuarios administradores desconocidos en tu CMS. Elimínalos.
- Archivos modificados recientemente, sobre todo archivos PHP en las carpetas de subidas, que nunca deberían contener código.
- Código extraño en el
header.php,footer.phpofunctions.phpde tu tema, y cadenas largas e ilegibles que usanevalobase64_decode. - Puertas traseras ocultas: archivos pequeños que dan al atacante una vía para volver a entrar, a menudo con nombres aleatorios.
Si tienes una copia de seguridad limpia anterior al ataque, restaurarla suele ser más rápido y seguro que limpiar a mano. Restáurala y continúa con los pasos siguientes, porque el mismo agujero sigue abierto.
4. Cierra el agujero
La mayoría de las webs hackeadas no fueron objetivo personal. Tenían un plugin, un tema o una versión del núcleo desactualizados, una contraseña débil o reutilizada, o una extensión vulnerable que ya nadie usaba. Después de limpiar:
- Actualiza todo: el CMS, los temas y los plugins, y el propio PHP.
- Elimina los plugins y temas que no uses. El código sin usar sigue siendo superficie de ataque.
- Usa contraseñas fuertes y únicas y activa la autenticación en dos pasos para los administradores.
- Revisa los permisos de archivos y quita el acceso de escritura donde no haga falta.
5. Avisa a los buscadores y a los visitantes
Si Google marcó tu sitio, abre Google Search Console, mira el informe de Problemas de seguridad y solicita una revisión cuando el sitio esté limpio. Si los datos de tus clientes pudieron quedar expuestos, comprueba qué obligaciones legales tienes de informarles. Depende de dónde estéis tú y tus clientes.
6. Asegúrate de que sigue limpio
Limpiar una vez no basta, porque los atacantes suelen dejar una puerta trasera y volver. Durante las próximas semanas, vigila el sitio de cerca: archivos nuevos, usuarios nuevos, páginas cambiadas y scripts inesperados. Para eso sirve exactamente un monitor automático. ServerMonitor revisa con regularidad tus páginas en busca de scripts inyectados, enlaces ocultos, palabras clave de spam y apariciones en listas de malware y phishing, y te avisa pronto.
¿Deberías pedir ayuda profesional?
Si la infección sigue volviendo, si gestionas pagos de clientes o datos personales, o si simplemente no tienes tiempo, una limpieza profesional compensa su coste. Quien la haga debería explicarte cómo entró el atacante, y no solo eliminar los síntomas.
El mejor momento para prepararse es antes de que ocurra: mantén el software actualizado, guarda copias de seguridad recientes fuera del servidor y usa una monitorización que te avise el mismo día.