miércoles, 21 de noviembre de 2012

Blackhole Exploit 2.0 - Analizado con Malzilla + peepdf.


Este análisis esta motivado por la siguiente investigación que me pareció muy interesante, la cual analiza un pdf de BHE con peepdf, en nuestro caso iremos mas allá y abordaremos el troyano que es descargado por BHE, esta de mas decir que compromete seriamente el sistema.

Análisis de la URL maliciosa en V.T, no tiene detecciones.


Cargamos la URL en Malzilla, vemos que nos redirige a otro sitio.



Nos carga un extenso Javascript, el cual nos abre un iframe con otro .php, que nos descarga un PDF maligno.




Detalle en V.T... vemos que se trata de un PDF con un Exploit para AcrobatReader.





El PDF lo analizaremos con la herramienta peepdf, que nos permitirá observar los objetos alojados dentro del el, en búsqueda de elementos maliciosos.

Esta herramienta esta programada en python y es muy fácil de utilizarla.


Comando para realizar una mirada amplia del PDF   peepdf.py -f -i XXXX.pdf

-f force para evitar errores 
-i interactivo, es decir queda cargado el pdf para mas cmds.

Vemos que hay 1 objeto con JavaScript y es el 43



Para ver el codigo del objeto 43, emitimos el comando object 43

Nos mostrara el siguiente código del Javascript:



Vemos que el código esta ofuscado y contiene basura. 
Por otro lado, un punto importante es que se hace mención a una cadena de strings llamada creationDate, estos strings están incluidos dentro de otro objeto del pdf, estimo que es para obstaculizar el análisis.

Para Buscar la cadena de creationDate emitimos el comando.

search "creation"



nos indica que se encuentra en el objeto 3 y 43, siendo este ultimo el que veníamos observando.

Lo bajamos a un txt con

Object 3 > salida.txt



A este nivel puedo juntar el Javascript del objeto 43 + el String del Objeto 3 y tratar de meterlo en malzilla para ver que hace..

Aquí el Javascript sin ofuscar: 

(ver script1.txt en la muestra que les dejo)

En la variable z cargamos el objeto 3 y con el ciclo for se ira cargando la variable s con los datos sin ofuscar.

(En estas dos imagenes vemos como queda el script para ser cargado en Malzilla)



Si observamos atentamente existe un separador "|" este divide en dos partes el string.... por ahora lo pasamos por alto este detalle.





Bueno, aquí lo cargamos en Malzilla, en el tab Decoder, y lo ejecutamos. Observamos que en la parte de abajo se genero otro Javascript, esto es por la función document.write(s) que agregue.




(ver script2.txt en la muestra que les dejo)


Copiamos este Script en otro tab Decoder y le damos click al boton Format Code, esto nos dejara mas prolijo el código.








 Podemos observar que la variables _l1 y _l2 se encuenta un codigo en HEX al cual le adjunta event.target.creationDate.split('|')[1]







Como vimos mas arriba el objeto3 esta dividido en dos partes, con la primera se armo el javscript 2 y con la segunda parte se arma el shellcode, que hará que se ejecute código arbitrario, seguramente cargando algún ejecutable que se encuentre en la nube.


Aquí estoy verificando la función split el cual divide el string del objeto 3.







Entonces puedo decir que el shellcode es, dependiendo de la versión de Adobe,  _l1 o _l2 + creationDate.split('|')[1]


Pasando de hex a texto veo la url a donde el shellcode se conecta para bajar un ejecutable.




Lo chequeamos en malzilla y nos descarga un ejecutable.



Verificando el binario en V.T. este tiene un indice muy bajo en detecciones.........




Analisis del Malware Descargado


Se trata de un binario programado en Visual C que se encuentra Ofuscado.




Lo cargamos en Olly Dbg y ponemos un BP en ZwResumeThread.

Podemos observar que intenta copiarse en 

C:\Documents and Settings\Administrador\gillefeanafq.exe




Luego se spawnea en la siguiente dirección de memoria en donde realizo un backup








Cargamos nuestro dump en OllyDbg y podemos encontrar los siguientes Strings:



Text strings referenced in File2:.text
Address    Disassembly                               Text string
0400108C   PUSH File2.04004138                       ASCII "software\microsoft\windows\currentversion\run"
0400114A   PUSH File2.04004174                       ASCII "USERPROFILE"
04001165   PUSH File2.04004168                       ASCII "%s\%s.exe"
04001359   PUSH File2.040041C4                       ASCII "===="
040014AC   PUSH File2.04009E60                       ASCII "4emails.de;4energia.ee;4ernila.de;4esport.de;0daymusic.biz;4dmobil.at;4dbenelux.be;4e-energiezentrale.de;4e-energiezentrale.de;8zaamarchitecten.nl;4enerchi.nl;4ergindl.at;0risiko.de;4darabians.nl;4dbenelux.be;0kommanix.de;4effect.ca;4ein"...
040017C6   PUSH File2.04004220                       ASCII ".reloc"
04001968   PUSH File2.04004240                       ASCII "SystemRoot"
04001973   PUSH File2.04004228                       ASCII "\system32\svchost.exe"
04001DBB   PUSH File2.04004250                       ASCII "TEMP"
04001DE3   PUSH File2.0400424C                       ASCII "msd"
04001E95   PUSH File2.0400427C                       ASCII "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
04001EDB   PUSH File2.04004278                       ASCII "1.1"
04001EE5   PUSH File2.04004270                       ASCII "GET"
04001F05   PUSH File2.04004264                       ASCII "https://%s"
04001F42   MOV ESI,File2.04004258                    ASCII "Accept: */*"
04002052   SUB EAX,10000                             UNICODE "=::=::\"
04002063   MOV ESI,File2.040042DC                    ASCII "LoadLibraryExA"
04002076   PUSH File2.040042CC                       ASCII "GetProcAddress"
04002202   PUSH File2.04009E40                       ASCII "gillefeanafq"
04002243   PUSH File2.040042FC                       ASCII "software\microsoft\windows\currentversion"
04002261   MOV ESI,File2.040042EC                    ASCII "AppManagement"
040022E4   PUSH File2.04009E40                       ASCII "gillefeanafq"
040022F6   PUSH File2.04004328                       ASCII "zap"
04002320   PUSH File2.040042FC                       ASCII "software\microsoft\windows\currentversion"
040023C3   PUSH File2.04009E40                       ASCII "gillefeanafq"
0400240D   PUSH File2.040042C0                       UNICODE "text"
04002412   PUSH File2.040042B4                       UNICODE "gzip"
04002476   PUSH File2.040042C0                       UNICODE "text"
0400247B   PUSH File2.040042B4                       UNICODE "gzip"
04002523   PUSH File2.04004338                       ASCII ":repeat
del %s
if exist %s goto :repeat
del %%0"
04002558   PUSH File2.04004138                       ASCII "software\microsoft\windows\currentversion\run"
0400256B   PUSH File2.04009E40                       ASCII "gillefeanafq"
0400259D   PUSH File2.04004250                       ASCII "TEMP"
040025C5   PUSH File2.04004334                       ASCII "slf"
040025D1   PUSH File2.0400432C                       ASCII ".bat"
0400276A   MOV EDI,File2.0400436C                    ASCII "http://%s"
04002A35   PUSH File2.04004250                       ASCII "TEMP"
04002A5C   PUSH File2.04004378                       ASCII "msl"
04002BCD   PUSH File2.04004250                       ASCII "TEMP"
04002BF4   PUSH File2.0400424C                       ASCII "msd"
04002C7E   PUSH EBP                                  (Initial CPU selection)
04002D0D   PUSH File2.04009E40                       ASCII "gillefeanafq"
04003158   MOV DWORD PTR SS:[EBP-20],File2.040043E8  ASCII "*/*"
040031A6   PUSH File2.0400427C                       ASCII "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
040031E9   PUSH File2.040043E0                       ASCII "POST"
0400320B   PUSH File2.04004388                       ASCII "Accept-Language: en-us
Content-Type: application/octet-stream
Content-Length: %d
"
0400357C   MOV EBX,File2.040043EC                    ASCII "PGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQs"










Nuestro dump lo analizamos en VT con un indice medio de detenciones.






De acuerdo al comportamiento que hemos visto de nuestra muestra y cotejando con los siguientes reportes podemos asegurar que se trata de una versión de Phushdo


http://www.threatexpert.com/report.aspx?md5=71f1b366e289b94cc47181367be2bdae
http://www.threatexpert.com/report.aspx?md5=a8fdd070084681be072ad930b28c0aaf
http://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=Backdoor%3AWin32%2FPushdo.A


Trafico de Red a múltiples sitios.




Muestras: (sea cuidadoso)



PDF+ Scripts                       =  http://www.mediafire.com/?66s8v4hl8oe8l4z

Troyano + Dump + pcaps   = http://www.mediafire.com/?hjlehy93h576kdd

password = infected


........................me fui a dormir..........................ZzzzzzzzzzzzzzzzzzzZzzzzzZzzzzz


@Dkavalanche 2012
 

No hay comentarios:

Android: BankBot. Hace un tiempo se filtro el fuente de un Bankbo t para android y se masifico bastante, creo que muchos lo han lanzado pa...