jueves, 20 de abril de 2017

Mirando debajo de las faldas de un "posible" malware.

Siempre que se analiza un archivo PE (archivos ejecutables para sistemas Windows), todo el mundo recomienda hacer un pequeño análisis estático.

El objetivo de esto: "intuir" si nos encontramos ante un "bicho malicioso" o no.

Dentro de los distintos puntos a mirar, siempre hay que mirar las SECCIONES del archivo.

Pero para entender que es una sección, es necesario entender que es un archivo PE, y para ello se usará la definición dada por el Wikipedia.

NOTA: https://es.wikipedia.org/wiki/Portable_Executable

Según la Wikipedia:

Definición de archivo PE según la wikipedia.

De manera gráfica, un archivo PE se compone de:

Composición de un archivo PE, de manera gráfica.

De las secciones existentes, las más comunes e interesantes.

SECCIÓN
DESCRIPCIÓN
.text    

Contiene las instrucciones que la CPU ejecutará y por lo tanto, debería ser la única sección que contuviera código.
.rdata 

Normalmente contiene los datos de sólo lectura usados por el ejecutable. Si no existen las secciones: .idata y .edata, está sección también puede contener funciones a exportar o importar.
.data   
Contienen los datos globales del ejecutable.
.idata
Si está presente en el ejecutable, almacena información sobre las funciones a importar.
.rdata 

Si está presente en el ejecutable, almacena información sobre las funciones a exportar
.pdata

Sólo está presente en los ejecutables de 64 bits, y almacena información sobre el manejo de las excepciones.
.rsrc    

Contiene los recursos usados por el archivo PE que no son considerados partea del ejecutable, tales como: iconos, imágenes, menús y cadenas.
.reloc  
Contiene información para la recolocación de librerías.

QUÉ BUSCAR

De las anteriores secciones, la sección que dará más información para determinar si un archivo PE puede ser un archivo malicioso es la sección: .rsrc.

El motivo es que en dicha sección más utilizada para embeber/contener otro programa, el cuál podría ser extraído y ejecutado por el programa anfitrión.

Nos encontramos, por tanto, con una manera de ocultación.

Para determinar si un archivo trae embebido otro debemos fijarnos en el tamaño de la sección.

Otros indicios a buscar son las secciones con nombres no habituales.

COMO BUSCARLO

Todos los archivos PE pueden ser editados fácilmente mediante editores y editores hexadecimales, pero entonces, se debería tener un conocimiento profundo sobre la estructura interna de dichos archivos. Por esto existen ciertos programas que interpretan la información interna de los archivos PE y la muestran estructurada y fácilmente legible.

En nuestro caso, para poder ver toda la información de las secciones de las que se compone un archivo PE, deberemos irnos a: IMAGE_SECTION_HEADER.

EJEMPLOS

MD5: 0E066D6FAF758DD2C6CCFBEA1F989973

NOTA: Este archivo es un conocido ransomware, más concretamente: Cerber

Contiene un sección: .rsrc de 438 bytes

MD5 del archivo a estudiar

Según VT, 42 motores de 57 lo detectan como malicioso.

Secciones del archivo analizado - Parte 1

Secciones del archivo analizado - Parte 2

MD5: B15B187ADA85381027ABE8E30831385

Contiene un sección: .rsrc de 1192 bytes

MD5 del archivo a estudiar

Según VT, 45 motores de 58 lo detectan como malicioso.

Secciones del archivo analizado.

MD5: 1EEAE1E6FD62B56B03BA6EA7CE226EF9

Contiene un sección: .rsrc de 384 bytes, además de una sección de nombre: .gfids


MD5 del archivo a estudiar

Según VT, 48 motores de 62 lo detectan como malicioso.

Secciones del archivo analizado.


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

No hay comentarios:

Publicar un comentario