29 septiembre, 2022 Jose Antonio Vila

Mi web WordPress ha sido hackeada, ¿ahora qué hago?

Guste más o menos, WordPress está detrás de un alto porcentaje de las webs activas del mundo. Su popularidad, su facilidad de uso, el (teórico) bajo coste que supone para su desarrollo y un sinfín de etcéteras hacen que muchos usuarios opten por este CMS para desarrollar sus páginas webs corporativas.
Pero WordPress y su popularidad, igual que tienen una gran cantidad de ventajas, tiene muchos inconvenientes. El principal de ellos es, irónicamente, su popularidad. El estar tan extendido en el mundo online hace que sea una presa muy apetecible para ataques y para que los hackers de medio mundo inviertan su tiempo en explotar los agujeros de seguridad de la plataforma.

Si estás leyendo esta entrada, es porque probablemente tu web en WordPress haya sufrido un ataque hacker o sospechas que ha podido ser así. Lo primero y más importante: tranquilo, a todos nos ha pasado. De echo, el origen de este post es que en los últimos meses varios nuevos clientes han venido a mí con este problema.
Lo segundo es que no hay un porqué, que suele ser la pregunta más recurrente. Te ha tocado a ti como le podía haber tocado a la competencia. Generalmente los ataques son aleatorios, aunque hay algunas cosas que se pueden hacer para prevenir y que explicaré en un futuro post la semana que viene.

Y por último y más importante, ¿qué puedes hacer ahora?
Bien, aquí os dejo unos pasos por si sois aventureros y queréis probar por vuestra cuenta a solucionar el problema. Obviamente, lo ideal es contactar con una empresa o un desarrollador freelance que os pueda ayudar porque, como dice el refrán, el cementerio está lleno de valientes. Si no sabéis que estáis haciendo al 100%, podéis empeorar la situación.

Mi WordPress ha sufrido un ataque hacker, ¿y ahora qué?

Vamos a ir por pasos. Lo primero que hay que hacer es volver a tener la página activa, para después limpiar el código de todo el código malicioso que se haya podido insertar en los archivos de WordPress y, por último, quitar las puertas de acceso que haya podido utilizar nuestro hacker

1. Si es posible, restaura una copia antigua de la web

A veces, la mejor solución es la más sencilla. Si tienes un servicio de backups automáticos (o manuales) con tu proveedor de hosting, contacta con ellos y que restauren una copia de seguridad de tu WordPress con fecha anterior a cuando tu web ha empezado a fallar.
Es posible que el código siga «infectado», pero a buen seguro la web estará activa y visible a tus usuarios. Ahora nos encargamos de limpiar.

2. Si no hay backups, hay que conseguir acceder al wp-admin

Seguramente, además de la parte pública de la web, el administrador de tu WordPress también sea inaccesible (si no es el caso, puedes pasar al paso siguiente). Probablemente, este sea el punto más complejo, porque requiere de conocimientos de programación en PHP o, al menos, hacer búsquedas detalladas en Google que nos ayuden a encontrar una solución.
Para poder restaurar el acceso al wp-admin hay que ver qué problema es el que está impidiendo que accedamos. ¿Y cómo encontramos ese problema? Pues vamos a la solución más clásica y casi siempre efectiva.

Accede por FTP a tu hosting, en el directorio raíz (generalmente el primero que carga al acceder, sino suele ser una carpeta public_html o www) busca el archivo wp_config.php y ábrelo con un editor de texto. En este archivo busca define( ‘WP_DEBUG’, false ); y cambia ese false por true. Guarda los cambios y sube el nuevo archivo, reemplazando el anterior.
Con este cambio, cuando queramos acceder al wp-admin es bastante probable que nuestro navegador nos muestre una serie de textos en los que especificará cuál es el error y en qué archivo se encuentra. Aquí sólo nos queda encontrar los archivos citados y corregir el error que están provocando. Es muy probable que tan solo haya un par de líneas al inicio del archivo con caracteres aleatorios y baste borrarlas, pero en cualquier caso es necesario saber qué se está haciendo.

3. Plugin para limpiar el código malicioso

Una vez que hemos conseguido acceder al administrador de nuestro WordPress, vamos a instalar un plugin que nos ayudará a detectar qué archivos han sido corrompidos y/o modificados. Necesitamos restaurar esos ficheros para que la web vuelva a funcionar con normalidad y para que el hacker no tenga el acceso nuevamente a nuestro sitio.
En este caso, el plugin es Wordfence. Este maravilloso plugin, en su versión gratuita, nos permite realizar un análisis de nuestro WordPress y detectar qué archivos han sido modificados, entre muchísimas otras cosas.

Después de instalar y activar Wordfence (ya sea a través del administrador o vía FTP), vamos a la opción Analizar dentro del menú lateral izquierdo y hacemos click en Iniciar una nueva exploración. Pasado un rato (puede tardar, paciencia) nos dará un montón de información útil. En nuestro caso, lo que nos interesa por el momento son los que indican que un archivo se ha modificado. En algunas ocasiones, el propio plugin nos da las opciones de reparar el archivo y de ver las diferencias.

A partir de aquí queda en manos de cada uno como proceder. Personalmente, prefiero ver las diferencias, acceder vía FTP al archivo en cuestión y repararlo a mano. O, si no tenemos la opción de ver las diferencias, acceder directamente al archivo y ver qué hay de extraño. Por lo general, el código del hacker en el WordPress suele ser MUY evidente.

Otra opción (alternativa y complementaria al uso de Wordfence) es la de rastrear a través del FTP la fecha de modificación de los archivos. Si ves que en la carpeta de un plugin todos los archivos tienen como última modificación un día de hace 7 meses, menos uno que fue modificado hace 3 días, ese será el archivo con el código malicioso. Es mucho más tedioso, pero puede ser más preciso.

4. Actualiza WordPress, plugins y themes

En este punto ya deberíamos de tener la web nuevamente funcionando y el código limpio del rastro del hacker. Podríamos dejarlo aquí, pero vamos a hacer unos pasos más para garantizar la seguridad y prevenir que volvamos a sufrir un nuevo ataque.
Lo primero y más fundamental: actualiza todo lo que sea actualizable. No voy a explicar el proceso para hacer cada cosa (quizás en otro post en el futuro), pero es el momento de actualizar tanto la versión de WordPress, como todos los plugins que tengan una nueva versión (Wordfence nos lo habrá señalado anteriormente) y la plantilla que estemos utilizando. Lo más seguro es que hayan accedido a nuestro sitio por un agujero de seguridad en alguna versión obsoleta de uno de estos elementos, así que la mejor manera de cerrar esa puerta es con la actualización.

5. Modifica las contraseñas

Como decía en el anterior punto, la mayor parte de las veces el ataque viene a través de un fallo en la seguridad de un plugin o de una versión antigua de nuestro WordPress. Pero no siempre es así. Hay veces que han accedido a través del FTP o porque han conseguido el usuario y la contraseña del usuario administrador de nuestro wp-admin. O, yendo más allá, quizás después del ataque nuestro hacker se ha parado 10 minutos más a conseguir todas las contraseñas posibles para garantizarse un acceso en caso de que cerremos sus vías de entrada principales.

Sea como fuere, hay que modificar todas las contraseñas relacionadas con el sitio WordPress hackeado. ¿Y estas cuales son? Contraseña de la cuenta de acceso vía FTP, contraseña de los editores/administradores del sitio y contraseña de acceso a la base de datos. Recuerda que la contraseña de la base de datos aparece en el archivo wp-config.php, así que no olvides actualizarla allí para que todo siga funcionando.

Con estos 5 pasos, ya estaría la mitad del trabajo hecho. Sí, sólo la mitad. Recuperar un sitio WordPress hackeado es solo una parte del trabajo, seguramente la más importante en el presente, pero hay que seguir trabajando. La otra mitad del trabajo será prevenir futuros ataques aumentando la seguridad de nuestra web hecha con WordPress.

Raiola Networks
Tagged: , , ,

Sobre mí

Jose Antonio Vila Desarrollando webs desde hace más de 10 años. Hace mucho que dejé atrás la vida en agencias y me abracé a la vida de freelance.
🖥 Si tienes algún proyecto en mente, contacta conmigo.
📖 Si quieres leer más cosas que escribo, echa un ojo a mi web personal

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *