Antecedentes

Ayer 28 de diciembre de 2020 he sufrido el primer hackeo de mi WordPress, y espero que último, una broma «idónea» para la fecha.

Quería entrar a la administración del WordPress para crear una entrada nueva, pero tras realizar el login, la web me llevaba a otra página que no era la mía, es decir, tras hacer login en mi web, no acudía a la administración de WordPress, si no a otra URL.

Analizar la web en búsqueda de información

Lo primero de todo era saber qué le sucedía a mi web, ¿Se veía bien?, ¿Al entrar llevaba también a otra página?, ¿Mostraba anuncios de temática no relacionada? Es decir, quería tratar de obtener un análisis de daños rápido.

Revisé toda mi web en una pestaña en modo privado y a priori, no había nada raro, los textos e imágenes eran correctos. Toda la información parecía estar bien.

Posteriormente me conecté por FileZilla al servidor y ver si algún fichero se había modificado recientemente para tratar de revertir dicho cambio.

La fecha de modificación era bastante anterior a la detección del hackeo

No había nada que se hubiera actualizado con fecha reciente, revisé el htaccess por si hubiera alguna redirección, el wp-config por si me estuviera conectando a otra base de datos (teniendo en cuenta que tendrían que haber clonado mi usuario), revisé la carpeta de uploads y la de los plugins por si podría ver algo sospechoso… pero no había nada.

Por último, me conecté a la base de datos y fui directamente a la tabla «options» de WordPress, que es donde se guarda la dirección de la página web… ¡Premio! La tabla había sido alterada y la que tenía que ser la dirección principal de mi web había sido modificada.

Tabla options de WordPress modificada

La tabla options de WordPress modificada

Tras realizar el cambio en la tabla options, accedí de nuevo a mi web, pero iba muy lenta, seguramente algo más había sido tocado…

Para revisar enlaces rotos y posibles redirecciones a otras webs, como suciedía al entrar en la administración, analicé la web por la herramienta gratuita Screaming Frog, entonces ví que todas las webs tenían enlaces externos que habían sido añadidos…

Toma de decisiones

Toda mi web estaba infectada, la velocidad de navegación era penosa… una desdicha para un 28 de diciembre…

Se me planteaban dos opciones:

  1. Tratar de recuperar toda la web eliminando todos los enlaces y luego revisar el tema de la velocidad web (teniendo en cuenta que no hubiera nada más roto por ahí)
  2. Restaurar una copia de seguridad del 10/12/2020 y rehacer 3 las últimas entradas de blog.

Ante esta disyuntiva, opté por la que menos tiempo me iba a llevar, que era trabajar con la copia de seguridad, pero, para no perder ese trabajo de las 3 últimas entradas de blog, lo que hice fué copiarlas (desde la web hackeada) al notepad++ con la idea de pegarlas posteriormente.

Tras restaurar el backup, busqué codigo malicioso en las entradas que tenía temporalmente en el notepad++. En mi caso, «solo» se estaba insertando el mismo enlace gran cantidad de veces.

Ejemplo de inyección de código

Para eliminar todos estos enlaces tan solo hice una búsqueda y reemplazo de estos enlaces, como se observa en la siguiente imagen.

Reemplezar código malicioso

Seguridad proactiva

Cuando recuperé todo trabajo perdido, hice una nueva copia de seguridad desde el panel Plesk y me dediqué a actualizar mis plugins, el tema y el WordPress a las últimas versiones disponibles, a pesar de que hace menos de una semana, había aplicado todas las actualizaciones disponibles.

Tras corroborar el buen funcionamiento de la plataforma, tras la restauración de la copia de seguridad y actualizaciones correspondientes, realicé las siguientes acciones:

  • Revisar los permisos de las carpetas y ficheros de WordPress, en mi caso, los permisos los tenía bien aplicados.

  • Actualizar la contraseña de mi panel plesk

  • Actualizar la contraseña del usuario de conexión a la base de datos, actualizando también el fichero wp-config.

  • Actualizar la contraseña del usuario administrador de la web

  • Actualizar la contraseña de conexión al FTP

  • Actualizar la contraseña del correo corporativo

Conclusión

A pesar de que actualizo la web con frecuencia y de que tengo algunos plugins de seguridad, mi WordPress ha sido hackeado y no acabo bien de comprender por dónde han podido llegar a explotar la vulnerabilidad. Bien es cierto que eliminé todo acerca de la web hackeada y no he podido mirar en detalle los ficheros y la base de datos, además de los logs de los sistemas de seguridad de la web.

En cuanto al access log del servidor, si he detectado algunas IPs maliciosas, pero no dispongo de herramientas para procesar logs de casi 32000 filas.

Tras haber analizado los daños y actuar en consecuencia de levantar la web lo más rápidamente posible, restauré la copia de seguridad y actualizé la web. Tras esto, todo quedó como nuevo, habiendo dedicado tan solo un par de horas a recuperar el buen funcionamiento de la plataforma.

El realizar un buen mantenimineto web es crucial… Si no hubiera realizado copias de seguridad, tendría que haber acudido a mi hosting y haber pagado por la restauración de una copia.

En un caso aún peor, si es que se diera este caso, si el hosting no realizara copias de seguridad, seguramente habría perdido todo el trabajo realizado o me llevaría una cantidad de horas muy elevada.

Creo que es una locura, con el trabajo que lleva realizar una web, que no esté protegida con un mantenimiento adecuado… ¿No te parece?

¡Valora este artículo y ayúdame a mejorar la calidad del blog, si no te ha servido, déjame un comentario para revisarlo!
(Votos: 0 Promedio: 0)