domingo, 6 de abril de 2014

Botnets simples, baratas y silenciosas

Pensemos por un momento el coste en tiempo que ha de invertir un delincuente en fabricar su botnet. Primero necesita infectar una gran masa de usuarios, luego va a precisar de un troyano y un agente que permanezca residente en los equipos de las víctimas y por supuesto una infraestructura para coordinar todos los nodos de la involuntaria red. A todo esto hay que sumarle el factor tiempo.

Una botnet requiere de un mantenimiento, actualizaciones periódicas y sostener su población, siempre en caída, por culpa de los amigos informáticos y administradores precavidos. Por supuesto, luego está la competencia y la poca facilidad que tiene el mercado para anunciar sus servicios en canales establecidos ("Se alquila botnet a buen precio, rebajas a grupos. Razón aquí."). Eso es una verdadera inversión en I+D, ingeniería social, arquitectura distribuida y marketing, no está al alcance de cualquiera. Complejo ¿verdad?

El verano pasado, Jeremiah Grossman y Matt Johansen de White Hat Security, dieron una charla en la Black Hat USA sobre lo fácil y relativamente barato que podría resultar un ataque de denegación de servicio distribuido inyectando Javascript o HTML especialmente "horneado", de manera legal, a través de las redes de publicidad en linea (léase, AdSense y otros). Esto es así, pagas, metes tu código en la red publicitaria y te sientas a ver como cae la víctima.

El código Javascript incluiría un bucle para generar visitas continuas mientras esté cargada la página. Una vez el visitante cierra el navegador o pestaña deja de "atacar". Es una técnica sigilosa, ya que no deja huella puesto que no hay infección. Ellos advirtieron del peligro, un vector interesante, silencioso y bastante barato.

Hace unos días, en el blog deIncapsula, escribían una crónica sobre un peculiar ataque DDoS que afectó a uno de sus clientes. Esto no es ninguna novedad, este tipo de ataques se sufre a diario, algunas veces como parte de una estrategia, como método de chantaje o simplemente como protesta. Lo novedoso procedía de como se había generado un tráfico de 20 millones de peticiones desde 22.000 navegadores, cifras de Incapsula. 

El origen: No revelan el domino, pero Incapsula habla de un sitio dentro del top 50 de Alexa cuyo modelo de negocio se basa en el contenido de vídeo. Estar en el top 50 de Alexa asegura tráfico, mucho tráfico, tanto que podría generar una condición de denegación de servicio si un tercero recibe referencias directas desde este sitio, algo parecido al efecto Slashdot.

Los atacantes encontraron una vulnerabilidad de Cross-site scripting (XSS) almacenado en dicho sitio. Esto les permitía dos cosas: Inyectar código Javascript y que este código permaneciera en el servidor, sin necesidad de distribuirlo en un enlace o formulario, esperando que alguien visitase la página donde carga dicho script. En dicho caso, les permitía inyectar código en una etiqueta "img" asociada al perfil del usuario.

Cada vez que alguien visitaba un vídeo colgado por este perfil (de los atacantes, obviamente) cargaba un script dentro de un iframe invisible que comenzaba a generar visitas hacia el sitio que querían tirar. Tal y como dicen los de Incapsula, visitar un perfil y salir dura unos segundos, pero ¿Cuantas visitas podrían generarse cuando se está viendo un vídeo de varios minutos?.

Como vemos no hace falta una gran inversión intelectual, de tiempo y dinero para crear una herramienta útil para atacar. Los atacantes unieron de una manera simplista pero muy efectiva varios conceptos sencillos: una vulnerabilidad que permitía ejecutar código arbitrario en el cliente, un sitio con un gran tráfico y algo de ingeniería social ¿Un vídeo turbio quizás? (No preguntéis, efectivamente está en el top 50 de Alexa).


David García

Twitter: @dgn1729

No hay comentarios:

Publicar un comentario en la entrada