Análisis de malware básico (2)
Vamos a continuar con el análisis de malware de la misma forma que se hizo en el primer artículo de esta categoría.
En esta ocasión nos centraremos en el malware empaquetado u ofuscado, y para ello haré uso de los ejecutables infectados Lab01-02.exe y Lab01-03.exe disponibles en el libro Practical Malware Analysis.
VirusTotal
Para comenzar, podemos verificar que el ejecutable es malicioso subiendo el archivo a VirusTotal o introduciendo su hash:
Podemos observar que 54 de las 72 herramientas utilizadas por VirusTotal lo detecta como un archivo malicioso.
Malware ofuscado o empaquetado
Como se describió en el artículo anterior, el empaquetado o la ofuscación de malware se utiliza para dificultar el análisis y la detección de estos. No se puede analizar el malware de un fichero empaquetado, habría que desempaquetarlo antes de proceder a su análisis.
Así que introducimos el archivo malicioso en PEiD y obtenemos la siguiente información:
Podemos observar como sí que nos indica que ha podido ser empaquetado, y concretamente a través de la herramienta UPX.
Para descomprimir el archivo hacemos uso de una herramienta muy simple, UpxUnpacker, a la que le arrastramos el archivo y nos genera el archivo descomprimido con el mismo nombre pasando el archivo anterior al formato “.bak”:
El análisis del malware debemos continuarlo sobre este archivo obtenido. Además, comprobamos como en VirusTotal este nuevo archivo es detectado por más herramientas:
Pero los métodos de desempaquetados son muy variables dependiendo del mecanismo con el que haya sido empaquetado, por ejemplo, existen herramientas que automatizan el desempaquetado como Upx Unpacker que acabamos de ver o el plugin FSG v1.33 de PEiD.
Desempaquetado manual con OllyDbg
Otro método de desempaquetado es hacerlo de forma más manual a través de herramientas como OllyDbg y módulos de esta. Vamos a desempaquetar el archivo Lab01-03.exe de esta forma. Para ello haremos uso de la ingeniería inversa sobre el malware empaquetado para buscar el OEP y, desde esa posición, volcar el proceso de depuración para generar un fichero desempaquetado.
El OEP (Original entry point) es la dirección de memoria donde se inicia realmente un programa en un malware empaquetado. Es necesario averiguar el OEP para proceder a su desempaquetado y la forma de conocer el OEP que vamos a utilizar es a través del plugin OllyDump dentro de la herramienta OllyDbg.
Comprobamos que el archivo Lab01-03.exe está empaquetado usando PEiD:
Comprobamos que se ha empaquetado haciendo uso de la herramienta FSG 1.0. Vamos a proceder a descomprimirlo de forma manual haciendo uso de la herramienta OllyDbg y los módulos SFX y OllyDump.
Entramos en OllyDbg y cargamos el programa malicioso:
Buscamos el OEP, que es la dirección de memoria donde realmente se inicia el programa, y lo hacemos con el plugin OllyDump a través de la funcionalidad “Find OEP by Section Hop (Trace over)”. Estos nos señala una posición de memoria concreta:
La dirección es 00405000. Por último, pulsamos, dentro del plugin de nuevo, sobre Dump debugged process e indicamos un nombre con el que guardar el fichero, en nuestro caso será Lab01-03_unpack:
Esta sería la forma más genérica y funcional de desempaquetar archivos comprimidos con FSG 1.0 haciendo uso de OllyDbg.
Análisis de importaciones
Volviendo al Lab01-02.exe vamos a analizar a través de rabin2 las funciones que importa el malware descomprimido:
Vemos que hay dos librerías llamativas en la información obtenida, y en ella nos vamos a centrar. Una es ADVAPI32.dll y otra WININET.dll. Vemos que de la librería ADVAPI32 se utiliza funciones para la creación de servicios, mientras que de la librería WININET se accede a URLs de Internet. Con estas importaciones podemos aprender la funcionalidad que pretende llevar a cabo el malware, en el siguiente punto buscaremos indicadores más concretos de sus acciones.
Indicadores o evidencias
Hacemos uso del comando “Strings” y obtenemos la siguiente información:
Con la información que hemos recopilado sobre Lab01-02.exe podemos deducir que se crea un servicio llamado “MalService” el cual realiza una conexión, posiblemente, hacia http://www.malwareanalysisbook.com.