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:
Publicar un comentario