Archive

Posts Tagged ‘Troyano’

Wow tengo un huésped en mi PC! :D

July 2nd, 2009 spark No comments

Hola a todos, hoy a la mañana, enciendo mi notebook y descubro que mi NOD32 4.0 detecta intentos de conecciones de mi PC hacia servidores, con URL’s raras… :)

Esto me dió alegría ya que me dije, “bien, algo nuevo para investigar vino a mi!!”… así que me puse manos a la obra, y mientras publicaba un artículo viejo que escribí para la revista @rroba, me dediqué a mirar este bichito…

Mirando los logs de NOD

He aquí algunas líneas del log de mi AV’s…

06/06/2009 12:02:04 a.m. HTTP filter file http://174.133.147.18/p0508/2.0/w2.bin?829467 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:56 a.m. HTTP filter file http://174.133.73.178/p0508/2.0/w2.bin?405861 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:48 a.m. HTTP filter file http://174.133.34.178/p0612/2.0/w1.bin?413869 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:40 a.m. HTTP filter file http://174.133.72.250/p0508/2.0/w1.bin?762274 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:29 a.m. HTTP filter file http://174.133.147.18/p0508/2.0/w1.bin?875733 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:21 a.m. HTTP filter file http://174.133.73.178/p0508/2.0/w1.bin?233033 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:19 a.m. Real-time file system protection file C:\WINDOWS\system32\wtukd32.exe probably a variant of Win32/Adware.Coolezweb.AI application cleaned by deleting – quarantined NT AUTHORITY\SYSTEM Event occurred on a file modified by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:12 a.m. HTTP filter file http://174.133.34.178/p0612/2.0/w.bin?613307 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:01:04 a.m. HTTP filter file http://174.133.72.250/p0508/2.0/w.bin?333771 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:00:56 a.m. HTTP filter file http://174.133.147.18/p0508/2.0/w.bin?280812 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

06/06/2009 12:00:48 a.m. HTTP filter file http://174.133.73.178/p0508/2.0/w.bin?170629 probably a variant of Win32/Adware.Coolezweb.AI application connection terminated – quarantined NT AUTHORITY\SYSTEM Threat was detected upon access to web by the application: C:\WINDOWS\system32\svchost.exe.

05/06/2009 10:15:47 p.m. HTTP filter file http://bddanhdnfl.net/ccsuper3.php Win32/Small.NEK trojan connection terminated – quarantined NOTEBOOK\Sparkrisp Threat was detected upon access to web by the application: C:\fuwtkxex.exe.

05/06/2009 10:15:46 p.m. Real-time file system protection file C:\clftq.exe Win32/TrojanDownloader.Bredolab.AA trojan cleaned by deleting – quarantined NOTEBOOK\Sparkrisp Event occurred on a new file created by the application: C:\fuwtkxex.exe.

05/06/2009 10:15:45 p.m. Real-time file system protection file C:\Documents and Settings\Sparkrisp\Configuración local\Archivos temporales de Internet\Content.IE5\K13ASQ4J\ccsuper2[1].htm Win32/TrojanDownloader.Bredolab.AA trojan cleaned by deleting – quarantined NOTEBOOK\Sparkrisp Event occurred on a new file created by the application: C:\fuwtkxex.exe.

05/06/2009 10:15:45 p.m. HTTP filter file http://bddanhdnfl.net/ccsuper2.php Win32/TrojanDownloader.Bredolab.AA trojan connection terminated – quarantined NOTEBOOK\Sparkrisp Threat was detected upon access to web by the application: C:\fuwtkxex.exe.

05/06/2009 10:15:42 p.m. HTTP filter file http://bddanhdnfl.net/ccsuper1.php Win32/Small.NEK trojan connection terminated – quarantined NOTEBOOK\Sparkrisp Threat was detected upon access to web by the application: C:\fuwtkxex.exe.

05/06/2009 10:15:41 p.m. HTTP filter file http://bddanhdnfl.net/ccsuper0.php a variant of Win32/Rustock.NIK trojan connection terminated – quarantined NOTEBOOK\Sparkrisp Threat was detected upon access to web by the application: C:\fuwtkxex.exe.

05/06/2009 10:15:18 p.m. HTTP filter file http://bddanhdnfl.net/progs/xadmaa/molivjw.php Win32/Small.NEK trojan connection terminated – quarantined NOTEBOOK\Sparkrisp Threat was detected upon access to web by the application: C:\Documents and Settings\Sparkrisp\Configuración local\Temp\136.exe.

05/06/2009 10:15:17 p.m. HTTP filter file http://bddanhdnfl.net/progs/xadmaa/djdjjnxlcp.php Win32/Small.NEK trojan connection terminated – quarantined NOTEBOOK\Sparkrisp Threat was detected upon access to web by the application: C:\Documents and Settings\Sparkrisp\Configuración local\Temp\136.exe.

Bien, nuestra pequeña bestia intentó muchas cosas al mismo tiempo prácticamente. :)

Aparentemente, nuestro autor, o “autor” porque no creo que lo sea de todos estos virusillos, tiene un host y seguramente hace downloaders, para los mismos, estos consultan las url’s que estamos viendo en el log, baja los troyanos, y finalmente infecta nuestra PC, para robarnos información, tomar el control, etc.

Viendo que hay detrás

Si probamos alguna de las URL’s, y la ejecutamos en un navegador (sin miedo jejeje), veremos algo por el estilo:

cap1

Exactamente, el binario de uno de los troyanos, el cual NOD lo detecta como: Win32/Small.NEK.

Con una simple mirada en el código binario, podemos ver que está hecho en VB (MSVBVM60.DLL), y otra cosa más, en que carpeta el desarrollador lo tiene al proyecto entero!

D:\Documents and Settings\Administrator\Lhb—\installscash active!!nno form wow downloader\mycc\Project1.vbp

Aparentemende NOD lo detecta como un troyano, pero es un downloader…

Luego, veremos nombres de logs, archivos de log, serán archivos generados por el downloader?

xdfbxewhrrjdzdfbcvne5gwgaabaz36.log

xdfbxewhrrjdzdfbcvne5gwgaabaz37.log

xdfbxewhrrjdzdfbcvne5gwgaabaz38.log

xdfbxewhrrjdzdfbcvne5gwgaabaz39.log

Y la lista sigue…

Así veremos también en esa misma página, la utilización de la API: urlmonURLDownloadToFile, sabemos que es utilizada para bajar archivos de una URL, muy común en los downloaders. :)

Si guardamos el fichero obtenido de esa URL (sugiero hacerlo con wget), y utilizan el WKT VB Debugger, podremos ir viendo lo que va a haciendo…

Algunas de las cosas que veremos es que tiene strings encriptadas, para evitar el desensamblado y la identificación sencilla del virus en cuestión.

Así que debuggearemos un poco para ver que hace…

M8C9S8H5zcX9C9z3Q9UaKbRbA4y0k9EbybPcR9LcUaYby23azcJdOcFaR9z1

M8C9UaH5C9X9Faz3ObUaIdP9w0C4naJaIcEaLaRcOby27bH8Q8EbRcz8NbHdI3b8KaOcFaPbKazcUaB52bJcJdIcD8zaVbLcJcM8z3jaLdz8PbLcN9E9w0H3cb2bibG3w2

He aquí algunas de las strings encriptadas… es simple pensar que utiliza XOR, para encriptarlas, ya que no se necesita mucho más para estas tareas víricas… ;)
También veremos cosas como:
AddService = zgtkg3jrsyzdb6wtgw3rh3wahhrjkae80,,My_AddService_Name
Quiere decir que este bichito debe instalar un servicio en nuestro sistema… pero que pícaro… ;)
Podemos ver el código interpretado del virus sin necesidad de correrlo en el debugger de WKT…
Para eso podemos utilizar el VB Decompiler Lite (o el Pro si lo consiguen por ahí… jeje), y obtendremos lo siguiente:
Private Sub MZ_4051D4
loc_404908: OnErrorGoto 0
loc_40490D: LitStr “M8C9S8H5zcX9C9z3Q9UaKbRbA4y0k9EbybPcR9LcUaYby23azcJdOcFaR9z1″
loc_404910: ImpAdCallI2 proc_403FBC
loc_404915: FStStr var_A0
loc_404918: LitI4 0
loc_40491D: FLdZeroAd var_A0
loc_404920: CVarStr var_94
loc_404923: ImpAdCallFPR4 Shell
loc_404928: FStFPR8 var_9C
loc_40492B: FFree1Str var_A0
loc_40492E: FFree1Var var_94 = “”
loc_404933: LitStr “Q9Fcz3ybKbLbCaIbCbB5z3y2RcObybObRdybx1R8OcAbVdOc0bA468cbib5a2abd698a”
loc_404936: ImpAdCallI2 proc_403FBC
Podemos ver los strings encriptados, y en la línea siguiente las llamadas a un proceso en la dirección 403FBC. Esta función se encarga de desencriptar los strings.
Si abrimos este programa con el debugger de WKT, veremos que la función en 403FBC hacela desencripción, y finalmente después de cada proceso de desencripción, y más adelante, la ventana de mensajes nos irá diciendo algo como esto:
FStStr -> ‘sc config   wscsvc start= DISABLED’
FStStrNoPop -> ‘C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp\zgtkg3jrsyzdb6wtgw3rh3wahhrjkae35.log’
FStStrNoPop -> ‘C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp\zgtkg3jrsyzdb6wtgw3rh3wahhrjkae43.exe’
FStStrNoPop -> ‘zgtkg3jrsyzdb6wtgw3rh3wahhrjkae81.exe’
Veremos que ejecuta nada más ni nada menos que un comando de DOS, que intenta deshabilitar el servicio de firewall de Windows y Centro de Seguridad, luego grabará un archivo de log , el EXE y seguirá con otro…
CVarStr -> ‘net.exe stop “Security Center”‘
FStStr -> ‘sc config   wscsvc start= DISABLED’
FStStrNoPop -> ‘C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp\zgtkg3jrsyzdb6wtgw3rh3wahhrjkae35.log’
FStStrNoPop -> ‘C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp\zgtkg3jrsyzdb6wtgw3rh3wahhrjkae43.exe’
FStStrNoPop -> ‘zgtkg3jrsyzdb6wtgw3rh3wahhrjkae81.exe’
Veremos otras strings como:
Concat->’C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp’ + ‘\zgtkg3jrsyzdb6wtgw3rh3wahhrjkae79.inf’
FStStr -> ‘C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp\zgtkg3jrsyzdb6wtgw3rh3wahhrjkae79.inf’
Cuando decompilemos el programita este, veremos que la función de la dirección 4043E4 se encarga de instalar el servicio del que les hablaba antes… el servicio llevará el nombre de:  zgtkg3jrsyzdb6wtgw3rh3wahhrjkae81.
servicio2
Si ejecutan el programa, lo podrán ver en la lista de servicios, así que podrán deshabilitarlo…
Viejo Truco

Dije antes, que utiliza la famosa API para bajar un archivo de una URL en particular… hay trucos para evitar que los antivirus detecten que se está utilizando, generalmente la heurística detecta todo y está sonado.. :)
Este virus, no es la excepción, y el truco que usa, está en la función 40417C.
Concatena cada letra del nombre de las API’s que pueden llamar la atención a nuestros Antivirus (AV’s)…
loc_40401D: LitStr “U”
loc_404020: LitStr “R”
loc_404023: ConcatStr
loc_404024: FStStrNoPop var_A0
loc_404027: LitStr “L”
loc_40402A: ConcatStr
loc_40402B: FStStrNoPop var_A4
loc_40402E: LitStr “D”
loc_404031: ConcatStr
loc_404032: FStStrNoPop var_A8
loc_404035: LitStr “o”
loc_404038: ConcatStr
loc_404039: FStStrNoPop var_AC
loc_40403C: LitStr “w”
loc_40403F: ConcatStr
loc_404040: FStStrNoPop var_B0
loc_404043: LitStr “n”
loc_404046: ConcatStr
loc_404047: FStStrNoPop var_B4
Luego si miramos más el proyecto veremos que tiene una función para ejecutar las API’s de alguna manera especial.. no entraremos tanto en detalle, vamos a seguir mirando que mas nos ofrece…
Siguiendo el rastro
Si dejamos a este bichito ejecutarse un par de días, seguirá bajando copias y variantes de sí mismo. Parece que los programadores de estos downloaders, son muy activos, en dos días he bajado como 3 o 4 versiones del mismo downloader, con algunas diferencias…
inicio2
Tenemos otro que modifica el registro de windows, instalándose en el inicio, para hacer las conecciones remotas, cada vez que arranca el sistema operativo.
inicio
Por ejemplo existe otra variante, la que se instala al inicio, que no instala el servicio… ;)
En la segunda imagen de inicio, marco otros sospechosos que encontré, no sé si son de este virus o de otro que tengo xDDD, si es de otro, quizás tengamos más diversión xD…
Al ver que instala servicios, se me ocurre correr la utilidad GMER, muy utilizada. Y me avisa de una instalación de un servicio oculto…
servicio3
Podemos desinstalarlo y borrarlo con GMER, sin problemas, al próximo reinicio no estará más. Si queremos analizarlo un poco más con IDA no veremos mucho, así que o Softice o Syser Debugger, que es bastante bueno también. :)
Bien, como dije cada uno de los “hijos” tiene sus características, la idea principal calculo que será infectarnos y hacernos zombies de alguna manera, o robarnos información, a su vez con una rápida actualización de los downloaders, los cuales no fueron detectados por NOD 4.0, sino que éste detectó las conecciones hacia el host.
hijos
Los dos ficheros de inicio, que tenía yo en mi PC, aparentemente están empaquetados, veremos con una pequeña sesión de Olly que sale…en la segunda parte.. xD
Veremos varias cosas más, otros archivos ocultos especialmente en las carpetas system32 de nuestro windows…. pero eso será como dije en la próxima…
Espero que les esté gustando.
Un saludo.
convert this post to pdf.

Sólo quiero bajar algo por ftp! (con FlashFXP xD)

February 5th, 2009 spark No comments

Hola a todos, el otro día buscando un FlashFXP para bajar algo , encontré la última versión….la bajé….al ejecutarla, me pidió número de serie… utilicé el keygen que lo acompañaba.

Cuando puse el serial el programa siguió su camino, me apareció una ventanita que decía c:\windows\system32 ….

Me pareció muy raro y sospeché de un virus… obviamente seguí utilizando el programa, y NOD me avisó que “algo” se quería conectar… algo con nombre como qsyrjrwes.exe en la carpeta Datos de Programa de mi usuario en Windows XP.

Obviamente, escribí en arroba sobre ese EXE, para ver de que se trataba, era un simple downloader, definido como downloader.Win32… Ya postearé el artículo explicando de qué se trata… ;)

Bueno obviamente, el EXE de flashfxp estaba “envuelto” por un dropper, éste sacaba el downloader, y después hacía ejecutar al flashfxp normalmente…

Empezando a mirar el EXE, encontramos algunas strings que se cargan, y mirándolas por arriba, pienso que son strings encriptadas que desencripta en tiempo de ejecución…

Strings Encriptadas

Seguramente para evitar que los AV’s detecten el proceso…

Cuando debuggeemos por las strings “.dll” y “.exe”, más precisamente en las direcciones 408D03 y 408D15 veremos estas cosas en la pila:

0012FFAC   01141C30  0  ASCII “C:\WINDOWS\system32\niksr.dll”

y luego,

 

0012FFA8   01141CA4  ¤  ASCII “C:\DOCUME~1\SPARKR~1\CONFIG~1\Temp\setup.exe”

Luego de eso, en estas direcciones podremos ver que el ejecutable creado en la carpeta temporal de nuestro windows, posee un icono de flashfxp… es raro.. ;)

 

00408D39  |. A1 C8A94000    MOV EAX,DWORD PTR DS:[40A9C8]

00408D3E  |. E8 BDFDFFFF    CALL setup-pr.00408B00

En estas dos líneas se ejecuta el EXE liberado en la carpeta temporal de Windows. Igualmente no es el EXE final.

Veremos que entrando al CALL mencionado dos líneas más arriba, y mirando un poco más, se crea un objeto Mutex.

Mutex

Veamos para que sirve un mutex (una definición de la red…):

“Un mutex funciona exactamente del mismo modo que las secciones críticas. La única diferencia en las implementaciones Win32 es que la sección crítica esta limitada para ser usada con solamente un proceso. Si tienes un programa que usa varios hilos, entonces la sección crítica es liviana y adecuada para tus necesidades. Sin embargo, cuando escribes una DLL, es muy posible que diferentes procesos usen la DLL en el mismo momento. En este caso, debes usar mutexes, en lugar de secciones críticas.”

Veremos en la imagen, que genera un código único, que se utiliza como nombre del mutex, para crearlo, con la API CreateMutexA.

Seguido de esto, parece que nuestro troyano necesita descomprimir una dll denominada bcdsa.dll, veamos:

EAX apunta al string C:\WINDOWS\system32\bcdsa.dll.

El ejecutable busca el archivo bcdsa.dll y si no existe, lo crea.

fxp1

Luego de crear la DLL, descomprime el segundo EXE como hemos visto que el path estaba en memoria y crea el Thread finalmente con la DLL deseada. Capturemos la DLL, para futuro análisis. ;)

Si vamos a buscar la DLL y vemos propiedades encontraremos una descripción extraña:

fxp2bcdsa

fxp3bcdsa

O es una librería que necesitará el flashfxp final o es algo más…

fxp4

Luego de que el Thread es creado, nos aparecerá la ventanita con el mensaje: “c:\windows\system32″, esto es lo que me hizo sospechar de la actividad de este ejecutable. Es una falla de programación importante, ya que se da a conocer muy sencillamente, parece que el programador tenía pocos recursos para poder darse cuenta cuando la DLL estaba cargada en memoria… :P

Ahora veremos el segundo ejecutable.

Una vez que nuestro amigo está descomprimido veremos que al cargarlo está hecho en C, por eso mismo carga nuestra DLL, que se trata nada más ni nada menos de las MFC, librerías runtime necesarias. :)

Este EXE, descomprimirá el FlashFXP final, pero además agregará la descompresión de un downloader… ;) para fines non santos…

fxp5

El ejecutable de FlashFXP será descomprimido en c:\windows\ bajo el nombre de setup.exe

fxp6

En esta imagen, podemos ver como ejecuta a FlashFXP original y a su vez, descomprime y crea el downloader, cuyo nombre es aleatorio.

Finalmente, tratará de ejecutar el Downloader, como veremos acá:

fxp7

Por último el proceso termina, llamando a ExitProcess. :)

Entonces si queremos nuestro EXE final de FlashFXP, directamente lo buscamos en la carpeta Windows de nuestro sistema.

Nos damos cuenta que el EXE es el original, porque al hacer botón derecho y propiedades, veremos los datos originales de la aplicación. Lo cuál ante un usuario atento, se dará cuenta que los otros ejecutables no son los originales. :)

Es importantísimo poder tener firmado los ejecutables de nuestras aplicaciones, además de poder tener la información guardada como propiedades del ejecutable, de manera que un usuario puede verificar la autenticidad de varias maneras.

Siempre hay que estar atento a actividades extrañas, como por ejemplo la ventana que sale a modo de información avisando que la DLL ya fue creada, para poder continuar la descompresión…. como lo vimos anteriormente.

Eso es todo, espero que les haya servido y gustado. :)

Nos vemos la próxima.

convert this post to pdf.