Que te hackeen la web es un mal trago, pero tiene arreglo. La propia documentación de WordPress empieza por ahí: puede costar dinero o imagen, pero el sitio se recupera. Lo que más ayuda es hacer las cosas en orden.
Cómo saber si te han hackeado
Algunas señales son claras:
- Google o el navegador avisan de que la web es peligrosa, o en los resultados de búsqueda aparece marcada como «hackeada» o «comprometida».
- Tu hosting la ha desactivado o te ha escrito por un problema de seguridad.
- Los visitantes te dicen que su antivirus bloquea la web.
- Ves cosas que no has hecho: usuarios administradores nuevos, páginas que no conoces o directamente otra portada (lo que se llama defacement).
- Tus correos rebotan porque la IP del servidor ha entrado en listas negras: una web hackeada se usa a menudo para enviar spam.
Otras no se ven a simple vista. El contenido que mete un atacante puede mostrarse sólo a los buscadores: tú ves la web normal y Google ve páginas de spam. Dos formas de comprobarlo:
- Busca en Google
site:tudominio.comy mira si salen páginas que tú no has creado (farmacias, apuestas, textos en otros idiomas…). - En Google Search Console, el informe Problemas de seguridad dice si Google ha detectado contenido hackeado, malware o ingeniería social, con la fecha en que lo vio. La herramienta de inspección de URLs enseña la página tal como la ve Google.
Google aconseja no abrir en tu navegador las páginas infectadas, porque algunas intentan aprovechar fallos del propio navegador.
La primera hora
- Apunta lo que ves. Qué te ha hecho sospechar, cuándo lo notaste y qué cambios hiciste en los últimos días (plugins nuevos, cambio de tema, actualizaciones). Será la base para todo lo demás.
- Avisa a tu hosting. Puede confirmar si es un ataque o una avería, y si estás en un alojamiento compartido el problema puede afectar a más webs.
- Pasa el antivirus a tu ordenador. Muchas intrusiones empiezan ahí, con un programa que roba las contraseñas de FTP o del escritorio de WordPress. INCIBE recomienda, además, cambiar las contraseñas desde un equipo que no esté afectado.
- Cambia todas las contraseñas, y que lo haga cada persona con acceso: WordPress (sobre todo los administradores), FTP o SFTP, el panel del hosting y la base de datos. Largas, únicas y hechas con un generador.
- Echa a quien siga dentro. Cambiar las claves secretas de
wp-config.phpcierra todas las sesiones abiertas y obliga a todo el mundo a volver a entrar. WordPress las genera en api.wordpress.org/secret-key/1.1/salt: copias las ocho líneas y sustituyes las que hay. - Haz una copia del estado actual, aunque esté infectado. Si algo sale mal durante la limpieza, tendrás de dónde tirar, y sirve para investigar después por dónde entraron.
Limpiar la web
Hay dos caminos, y muchas veces se combinan.
Restaurar una copia de seguridad limpia, de antes del ataque. Es lo más rápido si la tienes. El problema es saber cuándo empezó: un ataque puede pasar semanas sin notarse, y por eso la documentación de WordPress recomienda guardar varias copias de fechas distintas. Restaurar no basta por sí solo: si no cierras el agujero por el que entraron, volverán a entrar.
Limpiar a mano, siguiendo los pasos de la documentación oficial:
- Reinstala WordPress con la misma versión que tenías (con otra puede
romperse algo), subiendo los ficheros por FTP o SFTP. No lo hagas desde el
escritorio: esa reinstalación sólo sobrescribe, y los atacantes suelen
dejar ficheros nuevos que no se borrarían. Las carpetas
wp-adminywp-includesse pueden sustituir enteras. - Revisa
wp-contentcon cuidado, porque ahí están tus temas, plugins e imágenes. Reinstala plugins y temas desde el directorio oficial o desde su fabricante. Los ficheros que siempre hay que mirar:.htaccess(en la raíz y en otras carpetas),index.php, y elheader.php, elfooter.phpy elfunctions.phpdel tema. - Revisa los usuarios y borra los administradores que no reconozcas. Si el
atacante te ha quitado tu cuenta, se puede recuperar cambiando la
contraseña o el correo del usuario directamente en la base de datos (tabla
wp_users) con phpMyAdmin o una herramienta parecida. - Pasa un escáner. WordPress recomienda combinar uno que funcione como plugin dentro de la web con uno remoto que la mire desde fuera.
Cerrar el agujero
Con la web limpia:
- Actualiza WordPress, los plugins y el tema a la última versión. Borra los plugins y temas que no uses.
- Vuelve a cambiar las contraseñas: las de antes de limpiar pueden estar
en manos del atacante. Si cambias también el usuario o la contraseña de la
base de datos, recuerda ponerlos en
wp-config.php. - Activa la verificación en dos pasos en todas las cuentas de administrador. WordPress no la trae de serie: hace falta un plugin.
- Busca por dónde entraron. Es lo más difícil para quien no se dedica a esto, pero es lo que evita que se repita. Los registros de acceso y de errores del servidor (pídeselos al hosting) guardan qué IP pidió qué y a qué hora. INCIBE señala como vías de entrada habituales las contraseñas robadas, los gestores de contenido y plugins sin actualizar o mal configurados, y otras webs ya comprometidas en el mismo servidor.
Si Google ha marcado la web
Cuando Google detecta una web hackeada, puede enseñar un aviso en los resultados o una pantalla roja en el navegador antes de entrar. Para quitarlo:
- La web tiene que estar verificada en Search Console.
- Arréglalo todo, no una parte. Las URLs que enseña el informe son sólo ejemplos: que no salgan más no quiere decir que no haya más. Arreglar parte de las páginas no devuelve parte de los resultados.
- Asegúrate de que la web está en línea y de que no bloquea a Google
(ni
robots.txtninoindex). - En el informe de Problemas de seguridad, pulsa Solicitar revisión y explica qué pasó, qué has hecho y cuál es el resultado.
- No vuelvas a pedirla hasta que te contesten. Pedirla antes de tiempo o sin haberlo arreglado alarga los plazos.
Los plazos orientativos que da Google: unos días si era malware, alrededor de un día si era phishing y hasta varias semanas si era spam inyectado. Cuando da la web por limpia, los avisos desaparecen en un máximo de 72 horas. Si rechaza la revisión, vuelve a buscar ficheros nuevos o modificados: casi siempre quedaba algo.
Si eres una empresa en España
INCIBE recomienda, ante una web comprometida, avisar a INCIBE-CERT, denunciar ante la Policía Nacional o la Guardia Civil y guardar una copia de lo afectado como prueba antes de restaurar. Su Línea de Ayuda en Ciberseguridad atiende en el 017, por WhatsApp en el 900 116 117 y por Telegram en @INCIBE017.
Para que no vuelva a pasar
Lo que más protege es lo menos vistoso: actualizar a menudo, tener copias de seguridad que de verdad se puedan restaurar y no dar más accesos de los necesarios. Lo contamos en Lo básico para proteger WordPress y en Actualizar WordPress sin romper nada. Y si quieres saber si tus plugins tienen vulnerabilidades conocidas, pruébalo en Comprueba si te afecta.