miércoles, 24 de febrero de 2010

Creación de Botnet para realizar Ataques de DoS. Post I

Buenas a todos, como sabéis últimamente se han llevado a cabo numerosos ataques de DoS (Denegación de Servicio) producidos por Botnets creadas por Hackers con la intención de extorsionar al usuario o administrador de determinado sitio web además de para incordiar a algunos cientos o miles de usuarios como el caso de la Botnet de 25.000 máquinas producida por el Windows 7 “Pirate edition”, tenéis la noticia aquí:

http://www.elgrupoinformatico.com/windows-pirata-provocado-una-botnet-000-pcs-t5642.html

La creación de un malware para infectar máquinas con esta intención la verdad que es todo un arte, aunque sea un mal arte }:-P, y cada vez los troyanos producidos para hacer la infección y poder hacerse con el control de las máquinas son mas eficientes y permiten hacerse con mayor control en las máquinas. Por suerte para los usuarios, en la actualidad hay soluciones, como la política de no ejecutar cosas como administrador, que de poco sirve cuando al usuario se le muestra el cartelito de “Te vamos a sacar todo tu dinero del banco, secuestraremos a tu mujer y nos la cepillaremos en tu coche” y pulsa “SÍ, Acepto”, junto con firewalls, antivirus actualizados, etc.

El funcionamiento normal de los troyanos utilizados para la creación de Botnets consiste en infectar las máquinas a través de los keygen.exe y demás programas que un usuario desprevenido puede utilizar y dejar un puerto abierto en la máquina desde el que poderse comunicar el Hacker con la máquina mediante comandos propios o a través del IRC y el puerto 6667 "manteniendo una conversación" con la máquina infectada. En estos casos para realizar un ataque con la Botnet, sería el Hacker el encargado de dar la orden a todas las máquinas infectadas, de la víctima a la que tienen que atacar:

image

Este sistema tiene el problema de que en Windows Vista y 7 les suele ser mas difícil hacer la infección ante la dificultad de poder abrir un puerto en el equipo, aunque no imposible como visteis con el ejemplo del principio del post, y la mayor parte de las infecciones se realizan en XP.

Una posible solución que se me ocurre para evitar tener que abrir un puerto en la máquina sería utilizar uno que esté ya abierto, ¿y que puerto es el abierto por excelencia?, el 80!.

Una arquitectura perfectamente válida para controlar una Botnet para hacer DoSs podría ser la siguiente:

image Cómo veis en la imagen, ahora ya no es el Hacker el que se comunica con las máquinas infectas, sino que estas son las que se comunican con él como si fuese un servicio web, al estilo SOA y SaaS. Imaginaos que tenemos una página web en internet, en esta web tenemos por ejemplo, un textbox y un botón, y que nos añade en un fichero de texto subido al mismo servidor que la página web, la URL que introduzcamos en el textbox tras pulsar al botón.

De esta manera tendremos accesible desde cualquier punto de internet un fichero de texto con la URL que queremos atacar y que podremos modificar a nuestro antojo en cualquier momento. Ahora solo nos queda hacer un pequeño programa que acceda a ese fichero, vea la URL a la que deba atacar y se ponga a hacer peticiones masivas.

Este programa ocuparía poco mas de 20 líneas y sería fácilmente programable por casi cualquier programador. Ahora queda el problema de ocultar el programa, porque evidentemente ningún usuario cuando vea nuestro programa lo va a dejar abierto :-). Una manera bastante sencilla de ocultarlo sin necesidad de utilizar Rootkits podría ser la siguiente que posteó mi amigo Manu hace unos días en Windows Técnico y que consiste en la modificación de programas ya hechos en .Net:

http://www.windowstecnico.com/archive/2010/02/09/modificaci-243-n-e-inyecci-243-n-de-c-243-digo-en-ensamblados-net.aspx

¿Os imagináis un programa conocido como el Paint.net o cualquier otro que en el propio código llevase unas líneas añadidas para hacer peticiones http masivas a quien nos de la real gana? A veces te acojona cuando te pones a darle al tarro de lo que se puede hacer con un poquito de tiempo libre y un compilador…

Esta implementación solo tiene un problema en principio y es que si hay demasiada gente utilizando nuestra aplicación maligna, la Botnet nos puede tumbar nuestra propia página al ir a buscar la URL a la que deben atacar ]:-x

Si tengo tiempo intentaré hacer una implementación del sistema para mostrároslo, aunque entre el trabajo, el paper que estamos preparando Luis y yo con el iR, Anubis y otros dos proyectos que tengo entre manos que os contaré en unas semanas no doy a basto :-). Os mantengo al día!

saludos!

4 comentarios:

Jandro dijo...

No uses la palabra hacker con un termino incorrecto ¬¬

Juan Antonio Calles dijo...

Disculpe Sr. Cracker XD

WiNSoCk dijo...

Para esta implementación de ddos, serviría una web tipo mename y un iframe.

Escribiendo tal gilipolled... ahora imaginemos que atacan la url, que se encuentre en el último comentario dejado en meneame... Ahorras recursos (servidor).

Otra burrada... para infectar, pagar X€, a gente que suba programas en taringa/vagos...

en fin, para hacer el bobo, solo se necesita algo de tiempo libre y muchas ganas de estar en prisión.

Juan Antonio Calles dijo...

Buenas @WINSoCk, el primer parrafo y el último de tu comentario muy cuerdos y de acuerdo con tu opinión :), el resto, como tu dices, bobadas varias ;)

un saludo