By [Q]3rV[0]
Quien no fantaseo alguna vez con tener miles y miles de ordenadores bajo su poder?, no me refiero con el objetivo de desatar un caos o incluso robar masivamente información, sino para simplemente, tener el profundo sentimiento de "control". O hablando desde el otro "lado" a quien no se le ocurrio la idea de desbaratar botnets alguna vez?, cazarlas
por el simple echo de ver que ahà adentro, descubrir el numero de maquinas que cayeron bajo su poder? y quizá hasta tomar el control?. Bueno, este post va dedicado a esta ultima fantasÃa.
Como encontramos una botnet?
Vamos a lo primero, para cazar una botnet hay que localizarla, existen diversos servicios online que se dedican al traceo de estas, en los que se publican el path del C&C, información de los ejecutables usados para la infección, el tipo de botnet, etc.
Cybercrime-tracker
![]() |
Cybercrime-Tracker |
La cual mantiene archivado una gran diversidad de malware como la botnet Blackhole, Citadel, Zeus, Pony, IceIX, VertexNet entre otras.
Abuse.ch
Otra de gran utilidad es abuse.ch contando con un tracker para la Zeus, Feodo, Palevo y la SpyEye.
![]() |
Zeus-Tracker |
Posiblemente existan otras listas de botnets, pero por el momento son las unicas que conozco.
También podemos hacer uso de algún motor de búsqueda como google. Implementando uno que otro google dork llevándonos por las estructura del panel que deseemos localizar, por ejemplo, la ruta del C&C por defecto en la botnet Zeus es el siguiente: /cp.php?m=login.
inurl:/cp.php?m=login
De ahà en mas podrÃamos ir variando, ya que probablemente el responsable haya echo algunas modificaciones al script, incluso cambiado el nombre, en fin todo va en el ensayo y error. Tal vez nos topemos con alguna que otra semi camuflada.
inurl:/adm.php?m=login
intext:"Remember (MD5 cookies)" ext:php
Hosting1
Partamos por el punto de que una botnet puede estar montada en un:- Servicio de hosting free
- Servicio de hosting pago
- Hosting hacked
- VPS
En mi caso se hallaba alojada en lo que parecÃa ser un servicio de hosting pago, llamémoslo hosting1.com.
A simple vista me atrevÃa a decir que el encargado del malware obtuvo acceso ilÃcito, por lo que lo mas seguro es que la web presentara alguna que otra vulnerabilidad que me permitiese la entrada, si es que no fue parcheada por el atacante, para alejar a los curiosos.
Realmente aun quedaba alguna que otra brecha.
Fijémonos haber que hay detrás del panel.
Un upload bastante jodido y otra SQLI. Luego de realizar varios intentos decidà dejar de lado la subida de ficheros, pero si podÃa inyectar comandos en la db, solo tenia que buscar la tabla con las credenciales de la botnet.
![]() |
Estructura de la db Zeus |
Por desgracia no habÃa rastros de la Zeus.
Lo mas probable es que corra con un usuario diferente.
Después de navegar por la aplicación, me encontré con la zona de acceso a clientes.
Evidentemente trabajaba con otro user ya que las credenciales del formulario no estaban en la anterior base de datos. Asà que me registre para ponerme en busca de alguna inyección u otra abertura que me de acceso.
Lo mas probable es que corra con un usuario diferente.
Después de navegar por la aplicación, me encontré con la zona de acceso a clientes.
Evidentemente trabajaba con otro user ya que las credenciales del formulario no estaban en la anterior base de datos. Asà que me registre para ponerme en busca de alguna inyección u otra abertura que me de acceso.
Al rato termine por darme por vencido y decidà ir por otra via, enumerar los dominios en el servidor, tratar de acceder mediante alguno de ellos y asà escalar hasta hosting1.com.
Si no leÃste el articulo "Engañando al WAF con XMP" podes ingresar al siguiente link donde detallo como conseguà acceso al servidor mediante hosting2.com.
Siguiendo con el apartado cabe destacar algo interesante que me encontré mediante la recolección de información:
Parece que el administrador de Evilnet no tiene buena memoria y prefiere usar la misma llave para todo, podrÃa apostar que este "descuido" por llamarlo de manera elegante, se repite en los demás dominios bajo su autorÃa. Con este criterio quien sabe, si llegara a probar, hasta me podrÃa cargar el facebook y el twitter del admin o hasta la sesión ssh personal, espero no llegarle hasta abajo de la cama jeje!.
Pero en fin ya estaba dentro de hosting2.com, solo me faltaba escalar hasta hosting1.com, lo primero que hice fue tratar de leer el fichero de configuración de la botnet que se encuentra en el directorio base /system/config.php, mediante la creación de un enlace simbólico, pero para mi mala suerte no funciono. Entonces recordé el descuido del administrador e intente ingresar con la llave maestra por asà decirlo, mediante otro usuario en la db que pertenezca a hosting1.com, por lo que veÃa, la estrutura de nombres tiene la siguiente regla:
"Nombre que hace referencia al dominio"_XXXXXXX
ya habÃa intentado loguearme como hosting1_xxxxxxx, entonces fui probando diversas combinaciones de usuarios.
Hasta que logre ingresar como hosting1 solamente, el cual tenia acceso a todas las dbs dentro de la aplicación.
Evilnet
El proveedor de hosting, llamémoslo "Evilnet", por motivos obvios no voy a dar nombres. Evilnet ofrece servicio de hosting, diseño y programación web, varios dominios que pertenecen a Evilnet, usan la misma estructura de CMS, el mismo con el que corre nuestro hosting1.com por acá tenemos otro similar y por supuesto junto con la misma SQLI :)Si no leÃste el articulo "Engañando al WAF con XMP" podes ingresar al siguiente link donde detallo como conseguà acceso al servidor mediante hosting2.com.
Siguiendo con el apartado cabe destacar algo interesante que me encontré mediante la recolección de información:
- Ambas webs usan el mismo password en el formulario de administración.
- Ambas webs cuentan con el mismo password en la base de datos (el mismo que usan para acceder al panel, no es joda!).
![]() |
DB config hosting2.com |
Parece que el administrador de Evilnet no tiene buena memoria y prefiere usar la misma llave para todo, podrÃa apostar que este "descuido" por llamarlo de manera elegante, se repite en los demás dominios bajo su autorÃa. Con este criterio quien sabe, si llegara a probar, hasta me podrÃa cargar el facebook y el twitter del admin o hasta la sesión ssh personal, espero no llegarle hasta abajo de la cama jeje!.
Pero en fin ya estaba dentro de hosting2.com, solo me faltaba escalar hasta hosting1.com, lo primero que hice fue tratar de leer el fichero de configuración de la botnet que se encuentra en el directorio base /system/config.php, mediante la creación de un enlace simbólico, pero para mi mala suerte no funciono. Entonces recordé el descuido del administrador e intente ingresar con la llave maestra por asà decirlo, mediante otro usuario en la db que pertenezca a hosting1.com, por lo que veÃa, la estrutura de nombres tiene la siguiente regla:
"Nombre que hace referencia al dominio"_XXXXXXX
ya habÃa intentado loguearme como hosting1_xxxxxxx, entonces fui probando diversas combinaciones de usuarios.
Hasta que logre ingresar como hosting1 solamente, el cual tenia acceso a todas las dbs dentro de la aplicación.
Ya habiendo identificado la preciada base de datos.
Restaba consultar las credenciales en la tabla cp_users y rogar obtener el hash md5 en claro.
Afortunadamente el hashe del admin estaba presente en md5online.
La Zeus
Una vez dentro termine un poco decepcionado al respecto, creà que podÃa encontrarme con una mayor cantidad de bots, y para peor no habÃa uno solo en pie.
Aunque contaba con una respetable cantidad de reportes sobre credenciales pop3 y http.
Una cosa interesante, es que el reports path de la botnet apuntaba al home de hosting1.
Por lo tanto podÃa navegar libremente a través del file browser y descargar ficheros a diestra y siniestra.