Tema 9. Métodos de Análisis de Malware
Tema 9. Métodos de Análisis de Malware
Ideas clave
A fondo
Test
Esquema
que este realiza. Por lo tanto, las indagaciones que se deben realizar a fin de
comprender su funcionamiento.
memoria.
análisis de malware.
actualidad.
▸ Conocer los diferentes tipos de herramientas que se utilizan en los diferentes tipos
de análisis de malware.
del registro, ficheros o incluso la creación de nuevos, como la presencia del fichero
malware:
▸ Análisis de la memoria.
Existen varias formas de obstaculizar el análisis estático que utilizan los autores de
tareas que examinan el archivo ejecutable del malware sin acceder al código
▸ Búsqueda de familias.
▸ Análisis de cadenas.
mejor comprensión del funcionamiento del mismo. Este análisis tiene la ventaja de
ejecutan.
Con suerte, el malware estará escrito en algún lenguaje que nos permita
▸ .NET. Utilizando herramientas como ILSpy (Yara Rules Project, 2022) o dotPeek
(JET Brains, s. f.) podremos recuperar código dirigido a la máquina virtual de .NET
En el resto de los casos, lo más común será utilizar de técnicas de ingeniería inversa
Un punto importante es descubrir cómo puede ser detectado por los programas
ocasiones, buscaremos algún fragmento de código que nos pueda ser útil para
desgranando sus funciones para clarificar qué es lo que hace en nuestra máquina.
También se pueden descubrir eventos que hagan que el malware se ejecute a partir
de la ocurrencia de otros, como la visita a la página web del banco, cierta fecha, etc.
librerías que utiliza el programa. Conociendo las librerías, con IDA buscaremos las
referencias cruzadas a las mismas, y podemos utilizar una aproximación bottom up,
obtenida.
alto nivel, que se utilizó para la creación del programa mediante técnicas de
ingeniería inversa, con la ayuda de herramientas como IDA PRO, con el plugin para
numerosas alternativas. Algunas de ellas, más allá de las limitaciones que puedan
(https://www.radare.org/n/iaito.html).
▸ Hopper. Surge como una alternativa más económica para trabajar con binarios de
▸ Ghidra. Esta herramienta de código abierto fue desarrollada por la NSA, y liberada
en 2019. Aunque inicialmente no era así, desde la versión 10 integra GDB. Sin
embargo, el elemento más destacable de Ghidra es su motor de decompilado como
puede observarse en la siguiente figura.
Figura 2. Código recuperado por Ghidra desde ensamblador. Fuente: elaboración propia.
históricamente había una gran diferencia entre las dos familias de herramientas, hoy
ejecute (es decir, puede ser el envoltorio de un código empaquetado o cifrado, hay
completo, etc.). Por lo tanto, con este método no siembre veremos la realidad, por
lo que debemos acompañar un estudio del código con la depuración del mismo.
de análisis para tomar el control total del mismo. Con ello se permite la posibilidad de
recorrer (línea por línea) el código ensamblador del malware y realizar el análisis
tiempo que se ejecuta paso a paso el código hasta los puntos de interrupción
establecidos, donde el depurador detendrá brevemente la ejecución del programa y
quiera analizar.
Durante años, la herramienta más popular fue OllyDBG, pero con la evolución de las
arquitecturas de 64 bits.
Accede al vídeo:
https://unir.cloud.panopto.eu/Panopto/Pages/Embed.aspx?id=7168c3cd-678f-
47aa-b9a0-afa1009177ff
Como puede observarse en la anterior, este software muestra, además del código
▸ Aprovechar paradas del programa (por ejemplo, paradas en las que el programa
busca un input por parte del usuario) e insertar puntos de interrupción para trazar el
A partir de este punto, sí que puede tener sentido continuar la ejecución instrucción a
Por último, y pese a no tener la madurez del resto de productos, merece la pena
mencionar CheatEngine (Dark Byte, 2023). Este software, ideado para modificar
concretos en memoria (por ejemplo, un contador), de tal forma que, combinado con
el resto, se pueda mapear dicho valor con las funciones que acceden al mismo (por
ransomware).
Este análisis se realiza con unos sistemas denominados sandbox que consisten
malicioso, de forma que no pueda realizar ningún daño al sistema real que lo
mecanismos, tipo snapshop, para que el sistema pueda volver a un estado inicial
analizar.
Existen varios proyectos para construir un sandbox en una máquina local (0xc1r3ng,
2017; HackPlayers, 2020), siendo Cuckoo uno de los referentes más veteranos (pero
▸ JOE Sandbox, Hybrid Analysis e Intezer Analizer. Estas dos plataformas, pese a
Los principales inconvenientes de este método son que solo analiza una única
tiempo suficiente. Esto podría pasar por alto comportamientos relevantes. Para hacer
frente a esta limitación y captar una visión más completa del comportamiento,
siguiente.
Si embargo, su principal ventaja es que permiten obtener de una forma rápida los
ejecución controlado.
más básicos ofrecen un conjunto muy limitado de tipos de archivo que pueden
analizar (ejecutables, objetos DDL, apk y a veces los archivos PDF). Otros sandbox
más avanzados incluyen la capacidad de analizar otros archivos comunes, tales
personalizar para cada caso concreto que necesitemos el sandbox. Como, por
ejemplo, incluir versiones regionales de los sistemas operativos Windows (por
ejemplo, una versión china), el software completo de Microsoft Office (no solo un
lector de documento de Word) y las principales versiones del software utilizado para
abrir los archivos sospechosos
▸ Tecnologías antievasion. Estas son necesarias para hacer frente a un malware que
Mediante esta técnica se analiza la ejecución del binario o espécimen del malware,
comunicaciones con sus servidores de mando y control para recibir órdenes. Las
herramientas que se utilizan para llevar a cabo el análisis dinámico son herramientas
tráfico de red. La ventaja con este tipo de análisis radica en que es más preciso que
análisis automático.
Este método de análisis tendrá un carácter iterativo e interactivo con el malware, con
examen de las propiedades del proceso resultante durante la ejecución del malware.
▸ Supervisión del registro: implica la supervisión de las claves del registro a las que
Monitorización de procesos
podemos listar los procesos, y algunas de sus propiedades, pero no aporta suficiente
Cuando ejecutemos por primera vez el malware debemos observar cómo construye
procesos con nombres comunes (por ejemplo, notepad, Firefox, etc.), de forma que
pasen desapercibidos ante los ojos de los usuarios. La detección requiere de
contrastar la lista de procesos con la de la máquina antes de ejecutar el
malware, o de conocer la estructura de los procesos del sistema. Por ejemplo,
otro nombre común utilizado por el malware es técnicas de evasión de la detección
del proceso svchost, pero este proceso no suele ejecutarse solo, sino como hijo del
proceso services.
▸ La relación entre procesos padre e hijo. Viendo la relación entre procesos padre e
hijo podemos trazar el camino seguido por el malware a través del sistema de
procesos, o incluso evidenciar incongruencias que pongan de manifiesto la
existencia de un proceso malicioso. Un gran ejemplo es el de los cada vez más
comunes macros maliciosos en ofimática, que acaban generando situaciones en las
Disco
el malware analizado consta de varias etapas (por ejemplo, solo tenemos acceso a
un dropper) descargará en disco nuevos elementos maliciosos. En otras ocasiones,
Las herramientas por utilizar para la monitorización del disco de la máquina víctima
Registro
analizar el uso del registro que hace el malware también podemos utilizar, de nuevo,
procmon (que permite monitorizar el uso en vivo, para ver también accesos de
con la máquina limpia y con la máquina infectada. Esto permite detectar, por
programas que deben ejecutarse al inicio están almacenados en los registros que
cuelgan de:
*\Software\Microsoft\Windows\CurrentVersion\Run
Red
DNS lanzadas por la muestra (por ejemplo, buscando su C2), las diferentes
Inetsim.
Herramientas
siguiente figura:
realizan es:
Process Hacker
además cuenta con una infinidad de herramientas que nos permiten hacer un
procesos, qué archivos tienen abiertos, el orden en el que se han ido lanzando
cuando existen procesos padre y su relación con los proceso hijos, las conexiones
malicioso. Para ello, hay que verificar si hay algún proceso con alguna de las
siguientes características:
▸ Están empaquetados.
ProcessHacker permite estudiar qué tokens están asignados a cada proceso, y qué
uso hacen de los archivos (por ejemplo, el uso de handles del sistema). Dispone de
malware:
▸ Permite verificar la firma de la imagen del proceso. Para ello, se puede incluir una
▸ MEMORY si se pulsa en el botón STRING permite ver las cadenas del proceso
Procmon
de eventos las interacciones que tienen los procesos con las distintas dimensiones
del sistema operativo (por ejemplo, disco, red, registro, eventos, etc.).
relevantes del proceso), impidiendo extraer ninguna conclusión. Para poder realizar
proceso, acciones ejecutadas en una ruta concreta, o que muestren solo un número
Figura 10. Process Monitor (es decir, procmon). Fuente: elaboración propia.
Con procmon también podremos observar cómo el proceso ejecutado por el malware
desaparece tras crear un proceso hijo, impidiendo así la trazabilidad en vivo (es
decir, si no tenemos un histórico como el mostrado por procmon en la 10, con
Para el análisis del uso de disco también trabajaremos principalmente con procmon,
filtrando las operaciones que terminen en File, como se puede observar en la figura
12. También permite generar un informe del uso del sistema de archivos ( a través
Regshot
interacción del malware con el registro de Windows (por ejemplo, procmon captura
todas las interacciones), regshot destaca por su simplicidad. Con esta herramienta
haremos una captura del registro antes de ejecutar el malware, y otra después,
programa malicioso (es decir, en paralelo se estarán ejecutando otros procesos del
sistema operativo que también hacen uso del registro) esta solución permite hacer un
Antes de ejecutar la muestra haremos una primera captura del registro (pulsando en
el botón 1st shot, mostrado en la figura 6), tras ejecutar el malware haremos una
segunda captura (con 2nd shot) y compararemos ambas para ver qué registros se
SysTracer
▸ Programas instalados.
▸ Procesos en ejecución.
▸ DLLs cargadas.
Se puede optar por analizar solo las partes específicas de carpetas o registro, con el
Dispone de una funcionalidad muy útil para la realización de análisis de malware que
Autoruns
Herramienta que muestra qué programas están configurados para ejecutarse durante
el inicio del sistema o inicio de sesión. Muestra las entradas en el orden en que el
incluyen objetos auxiliares del explorador (BHO, objetos auxiliares del navegador
En el menú FILE hay una utilidad que permite grabar (SAVE) la situación actual, que
resulta muy útil para tener una imagen inicial antes de ejecutar el malware y,
mediante la utilidad del mismo menú COMPARE, realizar una comparación con la
También tiene en el menú ENTRY una utilidad de chequeo de los ejecutables contra
VirusTotal para ver si los ficheros están infectados por malware. También se puede
elemento de menú Process Explorer del menú ENTRY abrirá el cuadro de diálogo de
Para deshabilitar una entrada de inicio automático, hay que desactivar su casilla de
Wireshark
Esta herramienta de análisis de tráfico permitirá, tras capturar una sesión de red
generada por una muestra de malware, analizar los datos transferidos y los
protocolos utilizados.
También es posible el realizarlo de una forma más intrusiva, es decir «en vivo»,
por el mismo tendrá que circular en algún momento por la memoria. Por lo tanto, en
algunos rootkits y bootkits, de hecho, esta será la única forma que tengamos
de seguirle la pista.
para su depuración. Para evitar que el malware detecte el uso de una herramienta
modo usuario (Microsoft, 2022), se pueden forzar estos fallos de forma que, tras
ejecutar la muestra que queremos analizar, se ejecute una secuencia que nos
▸ Crashes del sistema con Notmyfault (Russinovich, 2022). Mediante interfaz gráfica o
▸ Utilizar otras herramientas como wimpmen, RAM capturer, Ftk Imager, etc.
Para realizar el volcado con NotMyfault lo primero es configurar el tipo de volcado en:
Botón derecho > Propiedades > Pestaña de Propiedades Avanzadas > Inicio y
tipo de volcado que queremos que se genere cuando haya fallos críticos (por
ejemplo, completo, solo del espacio de kernel, etc.), y la ruta en la que queremos que
C:\Windows\MEMORY.DMP).
hipervisores suelen contar con herramientas para realizar este volcado y almacenarlo
documentación, y cuenta con numerosos plugins que nos permitirán obtener listados
yarascan.
Burgess, W. (s. f.). Introduction to Windows tokens for security practitioners. Elastic.
https://www.elastic.co/es/blog/introduction-to-windows-tokens-for-security-
practitioners
malware.html
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-
download-tools
https://docs.microsoft.com/en-us/windows/client-management/generate-kernel-or-
complete-crash-dump
https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/user-
mode-and-kernel-mode
Minerva Labs. (2017, noviembre 14). Emotet Goes More Evasive. Here’s a DIY
https://github.com/0xc1r3ng/Malware-Sandboxes-Malware-Source
us/sysinternals/downloads/notmyfault
https://github.com/rshipp/awesome-malware-analysis
https://github.com/volatilityfoundation/volatility3
x64dbg. https://x64dbg.com
uso real y significativo y, por otro, mostrar, explicar y poner en práctica varias
y relevante.
los ataques de malware más comunes en este tipo de sistemas, los algoritmos más
líneas de investigación en este campo con mayor potencial para los próximos años.
Youtube. https://www.youtube.com/watch?v=UVIKXxMI_Lg
Accede al vídeo:
https://www.youtube.com/embed/UVIKXxMI_Lg
muestras que, más allá de su aplicación (por ejemplo, detectar plagio), permiten
C. Determinar su procedencia.
ejecución.
B. El malware se ejecute.
con:
A. Regshot.
B. procomon.
C. Regedit.
D. Process Hacker.
malware?
A. Kali Linux.
B. REMnux.
C. MalTux.
D. Arch Linux.
Malware).
empaquetado).
B. C++.
C. .NET.
D. Java.
A. Process Hacker.
B. Procmon.
C. Process Monitor.
D. TreeNity.