domingo, 30 de junio de 2013

Destripando una Botnet


¿Qué pasa chavales? Aquí ando… en la terraza sentado de buen royo, al sol como los lagartos, escuchando al Tote y dedicando este mi tiempo a contentaros. Colacao en mano para limpiarme del sábado, que caipirinhas ayer caliente me dejaron. Esperando como todo buen español, a las 0:0, esta vez Mahou y con alcohol por favor, sino no la quiero. Desde chico con el FIFA, soñando toda mi vida una final contra Brasil, llega el día menos pensado y no sé con qué equipo ir.


Esta entrada se venía labrando desde el partido contra Uruguay, y es que va a ser cierto que los hombres no sabemos hacer dos cosas a la vez, eso de descargar software pirata para la preparatoria de un curso y ver a Neymar tirando besos voladores con el rabillo del ojo… puede traer serios problemas, y más si vamos con prisas.


Mientras buscaba mi aplicación, llegué a una página la cual me inspiró total confianza para realizar la descarga e instalarla. Según el proceso de instalación iba marcando su barra de progreso, me alarmó un error Run-time 5, de los de toda la vida… ósea, en Visual Basic. Me quedé petrificado y no es por decorar el texto, sino que en ese momento deduje que un malware bindeado al ejecutable de instalación saltaba en añicos, con lo que posiblemente me hubiesen colado cualquier otra cosa.

Aprovechando el tiempo de mi paja mental, hubo suerte en que el desarrollador del supuesto malware, pusiera el mismo nombre al ejecutable que al título del proyecto, y es que en estas ventanas de error, se muestra el título del formulario principal de las aplicaciones. Dirigiéndome al administrador de tareas, botón derecho y “Abrir la ubicación del archivo”, llegué hasta una carpeta ubicada en AppData del usuario actual, donde no es necesario otros permisos para alertar al usuario. Me encontré con el siguiente panorama…




En ese momento supe que debería de dejar al futbol de lado y tirar del hilo… así que como no disponía de mi Cuckoo Sandbox hasta más tarde, podría ayudarme de Malwr.com. Entre las cosas que más llamaron mi atención al subir el instalador, fueron lógicamente las conexiones.




Inevitablemente fui al navegador y tecleé la URL que aparecía de vuelta del Cuckoo. Para mi grata sorpresa, sin control de acceso ni ostias.




Lo más gracioso es cuando vi el nombre de mi máquina en una de sus carpetas y una imagen de mi escritorio subida en su interior. Para más inri, soy el típico capullo que tiene una foto carnet en el escritorio jajajaj


Pensé en buscar la URL en Google, para encontrar algún tipo de pista que me diese algo más de información. Por suerte un scanner en Virustotal mostraba que un malware de nombre Project1.exe, compilado en Visual Basic 6 conectaba con ese mismo dominio. En este caso, el malware era totalmente diferente al que tenía en mi poder además, de que se utilizaba para realizar denegaciones de servicio con una consola abierta en segundo plano sobre las víctimas, en este caso el tarjet era sobre el sitio de seguridad informática colombiano www.buggly.com.co.




¿Qué hacemos aparte de matar los procesos? Pues bien, Cuckoo provee al auditor de la opción de realizar volcados de memoria, además de la posibilidad de guardar la captura de red sobre un fichero pcap. Así que echándole un vistazo a todo lo que ocurría en la red mientras el malware se ejecutaba, di con lo siguiente.




¡Menuda fiesta! Por otra parte, me llamó mucho la atención el comportamiento del malware. Pues la gran mayoría de ejecutables eran descargados por FTP desde uno de los ejecutables bindeados al instalador. Con lo que evitaban que el tamaño de la aplicación no fuese lo suficientemente grande.




Con toda esta información en mis manos, tan solo me quedaría eliminar mi captura de pantalla de su listado. Con lo que Filezilla y el usuario del pcap me abrieron la puerta.




Otra de las cosas destacables, me la encontré al mirar que tipo de acciones realizaba el malware sobre el FTP. Entre ellas se encontraban a parte de la captura de pantalla, la de captura de teclas a modo Keylogger, que desde la propia página no era posible la lectura del contenido de los ficheros de texto por prohibición del servidor… pero al tener acceso vía FTP ;)


Me hizo recordar a mi entrada sobre Espionaje, cuerpos sexys y datos robados, pues el propio desarrollador de la botnet, se encontraba infectado a sí mismo…


La siguiente imagen muestra como el tipo realiza un Control+V, para pegar la contraseña de acceso sobre la aplicación WinHTTrack Website Copier, así descargar el contenido a su equipo personal. Además de tener el navegador de Firefox abierto para acceder desde el mismo.




Divirtiéndome estos días mientras veía las capturas de su equipo en el FTP, seguí tirando del hilo para estudiar los ejecutables que tenía en mi poder. Supuse que el origen de que todos ellos se tratasen de Visual Basic 6, era debido a que utilizaría un Crypter, con lo que sería más tedioso ver de qué se trataban. ¡Pero no! El tipo no cifró ni lo más mínimo, y pude identificar de forma rápida, que realizaba cada uno de ellos. El ejecutable Java.exe, se encargaba de descargar el resto de ejecutables del FTP, ejecutarlos en el sistema y de matar sus procesos desde la consola.




El ejecutable de Javax.exe, realizaba tareas muy similares, también realizando las ejecuciones del conjunto de aplicaciones de la botnet, que se encontraban en la carpeta java en AppData del usuario.




 El ejecutable de Spoolsrv.exe, tenía tan solo la acción de captura de teclas y eventos para la funcionalidad de Keylogger. La siguiente imagen muestra las declaraciones de las Apis más comunes para estas capturas.





Por otro lado, aparecían en el mismo ejecutable todo el listado de caracteres que era capaz de capturar y cuál era el archivo de texto destinado al almacenamiento de los mismos.




Separada la acción de subida al FTP de las capturas de teclas, se encontraba bajo el ejecutable splsrtnet.exe, el cual era encargado de generar un nombre único a la captura basado en la fecha y hora de subida.




El otro ejecutable llamado Snaps.exe, se encarga de generar las capturas de pantalla y de subirlas al FTP.




Así que con toda esta información en plano, se me ocurrió la idea de parchear los ejecutables y hacerme con la botnet para mi uso personal… al menos para mostrarlos en futuros cursos…


La siguiente imagen muestra como el malware, se conecta y sube una imagen de mi escritorio a mi FTP en localhost con usuario admin y contraseña admin.




Por otro lado, si sois consumidores habituales de la revista Hakin9 Magazine, os dejo el enlace de este mes, en el cual he redactado el artículo Identification and Exploitation of the Most Common Vulnerabilities in Web Applications.

 
 
Saludos 4n4les! ;)


20 comentarios:

  1. jaja , este bicho quedo y el desarrollador quedo pwneado por completo!. saludos german!!

    ResponderEliminar
  2. Típico caso de noob programando malware xD. Buena entrada Germán.

    Besitos

    ResponderEliminar
  3. muy bueno Germán. Pero como te comiste al principio el malware?? que AV tenías? avast? M$?

    ResponderEliminar
    Respuestas
    1. Hola Vicente!

      Tenía Avira Antivir, y bien el malware al tener todos los procesos de extracción de info por separado y el modo de descarga mediante FTP sin Apis "maliciosas" como URLDownloadToFile... pasó desapercibido ante detecciones heurísticas o firmas condicionales.

      Tan solo el ejecutable encargado de la subida del fichero log creado por el Keylogger, era detectado.

      Saludos! :)

      Eliminar
  4. Hola Germán, un análisis genial, pero respecto a esto:

    """La siguiente imagen muestra como el tipo realiza un Control+V, para pegar la contraseña de acceso sobre la aplicación WinHTTrack Website Copier, así descargar el contenido a su equipo personal. Además de tener el navegador de Firefox abierto para acceder desde el mismo."""

    El tipo soy yo, y no soy el autor de la botnet, el dia 26 me di cuenta de que snaps.exe no deberia estar en mi sistema y tirando del hilo con wireshark descubri lo mismo que tú, el log sobre WinHTTrack era de mi pc intentando volcar el contenido del ftp para analizarlo, cosa que no logré.

    Gracias a este artículo he logrado entender como funciona. Gracias. Juan.

    ResponderEliminar
    Respuestas
    1. Hola Juan!

      El mundo es un pañuelo! jeje supuse que tu máquina era la encargada de llevar a cabo la recolección de los archivos de la botnet, que de hecho se intentó... también se eliminaron las capturas de teclas y los clips de ese servidor. A parte me llamó la atención que en la carpeta "Mis lugares Web", existiese la IP del dominio.

      Me alegro de que te sirviera para terminar de entender el funcionamiento. Una cosa que me llamó la atención a mí, es que el método de auto-inicio del malware no se escribía en el registro, sino mediante un acceso directo en la carpeta "Startup" del usuario actual.

      Saludos!

      Eliminar
  5. Hola de nuevo, pues si me ha servido y mucho porque aun teniendo user y pass no sabía como borrar las capturas........digo sabía ja ja ja en realidad no me parecían relevantes pero no estaba seguro, la suerte en este tema es que mi nivel informático es un punto más que un usuario normal, no mucho más pero lo suficiente para poder llegar al destino, viva wireshark!!!, por otro lado lo que me cuesta entender es que un tipo que tiene los medios para llegar hasta mi maquina pasando desapercibido de mi antivirus y firewall, solo recoja datos irrelevantes, yo pensaba que en las capturas de imagen habría codigo oculto, pero parece ser que no....
    De todas maneras gracias por tan excelente analisis. Un saludo. Juan Mielgo.

    ResponderEliminar
    Respuestas
    1. Hola, me parece apasionante el tema que están tratando y siempre me llamó la atención todo este tema de la seguridad informática. Lo que les quería consultar es, dicen que ese malware en particular pudo sortear el anti-virus y el firewall, el anti-virus lo creo, ¿pero el firewall? ¿cómo se supone que hacía eso? Disculpen mi gran ignorancia pero suponía que si uno tiene el firewall configurado para avisar de cada salida este nos daría la cuenta de cuando algún programa que no conozcamos esta tratando de subir datos a algún sitio, bastaría con denegar la petición y asunto resuelto, ¿no?
      -LogoS

      Eliminar
  6. muchas gracias amigos por tu información
    reconozco que es muy buena información miles de gracias por todo.

    ResponderEliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. Owned y reowned ;)

    Muy chulo Germán!!

    ResponderEliminar
  9. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  10. Hola Germán,
    La captura en la que salen los procesos y los HTTP y DNS requests de buggly.com a qué pagina o programa pertenecen?.

    Gracias y un saludo

    ResponderEliminar
  11. lamentablemente buggly.com esta por ser borrada de la fas de la tierra :) servidores puertos datos adios buggly.com

    ANONYMOUS

    ResponderEliminar
  12. Buenas,
    Al parecer aquí esta todo dicho... solo una pregunta;
    Cuanto tiempo te llevo concluir dicho análisis Germán?
    Salu2!

    Por cierto... Felices fiestas ;-)

    ResponderEliminar
  13. Hola Germán... wow... descubriste algo que aquí en colombia aun nadie sabía (para ese entonces), y era q ese tal buggly era una fachada para hacer interceptaciones (financiada por militares y fondos del estado)... claro, no era hecho por devs sino, personal militar poco ilustrado técnicamente, pero se valían de comunidades de software y eventos para conocer gente y saber cómo hacer ciertas cosas... mira. http://www.enter.co/cultura-digital/colombia-digital/detras-de-buggly-la-historia-de-la-fachada-andromeda/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed:%2Bbetaenter%2B(PRUEBAS%2BDE%2BENTER.CO)

    ResponderEliminar
    Respuestas
    1. Gracias por la información, la verdad no supe del caso. Me hizo pasar un rato divertido este malware :)

      Saludos!

      Eliminar