Continuamos con el análisis de malware, la semana pasada terminamos con la creación de laboratorio y con las muestras… Esta semana comenzamos con el análisis propiamente dicho, que comience el juego!
Para este tutorial vamos a utilizar la siguiente muestra:
Muestra: Lab01-01.exe SHA1: 9dce39ac1bd36d877fdb0025ee88fdaff0627cdb
________________________________________________________________
ANÁLISIS DE MALWARE
________________________________________________________________
Episodio 01 - HASH
El hash es un método común utilizado para identificar malware. Una ves que se obtiene el hash, este puede ser usado de la siguiente forma:
- Usar el hash como etiqueta del malware
- Compartir el hash con otros analistas para ayudar a identificar malware
- Buscar el hash en internet para ver si el archivo ha sido realmente identificado.
- Para generar los strings utilizaremos el utilitario de sysinternals sigcheck.
sigcheck.exe -h nombredelarchivo
Con el MD5 o el SHA1 podemos hacer una búsqueda en VirusTotal y validar el si el archivo es malicioso.
En este caso la búsqueda nos informa que el archivo tiene una tasa de detección de 26 / 64, es decir 26 motores de antivirus indican que el archivo es malicioso.
Episodio 02 - Archivos PE
El formato de archivo PE (Portable Executable) es usado por ejecutables en entornos Windows, objetos y librerías (DLL’s). El archivo PE es una estructura de datos que contiene la información necesaria para que el sistema operativo Windows pueda administrar el código ejecutable.
En esta ocasion vamos a utilizar PEview, una herramienta que muestra el encabezado y las secciones de un archivo PE, por ejemplo en el encabezado de la imagen del archivo podemos visualizar la fecha de compilación de la muestra.
La herramienta PEiD detecta los packers, cryptors o compiladores en archivos PE.
La muestra nos indica que este fue compilado en Microsoft Visual C++
Ahora utilizaremos Dependency Walker, la cual nos permite ver las funciones de las cuales depende la muestra que estámos analizando, en la muestra analizada observamos funciones como CopyFileA y CreateFileA, si damos doble click sobre la función nos enviará a la base de conocimiento de Microsoft para entender que hace la función.
Episodio 03 - Strings
Un string o cadena en un programa es una secuencia de caracteres, son generalmente almacenados en formato ASCII o Unicode.
Desde la carpeta de sysinternals ejecutamos el comando strings.exe para analizar las cadenas de caracteres de la muestra, pasamos como parámetro adicional el comando more con el fin de ver la salida de forma paginada:
`strings.exe "C:\Users\KALQ\Desktop\samples\Practical Malware Analysis Labs\BinaryCollection\Chapter_1L\Lab01-01.exe" | more`
con la barra espaciadora vamos cambiando de página hasta ver todo el contenido, al final veremos un texto que dice lo siguiente:
WARNING_THIS_WILL_DESTROY_YOUR_MACHINE
Podemos pasar parámetros de búsqueda de strings específicos utilizando el comando grep como parámetro. Por ejemplo buscar todas las cadenas relacionadas con dll’s
Bueno, con esto damos por concluida la parte 2 de analisis de Malware, espero les haya gustado! Nos vemos la proxima con mas tutoriales de Analisis de Malware!
La anterior entrada la tienen disponible: