Test Foro de elhacker.net SMF 2.1

Programación => Ingeniería Inversa => Mensaje iniciado por: .:UND3R:. en 14 Marzo 2015, 00:28 AM

Título: Posible Malware?
Publicado por: .:UND3R:. en 14 Marzo 2015, 00:28 AM
Esta aplicación es un Icon Changer pero aparentemente tiene un malware, un experto en VB y que sea moderador  :silbar: quizás pueda revisarlo o cualquier usuario que tenga tiempo, el link es el siguiente:

http://www71.zippyshare.com/v/zdovYjBT/file.html (http://www71.zippyshare.com/v/zdovYjBT/file.html)

Advertencia, posible malware
Título: Re: Posible Malware?
Publicado por: 79137913 en 14 Marzo 2015, 00:57 AM
HOLA!!!

@MCKSys Argentina Ese sos vos aparece!

Dejo unos antecedentes para que lo checkeen:

El imputado dijo que su compilado original tenia 2 firmas para ver si era cierto copie el codigo de fuente lo pase a un proyecto lo compile y lo subi a virustotal a ver si saltaban esas 2 firmas que el decia, pero no salto nada 0/57.
En el link el proyecto con mi pequeño analisis y los exe (tomo responsabilidad sobre ellos no tienen nada raro):
http://foro.elhacker.net/analisis_y_diseno_de_malware/icon_changer-t431646.0.html;msg2002378#msg2002378

P.D: Analice en busqueda de conexiones ese archivo pero no vi ninguna, igual al ejecutarlo en una sandbox es posible que el crypter lo haya detectado y no haya lanzado el virus.

Suerte y que se sepa la verdad.

GRACIAS POR LEER!!!
Título: Re: Posible Malware?
Publicado por: MCKSys Argentina en 14 Marzo 2015, 04:27 AM
Voy a tratar de mirarlo ni bien haga un poco de tiempo libre (estoy saturado de trabajos de todas clases!  :P ).

Saludos!

EDIT: Para ver la parte que descifra:

1) Correr el proggie en Olly (en una VM por las dudas y con StrongOD para evitar detecciones).
2) Parado en el EP, poner un BP en el punto magico de VB6 (buscar los bytes D1E98BFCF3A5FFD0). El CALL EAX es el punto magico.
3) Ejecutar. Cuando el BP salta, poner un BP en CallWindowProcA. Ejecutar 2 veces. La tercera vez que para, mirar que los parametros no tienen sentido para esa API. Es el famoso metodo para llamar codigo ASM desde VB6. Esa API llamará a la direccion del primer parametro (identificado como PrevProc. La dir. está en el heap). Poner un BP en esa dirección y dar F9.
4) Para en un PUSHAD y un CALL.

Desde ahi obtiene la base del kernel y resuelve las APIs necesarias para ejecutar el programa original SUSPENDIDO (con CreateProcessW). Luego lo modifica con WriteProcessMemory (entre tanto hace otras cosas, pero hay que poner BPs sólo en los CALL EAX ya que asi llama a las APIs). Esto lo hace por cada sección.
Luego le setea el contexto del proceso y lo termina ejecutando con un ResumeThread.

Hasta ahí pude mirar. Obtener el EXE original debería ser una pavada ya que está completito en memoria (aunque no lo probé)...  :P

EDIT 2:
Un método más rapido para obtener el EXE original: Poner un BP en 4BB337. Los 4 parámetros de esa función, tienen todo lo que necesitan para analizar esta cosa.

EDIT 3: después e tracear hasta el final, el crypter (si se lo puede llamar así) no hace mas nada. No veo comportamiento raro ni malicioso. Lo único que veo es que el autor del proggie original (SadFud) no sabe que el OCX de skins no está en todas las máquinas y que compilar en P-CODE hace que sea más sencillo reversear su código...  :P

Y con esto me despido de este tema...  :xD
Título: Re: Posible Malware?
Publicado por: .:UND3R:. en 14 Marzo 2015, 14:49 PM
Excelente análisis lo postearé en el respectivo subforo, muchas gracias por ese excelente trabajo  :D
Título: Re: Posible Malware?
Publicado por: tincopasan en 14 Marzo 2015, 17:59 PM
después del analisis de MCKSys lo único que hice fue obtener el exe original ya que él no lo hizo, y si realmente es una huevada sacarlo! ahí pongo el link de como quedó :
http://www.mediafire.com/download/sg8dzsuy2gf6pg8/IconChanger+1.00_dump.exe

edito:
por si preguntan, la forma fácil de sacar el exe es usando el recontra conocido método de ResumeThread
1)cargar el exe y poner un bp en ResumeThread
2)ejecutar
3)tracear con F7 hasta   FF15 84D78C74   CALL NEAR DWORD PTR DS:[0x748CD784]      ; ntdll.ZwResumeThread
4)en este momento hay otro proceso con el mismo nombre del original, lo cargo en pupe y yendo al oep 40106C parcheo 2 bites que son 6844 por EBFE
5) ejecuto con F9 y termina este proceso
6) atacheo el proceso que esta parchado y cuando para en el loop infinito, remplazo por los bites originales
7)dumpeo y listo! la iat está intacta
Título: Re: Posible Malware?
Publicado por: apuromafo CLS en 24 Marzo 2015, 19:37 PM
si es un cripter como muchos, posiblemente pueda servir el ollydbgscript con este script:

https://tuts4you.com/download.php?view.2457