
Recientemente he recibido el que creo que es el primer ataque que lanzan contra este blog, algún amigo de lo ajeno ha conseguido la contraseña del usuario administrador, ha modificado algunos archivos de un plugin y ha colocado un archivo con malas pulgas dentro del contenido del blog. Aparentemente no han roto nada más y creo que he conseguido repeler el ataque así que, a riesgo de enfadar más al atacante (que seguramente va a leer esto) os voy a contar mi experiencia por si le puede servir a alguien más.
Todo empezó cuando recibí un correo con este contenido
Contraseña perdida y cambiada para el usuario: dondado
Alguna otra vez había recibido correos de alguien que pedía el cambio de contraseña pero nunca de que efectivamente se había cambiado por lo que me preocupé y en cuanto tuve ocasión me puse a investigar qué pasaba. Descargué los logs de acceso al servidor apache y comienzo la investigación.
Entrar con el usuario y volver a pedir una nueva contraseña, una vez recibida acceder con ese usuario administrador al blog.
Desactivar todos los plugins por si han hecho cambios en ellos
Volver a cambiar la contraseña del administrador y ya de paso la cuenta de correo por si viene por ahí el fallo de seguridad.
Acceder al log de acceso al servidor y buscar los accesos a wp-login.php y fijarse en la IP desde la que se han hecho el que se corresponda con la hora en que te llegó el correo del cambio de contraseña u otra hora en la que sepas que tú no has accedido.
Buscar todo lo que se haya hecho desde esa IP: en mi caso, además del cambio de contraseña, se ve que había modificado un plugin desde el editor de plugins de wordpress.
Con algún programa de comparación, compara los archivos que tenías (benditos backups) con los que han dejado los atacantes, así he detectado yo los cambios que habían hecho en el plugin simple-tags
A). Limitar los accesos al directorio wp-admin. Lo normal es que al panel de administración sólo entres desde tu casa, para ello basta con añadir, en el directorio /wp-admin/ un archivo con el nombre .htaccess con el siguiente contenido
Sustituyendo las xxx.xxx.xxx.xxx por tus direcciones IP desde las que quieras acceder a la administración, por ejemplo la de casa y la del trabajo.
Si no sabes tu dirección IP puedes visitar, por ejemplo, esta dirección http://whatismyipaddress.com/ donde te la dicen o, si tienes cuenta de GMail, en la parte inferior aparece tu IP y pinchando en "información detallada", un listado con las IPs desde las que has accedido últimamente a tu cuenta de gmail.
Ten en cuanto que muchos tenemos IPs dinámicas, es decir, que nuestro operador nos las cambia de vez en cuando, así que recuérdalo por si al cabo de unas semanas no consigues entrar ni siquiera tú. Una opción puede ser utilizar asteriscos en las dos últimos tramos de la IP, que es lo que suelen cambiar los ISP. La línea en ese caso te quedaría con la forma
B) Deshabilitar los editores internos de wordpress, el editor de plugins y el editor de themes. No sé vosotros, pero yo, salvo en contadas ocasiones no los utilizo, así que más vale
tenerlos deshabilitados y reactivarlos sólo cuando sean necesarios. Para deshabilitarlos hay que añadir la siguiente línea en el archivo wp-config.php
Hay que ser desconfiado y no dar por sentado que hemos encontrado todo lo que han modificado, más vale prevenir.
Volver a descargar todos los plugins desde la página de wordpress, borrar los que tienes instalados actualmente y volverlos a instalar.
Descargar la última versión de wordpress y volver a hacer una instalación limpia. Si como yo, además hacéis las actualizaciones de vuestro WP sólo de forma incremental es conveniente hacer esto de vez en cuando para eliminar posibles archivos que hayan quedado en desuso.
Si lo han intentado una vez es muy posible que vuelvan así que es mejor estar preparado esperándoles:
Para generar unas nuevas visita el generador aleatorio de claves de WP y copia y pega sobre tus anteriores líneas del wp-config.php
Aún no he logrado averiguar cómo consiguieron acceso a mi blog en su primer intento (en el segundo no lo consiguieron). Puede que sea una vulnerabilidad no descubierta de wordpress aunque me inclino a pensar que sea algo más concreto de mi instalación, por ejemplo, las claves del wp-config.php no las cambiaba desde que las puse hace muchos meses (cuando salió la versión 2.6), quizá incluso tenía unas claves genéricas copiadas de algún sitio que les facilitaban conseguir la key para acceder a la administración. Quién sabe, espero no volver a llevarme sustos como este ¿Y tú, has sufrido algún intento de ataque de tu blog?.
Por último agradecer a la gente de Iteisa su interés y ayuda para conseguir salir de este entuerto.
Bueno, no he entendido todo, pero sin duda es un curso rápido sobre supervivencia tras ataque de hacker.
P.D.: Aprovechando la tarde libre no? jajajajajajajajaja
@Oscar Sin Nick, El post es sobre un tema un poco áspero por lo técnico pero en realidad no digo nada que sea complicado de hacer, si alguna vez te pasa a ti ya sabes dónde me tienes auqnue estando en wordpress.com dispones de mejor soporte técnico del que te sabría dar yo
@dondado, Fíjate que hasta se puede ver mi blog en móvil sin que yo haya hecho nada…
En serio, buen post.
P.D.: Gracias por el soporte técnico.
Excelente post por el sentido común y los tips de securización
@YJ, Gracias, viniendo de ti es un gran cumplido
a riesgo de enfadar más al atacante? jajaja, solo te ha quedado decirle las puertas que has dejado abiertas…
@expotienda, espero que ninguna, de todas formas tengo los backups afilados por lo que pueda pasar
Muy buenas pistas David, la verdad es que a mí nunca me ha pasado esto, pero sí algunas cosas parecidas y al menos a mi me echan a perder el día.
Gracias por los consejos!
Espero que nunca me pase nada parecido… crucemos los dedos, porque no se si sabría tomar el control o tendría que hacer unas llamadas…
Una forma sencilla de ver qué ha sido modificado es revisar las fechas de modificación de los ficheros. Si el ataque es más o menos complejo y tuvo varios pasos, puedes reconstruirlo a partir de la secuencia de modificaciones.
Bueno, en realidad, como la edición la hicieron desde la interfaz web del blog se veía bien en el log qué es lo que habían tocado, pero ante la duda preferí reinstalar.
Excelente artículo, eso sí
Bueno, es que si te pasaras a Drupal no te pasarian esas cosas
Me alegro que al final todo se haya resuelto
Mmmm encontré tu blog leyendo uno de los tantos twitter que suelo consultar. Me ha llamado mucha la atención que consiguieran acceder tan “rápida y limpiamente” y hoy, leyendo correo atrasados y sin tener claro por dónde consiguieron entrar:
http://seclists.org/fulldisclosure/2010/Aug/15
http://seclists.org/fulldisclosure/2010/Aug/48
¿tal vez?
Bueno… solo son mis dos centavos :-p
@Pasaba por aqui, gracias, pero no parece, no tengo ese plugin instalado y por los logs aparentemente fueron sólo contra el wp-login