sábado, 18 de octubre de 2014

Análisis del malware Finfisher

Hoy voy hacer un pequeño análisis del famoso malware Finfisher, que se publico abiertamente en Wikileaks, lo de pequeño análisis va,  porque el malware es tremendamente grande o dicho de otra forma tiene muchas funciones y analizarlas todas detalladamente llevaría varias entradas, tal vez lo haga pero por ahora no he llegado a tanto. Aquí abajo tenéis una imagen de algunas de las funciones importadas de este malware. Como podremos ver este malware se presenta varias formas para engañar a la víctima, en forma de imagen jpg, doc, pdf y alguna otras, muchas de ellas si no todas están pensadas para ser enviadas como adjunto en correo y que la víctima pique y ejecute el adjunto para acabar comprometiendo su sistema. Yo por mi parte analizare el del jpg. Lo primero que podemos ver a simple vista es que no trata de un malware simple ya que hace uso de gran cantidad de funciones como se puede ver en la imagen.



Captura de algunas de las funciones importadas


Nada más empezar a analizar  el malware podremos encontrarnos que esta hecho con Microsoft Visual C++. 


Ahora vamos ya a un análisis un poco más a fondo, como ya hice una entrada sobre Cuckoo me parece justo empezar con análisis dinámico utilizando esta herramienta y veamos que nos dice, yo haré un análisis desde la opción web de Cuckoo, se puede hacer todo desde la consola de comandos como ya dije en su momento. 

Una de las primeras cosas raras y a la vez sorprendentes es que nada más empezar el análisis el bicho en cuestión suelta un imagen con varias capturas sobre el presidente de Iran Mahmud Ahmadineyad, supongo que originalmente el malware no era un exe si no un jpg y servía de cebo para infectar a quien abriese la imagen pensando que era un jpg, ya veremos a nivel estático que la víctima no se da cuenta de nada, realmente abre una jpg y oculto a sus ojos se ejecuta un exe que infecta su sistema.



Imagen extraida de Finfisher

A continuación veremos los hashes criptográficos, no hay mucho que decir simplemente que si creáis una herramienta para detectar Finfisher, esto os servirá ya que son sus firmas para detectarlo.

Hashes de Finfisher

Ahora veremos algunos de los ficheros principales que usa para infectar y tomar el control de la maquina, el mas raro para mi es el autoexec.bat, raro por el hecho que ese formato de fichero ya no se usa desde Windows XP, todos los sistemas NT, lo tienen si! Pero se llama autoexec.nt y esta en el system32 de Windows, este formato se usaba antiguamente con los windows 98,95 y anteriores, ya que realmente, Windows no era un sistema operativo, era DOS y Windows 9x era un entorno gráfico para mejorar MS-DOS y atraer a más gente por facilidad de uso, en esa época existía el autoexec.bat y el config.sys, primero ejecutaba parámetros tipo clase teclado, arrancar un antivirus al iniciar el sistema etc.., el segundo se encargaba de cargar los drivers de la época, por eso hoy en día no le veo sentido, solo se me ocurre que hayan tenido en cuenta que en muchos países la tecnología no esta tan desarrollada y todavía sé use ese tipo de sistemas si no lo se, si alguien sabe algo más le invito a que lo deje en los comentarios. Abajo tenéis la imagen en cuestión, el resto de archivos se copiaran el system32 y se harán pasar como ficheros de sistema como cualquier otro tipo de malware.


Ahora pasaremos a una parte interesante relacionada con la de arriba, que es los ficheros y carpetas que crea el malware el sistema para tomar el control total, es increíble la de ficheros y carpetas que crea.


Carpetas y ficheros creadas en el sistema por Finfisher

Como podéis ver se crean muchas entradas en diferentes lugares, tanto en el system32 para crear falsos ficheros de sistema, como en carpetas temporales donde los permisos de escritura/lectura no son nada restrictivos como podrían ser en otras partes del sistema, es lo común de cualquier malware que se precie. Muchos de estos ficheros me aventuraría a decir que hacen un análisis del hardware de la máquina para poder capturar diferente tipo de información, desde un keylogger, o los datos que salen por la impresora si la hubiera, etc. Como se puede ver un malware muy completo


  • CTF.TimListCache.FMPDefaultS-1-5-21-515967899-436374069-1060284298-1003MUTEX.DefaultS-1-5-21-515967899-436374069-1060284298-1003

Lo que veis arriba es un mutex, básicamente lo que hace es controlar que solo haya un proceso activo a la vez del ejecutable, en otras palabras el malware controla que solo haya una copia de si mismo activa a la vez, sí no hubiese esta medida de control el malware iría creando procesos de si mismo hasta agotar los recursos de la maquina infectada con lo cual la víctima vería a la legua mirando los procesos activos que hay uno repetido infinidad de veces y el malware quedaría al descubierto, por eso lo primero que hace es intentar tomar el control de esta función de Windows, si por algún caso fallase y no pudiese el malware por normal general no se ejecutaría y no habría infección.

Ahora vamos una de las partes más interesantes, las entradas del registro, ahora viereis como el malware se hace con el control de procesos importantes del sistema y se camufla en ellos, tales procesos pueden ser explorer.exe ( no el navegador, si no el proceso que te permite navegar por todo Windows), Winlogon.exe y otros, veréis que no son pocos los cambios que hace al sistema. 




Es un poco grande las capturas pero creo que era interesante que se viese que modificaba y cuantas entradas creaba. Bueno con esto concluyo el análisis dinámico de Finfisher, esperaba hacerlo todo en una sola entrada, pero se ha hecho más largo de lo que pensaba, así que haré una segunda con el análisis estático, ahora ya tenéis una pequeña idea de que hace este famoso malware o al menos que modifica y donde se introduce. 

Un saludo