Random IRC quote :      <matalaz> "y entonces, cuando nos introducían bambún vía rectal iban a por los pepinillos y ..."

El caso del patch-downloader

En los tiempos que corren desgraciadamente no es muy dificil toparse con algun que otro esperpento creado especialmente para llenar tu pc de publicidad, casinos, robarte tus claves del messenger o vigilar tus movimientos bancarios y es que realmentebender.jpg hay bastante dinero en juego cuando hablamos de este tipo de malware.

Con este post inauguramos una nueva categoría en 48Bits dedicada al análisis de las técnicas usadas actualmente por malware, si tienes alguna «muestra» que te gustaría analizar o quieres comentar algun caso/código curioso, puedes ponerte en contacto con nosotros a través de correo electrónico, ah y si nos envias muestras que sea en un comprimido con clave ;-).

El bicho que nos ocupa hoy nos llegó por correo electrónico, parece que alguien pudo «spamearlo» o vete a saber …

Se trata de un ejecutable de unos 21 KB, lo primero que llama la atención de este es que solamente importa dos funciones de librerías del sistema, se trata de GetProcAddress y LoadLibrary, normalmente esto es común en los ficheros empaquetados con algún packer, pero no es este el caso. Lo segundo que llama la atención es que no se aprecia ninguna cadena de texto en el fichero, ¿Como cargará entonces las funciones que necesite?, existen maneras de localizar las funciones recorriendo las exports de las dlls en memoria sin tener que tener estos nombres (usando hashes de ellos por ejemplo), también podría ser que tuviera todos estos nombres encriptados, lo cual es una técnica comunmente usada también, bueno despues de estas suposiciones empezamos a mirar un poco el desensamblado…
IDA1

Como podemos observar aquí (y en el resto del programa) parece que el ejecutable tiene código basura por todos los lados, esto probablemente esté como medida para evitar una detección genérica y como no para dificultar su análisis también, desconozco cómo se ha generado este tipo de junk code, de cualquier manera tampoco es que sea una «maravilla» :-). Veamos un poco más como queda este «junk code» en lo que parece ser una implementación de «memzero» aunque la verdad es un poco guarra :-)…

IDA3

Seguimos con otro trozo de desensamblado que pertenece a la función «FunnyNames».
IDA2

Bueno, creo que aquí queda desvelado el misterio de la no existencia de cadenas… el que ha programado esto reconstruye las cadenas de manera desordenada y byte a byte!, curioso… las cadenas están codificadas en instrucciones del propio procesador. En el ejemplo de arriba carga la librería «kernel32.dll», cosa que por otro lado no hace falta porque ya está importando funciones de ahí ;-).

Si seguimos mirando el resto del programa vemos que todas las cadenas y los nombres de las funciones que necesita usar están codificados de esta manera. Ahora bien, para enterarnos un poco mejor, con ayuda de algunos breakpoints y demás, dado que esta reconstruccion se hace en la pila del programa en tiempo de ejecución, dumpeando la memoria de la pila a disco obtenemos algo con lo que trabajar … 🙂

hiew1.PNG

Bueno con un poco de paciencia y siguiendo el análisis me di cuenta de que lo que hacía este «bicho» es acceder a la siguiente URL:

http://207.226.177.108/BN/QgaHo26bYG

Si os descargaís este fichero (no teneís peligro alguno porque no es un ejecutable), observareís una maraña de datos que parecen estar comprimidos/encriptados … esto realmente es código realocalizable que el bicho inyectará en el contexto del internet explorer, para ello utiliza VirtualAllocEx y CreateRemoteThread además de establecer los privilegios necesarios para poder hacerlo, de esta manera evita firewalls que bloqueen el acceso a internet a determinados procesos, ya que internet explorer suele ser uno de los programas «permitidos».

Lo interesante de todo esto es que este «parche» se actualiza cada cierto tiempo, supongo que será una nueva generación del mismo, empaquetado de manera diferente, no he analizado este componente porque ya no tenía ganas XD, de cualquier manera podrían cambiar el parche que hay ahí y actualizarlo con una versión nueva o lo que sea en cualquier momento, lo que si que he hecho ha sido sacar un dumpeado de este código una vez ejecutado en el contexto de internet explorer. Y menuda sorpresita… porque hay cosas bastante interesantes… como las siguientes URLs

0000BAD0   0000BAD0      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERE180Sol.UNIQCNTR.html
0000BB56   0000BB56      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERE180sol.UNIQCNTR.html
0000BBDC   0000BBDC      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREADWARE.UNIQCNTR.html
0000BC62   0000BC62      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREAVG.UNIQCNTR.html
0000BCE2   0000BCE2      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREAdware.UNIQCNTR.html
0000BD68   0000BD68      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREAntivir.UNIQCNTR.html
0000BDF0   0000BDF0      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREBDSM.UNIQCNTR.html
0000BE72   0000BE72      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREBlackjack.UNIQCNTR.html
0000BEFE   0000BEFE      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREBlowjob.UNIQCNTR.html
0000BF86   0000BF86      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERECASINO.UNIQCNTR.html
0000C00C   0000C00C      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERECLEAN.UNIQCNTR.html
0000C090   0000C090      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERECasino.UNIQCNTR.html
0000C116   0000C116      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREClaria.UNIQCNTR.html
0000C19C   0000C19C      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREClean.UNIQCNTR.html
0000C220   0000C220      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERECumshot.UNIQCNTR.html
0000C2A8   0000C2A8      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREE-gold.UNIQCNTR.html
0000C32E   0000C32E      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREERROR.UNIQCNTR.html
0000C3B2   0000C3B2      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREEgold.UNIQCNTR.html
0000C436   0000C436      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREError.UNIQCNTR.html
0000C4BA   0000C4BA      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREGATOR.UNIQCNTR.html
0000C53E   0000C53E      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREGator.UNIQCNTR.html
0000C5C2   0000C5C2      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREHYIP.UNIQCNTR.html
0000C644   0000C644      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREHyip.UNIQCNTR.html
0000C6C6   0000C6C6      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREINVESTMENT.UNIQCNTR.html
0000C754   0000C754      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREInvestment.UNIQCNTR.html
0000C7E2   0000C7E2      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREMcAfee.UNIQCNTR.html
0000C868   0000C868      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERENAV.UNIQCNTR.html
0000C8E8   0000C8E8      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERENude.UNIQCNTR.html
0000C96A   0000C96A      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREPORN.UNIQCNTR.html
0000C9EC   0000C9EC      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREPRIVACY.UNIQCNTR.html
0000CA74   0000CA74      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREPissing.UNIQCNTR.html
0000CAFC   0000CAFC      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREPoker.UNIQCNTR.html
0000CB80   0000CB80      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREPorn.UNIQCNTR.html
0000CC02   0000CC02      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHEREPrivacy.UNIQCNTR.html
0000CC8A   0000CC8A      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERERecover.UNIQCNTR.html
0000CD12   0000CD12      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERERoulette.UNIQCNTR.html
0000CD9C   0000CD9C      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERESPYWARE.UNIQCNTR.html
0000CE24   0000CE24      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERESlots.UNIQCNTR.html
0000CEA8   0000CEA8      0   http://207.226.177.108/G0/WEBMIDHERECOMPIDHERESpybot.UNIQCNTR.html

En esas URLs hay un repositorio de programas maliciosos bastante grande… cuidado con lo que ejecutaís/descargaís de ahí, he publicado estas direcciones porque este tipo de cosas deberían ser denunciadas publicamente.

Un saludo y hasta la próxima!


			

13 Comentarios para “El caso del patch-downloader”

  1. Comment por Rubén | 07/08/06 at 9:53 pm

    3 Hurras por Mario! Muy currao! plas, plas

  2. Comment por ggonzalez | 07/08/06 at 11:26 pm

    segundo hurra

  3. Comment por Johnny Foo | 07/09/06 at 12:01 am

    Esos son los de blueskyltd.biz, mala gente…

  4. Comment por ggonzalez | 07/09/06 at 1:31 am

    Y quienes son esos?

  5. Comment por mballano | 07/09/06 at 3:20 am

    Gracias, por los comentarios, realmente tampoco es un análisis de la oxtia, pero me pareció curioso y aquí estamos para comentar este tipo de cosas, ¿no? :-D, a ver si alguien nos envia algun sample que merezca la pena y hacemos algún análisis guapo ;-), por cierto se aceptan exploits y demás… :-).

    Con respecto a lo que dice Johnny Foo, si, son los de blueskyltd.biz, porque una de las cosas que hacía el sample era una peticion a un «php» en ese dominio, aunque no lo he comentado en el post, tenía pinta de ser una especie de «contador de visitas», ya nos entendemos … :-\

    Bueno un saludo!

  6. Comment por Zohiartze | 07/10/06 at 11:22 am

    ¿De que manera les reporta dinero exactamente este tipo de malware a sus autores? En este caso, segun comenta Mario, no parece que se dediquen a robar cuentas bancarias ni nada similar. Entonces ¿el dinero lo ganan a traves de la publicidad con que infectan el ordenador? ¿Y quien paga ese tipo de publicidad? ¿Como es posible que haya negocios legales detras de este tipo de porquerias?

    Los blueskyltd.biz esos seran mala gente, pero no creo que sean peores ni mas ladrones y vividores que los parlamentarios con su sueldo vitalicio o los abogados de la SGAE.

  7. Comment por mballano | 07/11/06 at 4:08 am

    Eso mismo me pregunto yo sori, cómo es posible que existan negocios legales detras de este tipo de programas, pero el caso es que existen. Y desde mi humilde punto de vista, es bastante menos «ético» infectar y tomar el control de mi ordenador que decirme que tengo que pagar por X, cuando de hecho no lo hago, aunque me impongan un canon no deja de ser una cuestión monetaria, en este caso se juega con la privacidad y el derecho a la intimidad de una persona.

    Nos vemos las caras pronto zohiartze 😉

  8. Comment por Zohiartze | 07/11/06 at 8:26 am

    Sí, pero en el caso de la SGAE, los parlamentarios, el rey, el ejercito, etc… nos roban por ley y ademas nos roban a todos: hacienda nos roba a todos, los piratillas estos de poca monta, solo a los incautos 😛

  9. Comment por mballano | 07/12/06 at 3:29 am

    Yo creo que la solución es que los piratillas estos de poca monta roben a la SGAE al rey y a los ejercitos, así todos contentos…. ¿o no? 😉

  10. Comment por Zohiartze | 07/12/06 at 8:18 am

    Si, pero que luego me den el dinero a mi. Luego yo lo reparto como Robin Hood 😀

  11. Comment por ggonzalez | 07/12/06 at 11:10 am

    El papel de Robin Hood es el que tiene la SGAE, no? 😛

  12. ana
    Comment por ana | 10/16/06 at 7:33 pm

    Cómo puedo eliminar este virus de mi PC?

  13. Comment por Seguridad scada | 01/16/09 at 11:51 am

    Post interesante, saludos.

Se han cerrado los comentarios