0% encontró este documento útil (0 votos)
359 vistas48 páginas

Tema 9. Métodos de Análisis de Malware

Este documento trata sobre los métodos de análisis de malware. Explica que existen diferentes técnicas como el análisis estático de código, el análisis dinámico de código, el análisis de comportamiento y el análisis de memoria. Además, describe brevemente cada uno de estos métodos y algunas herramientas utilizadas para realizarlos, con el objetivo de clasificar, analizar y comprender el funcionamiento de muestras de malware.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
359 vistas48 páginas

Tema 9. Métodos de Análisis de Malware

Este documento trata sobre los métodos de análisis de malware. Explica que existen diferentes técnicas como el análisis estático de código, el análisis dinámico de código, el análisis de comportamiento y el análisis de memoria. Además, describe brevemente cada uno de estos métodos y algunas herramientas utilizadas para realizarlos, con el objetivo de clasificar, analizar y comprender el funcionamiento de muestras de malware.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 48

Tema 9

Hacking Ético y Análisis de Malware

Tema 9. Métodos de análisis


de malware
Índice
Esquema

Ideas clave

9.1. Introducción y objetivos

9.2. Métodos de análisis de malware

9.3. Clasificación y caracterización del binario

9.4. Análisis estático de código

9.5. Análisis dinámico de código

9.6. Análisis dinámico o de comportamiento

9.7. Análisis de memoria

9.8. Referencias bibliográficas

A fondo

Application of the SAMA methodology to Ryuk malware

Detecting Malware in Cyberphysical Systems Using


Machine Learning: a Survey

Joxean Koret - Diffing C source codes to binaries

Test
Esquema

Hacking Ético y Análisis de Malware 3


Tema 9. Esquema
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.1. Introducción y objetivos

Una de las principales dificultades que existen a la hora de analizar malware es su

evidente e inherente falta de documentación. Dado que este tipo de software

malicioso se instala normalmente sin el consentimiento del usuario, el autor no es

probable que incluya alguna información acerca de cómo funciona el software y lo

que este realiza. Por lo tanto, las indagaciones que se deben realizar a fin de

entender el comportamiento de una muestra de malware requieren el utilizar una

serie de técnicas, métodos y herramientas que ayuden a clasificarlo, analizarlo y

comprender su funcionamiento.

En el presente tema se estudia el estado del arte del análisis de malware

profundizando en las técnicas y métodos utilizados en la actualidad en este campo.

En concreto se profundizará en las herramientas más utilizadas y en los diferentes

métodos de análisis de malware, como son el análisis dinámico o de

comportamiento, en el análisis dinámico y estático de código y el análisis de la

memoria.

Los objetivos de este tema son:

▸ Explicar y aprender los fundamentos teóricos necesarios para la realización del

análisis de malware.

▸ Estudiar los diferentes métodos y técnicas de análisis de malware utilizados en la

actualidad.

▸ Conocer los diferentes tipos de herramientas que se utilizan en los diferentes tipos

de análisis de malware.

Hacking Ético y Análisis de Malware 4


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.2. Métodos de análisis de malware

El primero y más antiguo de los métodos de investigación utilizados en el análisis de

malware es la observación. Este método utiliza la comparación del estado de un

sistema antes y después de la actividad de software malicioso, obteniendo datos

mediante la simple observación de una máquina buscando pistas de modificaciones

del registro, ficheros o incluso la creación de nuevos, como la presencia del fichero

enbiei.exe que evidenciaba la actividad del gusano Blaster. Dada la complejidad de

las máquinas actuales, se considera que este método no es eficiente.

En la siguiente figura se muestra una clasificación de los métodos de análisis de

malware:

Figura 1. Métodos de análisis de malware. Fuente: elaboración propia.

En definitiva, los diferentes métodos que tenemos en la actualidad para analizar

malware son los siguientes:

▸ Clasificación y caracterización del binario, o análisis estático básico.

Hacking Ético y Análisis de Malware 5


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ Análisis estático de código, o análisis estático avanzado.

▸ Análisis dinámico de código, o análisis dinámico avanzado.

▸ Análisis de comportamiento, análisis dinámico básico.

▸ Análisis de la memoria.

Existen varias formas de obstaculizar el análisis estático que utilizan los autores de

malware, como el empleo de técnicas de ofuscación de código, que se clasifican

principalmente en dos tipos: ofuscación de los especímenes ejecutables (cifrado,

empaquetado o compresión, polimorfismo y metamorfismo) y restricción de los

entornos de ejecución (anti-debugging y anti entornos virtuales).

En este tema profundizaremos en el en análisis de los cuatro primeros métodos

anteriormente indicados, realizando la explicación en detalle del primero, la

clasificación y caracterización del binario, o análisis estático básico, en el siguiente

tema, cuando se explique la metodología de análisis de malware.

Hacking Ético y Análisis de Malware 6


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.3. Clasificación y caracterización del binario

El análisis estático básico consiste básicamente en la realización de una serie de

tareas que examinan el archivo ejecutable del malware sin acceder al código

malicioso. Estas tareas son las siguientes:

▸ Búsqueda de familias.

▸ Análisis de la ofuscación del espécimen.

▸ Análisis de cadenas.

▸ Análisis de la estructura y formato del fichero.

▸ Análisis de las dependencias del sistema operativo que tiene el espécimen.

Estas técnicas se estudiaron con más profundidad en el siguiente tema.

Hacking Ético y Análisis de Malware 7


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.4. Análisis estático de código

Consiste básicamente en la realización de un análisis del código del malware,

navegando a través de él sin llegar a ejecutarlo con el objetivo de conseguir una

mejor comprensión del funcionamiento del mismo. Este análisis tiene la ventaja de

revelar alguna información sobre el comportamiento del programa en situaciones

anormales, al permitir inspeccionar las partes del programa que normalmente no se

ejecutan.

La realización de análisis estático puede requerir el conocimiento de:

▸ Arquitectura del hardware de ejecución: conjunto de instrucciones en ensamblador.

▸ Formato del ejecutable del sistema operativo.

▸ Sistema operativo de destino.

▸ Leguaje de programación de alto nivel.

Con suerte, el malware estará escrito en algún lenguaje que nos permita

decompilarlo y ver el código original. Algunos de estos lenguajes son:

▸ Lenguajes de scripting. Aunque puedan estar ofuscados, cualquier programa en

Python, powershell, etc., será más fácil de analizar de un programa en código


máquina (Shipp, 2020).

▸ Java. Utilizando jd-gui (ICSharpCode, 2023) podremos obtener el código original

desde un .jar o .war, en una interfaz orientada al análisis.

Hacking Ético y Análisis de Malware 8


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ .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

(reversing), cargando el ejecutable en un desensamblador y mirando a las

instrucciones del programa con el fin de descubrir lo que hace y ver cómo se

comportaría en condiciones inusuales. Para ello, deberemos trabajar con

herramientas como IDA o Ghidra, y trabajar con el código ensamblador,

reconstruyendo fragmento a fragmento el programa.

Un punto importante es descubrir cómo puede ser detectado por los programas

antivirus o cómo puede eludir cortafuegos y otras protecciones de seguridad. El

análisis estático ayuda a revelar lo que es capaz de hacer y cómo detenerlo. En

ocasiones, buscaremos algún fragmento de código que nos pueda ser útil para

analizar su comportamiento (es decir, una secuencia de cifrado), y en otras iremos

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.

Podemos realizar un primer acercamiento con herramientas como PEstudio o

Dependecy Walquer, utilizadas en análisis estático básico, para determinar las

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,

en la que reconstruyamos el contexto que rodea a la llamada a la función. Por

ejemplo, una llamada a la función DnsQuery de la API de Windows

(https://docs.remnux.org/) normalmente irá precedida de la obtención de un nombre


de dominio, y continuará haciendo algún tipo de llamada de red a la dirección IP

obtenida.

Hacking Ético y Análisis de Malware 9


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Es de gran utilidad el poder transformar el lenguaje ensamblador en un lenguaje de

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

esta tereas HEX RAY o GHIDRA.

IDA PRO es el software de análisis de código por excelencia, aunque existen

numerosas alternativas. Algunas de ellas, más allá de las limitaciones que puedan

tener con muestras grandes, o a la hora de analizar alguna arquitectura concreta, no

tienen nada que envidiarle:

▸ Radare 2. Software open source que permite el análisis y la depuración de

ejecutables a través de la consola, y cuenta con una interfaz gráfica Iaito

(https://www.radare.org/n/iaito.html).

▸ Hopper. Surge como una alternativa más económica para trabajar con binarios de

macOS y Linux. Cuenta también con depurador.

▸ 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.

Hacking Ético y Análisis de Malware 10


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 2. Código recuperado por Ghidra desde ensamblador. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 11


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.5. Análisis dinámico de código

Llamamos análisis dinámico de código al proceso de depuración (similar al que

haría un desarrollador analizando bugs en su código) sobre un ejecutable. Aunque

históricamente había una gran diferencia entre las dos familias de herramientas, hoy

en día la mayor parte de las herramientas de análisis estático de código ya cuentan

con depuradores. En esta sección cubriremos alternativas enfocadas exclusivamente

en el análisis dinámico y sus particularidades.

El código que estudiemos en un análisis de código estático no siempre será el que se

ejecute (es decir, puede ser el envoltorio de un código empaquetado o cifrado, hay

numerosas secuencias de flujo que nunca se ejecutan, hacen imposible el análisis

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.

Por tanto, es fundamental, tras interpretar (y, en ocasiones, incluso redefinir) el

código durante el análisis estático de código, cargar el binario en un tipo de

herramienta denominada «depurador» que se asocia al código del programa objeto

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

detallado de los registros de la CPU y contenidos de la memoria, que se actualizan al

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

examinará lo que sucede dentro del mismo en ese punto.

L o s depuradores son capaces de detectar si el malware utiliza técnicas de

protección de software, ejecutar paso a paso el código del propio malware,

representar el código objeto en lenguaje ensamblador, desplazarse por su código y

crear puntos de interrupción para detener la ejecución en un punto específico que se

quiera analizar.

Hacking Ético y Análisis de Malware 12


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Durante años, la herramienta más popular fue OllyDBG, pero con la evolución de las

arquitecturas de los procesadores su uso quedó solo para arquitecturas de 32 bit. No

obstante, evolucionó hasta convertirse en el hoy conocido como x64dbg

(https://x64dbg.com) que ya permite el análisis de especímenes que funciona en

arquitecturas de 64 bits.

A continuación, puedes ver el vídeo Uso básico de la herramienta X64dbg.

Accede al vídeo:
https://unir.cloud.panopto.eu/Panopto/Pages/Embed.aspx?id=7168c3cd-678f-
47aa-b9a0-afa1009177ff

Hacking Ético y Análisis de Malware 13


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 3. x64dbg. Fuente elaboración propia.

Como puede observarse en la anterior, este software muestra, además del código

desensamblado, los valores almacenados en los registros de la CPU (columna

superior derecha), una representación de la pila (zona inferior derecha) y un mapa de

toda la memoria (zona inferior izquierda). Ejecutando el programa desde x64dbg (o

desde fuera, y vinculándose al proceso), podremos ejecutar las instrucciones de una

en una y observar, e incluso manipular, los valores de memoria.

Cuando cargamos el espécimen en un depurador, el programa se para


automáticamente (o se inicia parado). Si tratásemos de analizar las instrucciones de

una en una, jamás terminaríamos de analizar un programa simple. Para poder

abordarlo de una forma sensata, podemos aproximarnos de dos formas:

▸ Establecer puntos de interrupción (por ejemplo, breakpoints) en funciones

conocidas: analizadas previamente, cercanas a llamadas a funciones del sistema,


etc., como muestra la figura 4.

▸ 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

Hacking Ético y Análisis de Malware 14


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

tratamiento que hace de la entrada.

Figura 4. Breakpoints en x64dbg. Fuente: elaboración propia.

A partir de este punto, sí que puede tener sentido continuar la ejecución instrucción a

instrucción, hasta que vuelva al entorno de usuario, o volviendo a buscar un punto

clave, pero haciéndolo ya de forma acotada, y con un objetivo concreto.

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

datos de videojuegos en vivo, es especialmente potente a la hora de buscar valores

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

ejemplo, la función que decrementa el contador del ejemplo anterior en un

ransomware).

Hacking Ético y Análisis de Malware 15


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.6. Análisis dinámico o de comportamiento

El análisis dinámico o de comportamiento, tal y como se ha indicado en apartados

anteriores, se puede realizar de dos maneras, aunque pueden ser complementarias:

manual y automática, mediante el uso de herramienta tipo sandbox.

Análisis dinámico automático: sandboxes

Este análisis se realiza con unos sistemas denominados sandbox que consisten

básicamente en un entorno supervisado y controlado de ejecución del código

malicioso, de forma que no pueda realizar ningún daño al sistema real que lo

soporta. Normalmente se implementa en base a un entorno virtual, donde el

procesador, la memoria y el sistema de archivos se simulan, disponiendo de

mecanismos, tipo snapshop, para que el sistema pueda volver a un estado inicial

limpio y no infectado después de un análisis.

La salida de estos sistemas consiste en informes con información completa de la


trazabilidad de todas las acciones que realiza el malware, incluidas las llamadas a la

API, nativa del sistema operativo. Algunas de ellas incluyen representaciones

gráficas de ayuda al análisis de la información. Básicamente, este tipo de

herramientas registran automáticamente las acciones realizadas por el malware a

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

sin soporte desde que entró en un proceso de migración a python3, en 2019) y

CAPEv2 (O'Reilly, 2023). También podremos trabajar con alternativas online:

▸ Any.run. Permite de forma gratuita la ejecución interactiva de muestras en máquinas

Windows durante 30 segundos, obteniendo un listado de procesos, conexiones y

Hacking Ético y Análisis de Malware 16


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

elementos creados en disco por el malware.

▸ JOE Sandbox, Hybrid Analysis e Intezer Analizer. Estas dos plataformas, pese a

no permitir la interacción en vivo con la muestra subida, generan exhaustivos


informes de conclusiones.

Los principales inconvenientes de este método son que solo analiza una única

ruta de ejecución, la imposibilidad ejecutar el malware con opciones de línea de

comandos y la posibilidad de no registrar todos los eventos por no esperar el

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,

siempre es necesario realizar análisis manual tal y como se indica en el apartado

siguiente.

Si embargo, su principal ventaja es que permiten obtener de una forma rápida los

primeros indicadores de compromiso (IOC) de una muestra en su entorno

ejecución controlado.

Hacking Ético y Análisis de Malware 17


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 5. Arquitectura genérica de una sandbox. Fuente: elaboración propia.

Las principales capacidades que deberíamos tener en cuenta a la hora de

seleccionar herramientas de este tipo serían:

▸ Capacidad de analizar una amplia gama de objetos sospechosos. Los sandbox

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

como documentos de Microsoft Office, Java, Flash, detectar vulnerabilidades web


mediante el análisis de más objetos web, como JavaScript y HTML

▸ Personalización de entorno sandbox. Una solución completa debería permitir

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

Hacking Ético y Análisis de Malware 18


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

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

intenta detectar la presencia de un entorno de recinto de seguridad (VM). Un ejemplo


es el uso de hipervisores personalizados, que hacen que sea más difícil para el
malware para detectar que se está ejecutando en un entorno sandbox. Una

característica común de malware avanzado es buscar la presencia de un hipervisor,


que puede ser una señal de que el código se ejecuta en un entorno limitado.

▸ Potencia de análisis de las muestras malware en el sandbox . Este es un

indicador importante de la escalabilidad. Una forma de medir la escalabilidad es


comparar el número de objetos que el sandbox puede analizar por hora.

▸ Integración con herramientas forenses . Dado que análisis de malware se realiza

en un entorno simulado, la integración con herramientas forenses es valiosa para


confirmar el impacto en el verdadero entorno de la organización.

Análisis de comportamiento manual

Mediante esta técnica se analiza la ejecución del binario o espécimen del malware,

mientras se supervisa y monitoriza su interacción con su entorno, tanto a nivel de los

cambios que realiza en la máquina donde se ejecuta, como de tráfico de red y

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

de monitoreado del sistema de archivos, registro (en sistemas Windows), eventos y

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

el objetivo de obtener información sobre el comportamiento del malware mediante su

Hacking Ético y Análisis de Malware 19


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

ejecución en una máquina preparada con diversas herramientas de monitorización. A

la hora de hacer este análisis debemos prestar especial atención a la monitorización

de los siguientes elementos:

▸ Monitorización de procesos: implica la supervisión de la actividad del proceso y el

examen de las propiedades del proceso resultante durante la ejecución del malware.

▸ Monitorización del sistema de archivos: incluye la supervisión de la actividad del

sistema de archivos en tiempo real durante la ejecución del malware.

▸ Supervisión del registro: implica la supervisión de las claves del registro a las que

se ha accedido/modificado y de los datos del registro que están siendo


leídos/escritos por el binario malicioso.

▸ Monitorización de la red: incluye la supervisión del tráfico en vivo hacia y desde el

sistema durante la ejecución del malware.

Por ejemplo, cuando se ejecuta, un malware puede engendrar un proceso hijo,

inyectar un proceso legítimo, desplegarse en archivos adicionales en el sistema de

archivos, crear claves de registro y valores para su persistencia, y descargar otros

componentes o ejecutar comandos del servidor de comando y control.

Aunque obtendremos gran parte del conocimiento a través de procesos de análisis

estático, solo podremos conocer realmente la funcionalidad de un ejecutable


mediante el análisis iterativo de sus heurísticas (por ejemplo, ejecutándolo varias

veces y estudiando cómo se comporta).

Monitorización de procesos

La monitorización de procesos es esencial para conocer las estrategias de trabajo

del malware en el equipo. Utilizando el administrador de tareas de Windows

Hacking Ético y Análisis de Malware 20


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

podemos listar los procesos, y algunas de sus propiedades, pero no aporta suficiente

profundidad (por ejemplo, no muestra un árbol de ejecución, como el que se puede

ver en el segundo plano de la figura 10, complicando la trazabilidad de un proceso).

Cuando ejecutemos por primera vez el malware debemos observar cómo construye

su proceso, en busca de técnicas de ocultación. Para ello, deberemos estudiar:

▸ Qué nombre toma el proceso ejecutado. Una estrategia habitual es la de crear

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

que un ejecutable como cmd (por ejemplo, la consola de comandos) cuelga de un


documento de Word. De esta forma también observaremos cómo el malware se
puede inyectar en otros procesos, tomar el control de sus tokens (Burgess, s.f.), etc.

Las herramientas por utilizar para la monitorización de los procesos de la máquina

víctima son Proceskacker y Procmon.

Hacking Ético y Análisis de Malware 21


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Disco

Durante su ejecución, el malware interactuará con el disco de varias maneras:

▸ Accediendo a ficheros del sistema. Para exfiltrar información, en busca de

elementos que permitan la escalada de privilegios, u obtener datos del usuario.

▸ Almacenando ficheros de persistencia o configuración. Para ganar persistencia

normalmente el malware depositará algún ejecutable en el disco, o almacenará


ficheros de configuración que le permitan manejar su ejecución entre sesiones.

▸ Instalar o depositar nuevos archivos (descargados o desempaquetados). Cuando

el malware analizado consta de varias etapas (por ejemplo, solo tenemos acceso a
un dropper) descargará en disco nuevos elementos maliciosos. En otras ocasiones,

el malware ofuscado o empaquetado también puede desempaquetarse en disco.

Las herramientas por utilizar para la monitorización del disco de la máquina víctima

son Pronmon y Systracer y diskpulse.

Registro

El malware normalmente escribe en el registro para obtener persistencia. Para

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

lectura), la herramienta RegShot (Seabreg, 2019), Systracer y autoruns.

Estas herramientas permiten el análisis diferencial entre el estado del registro

con la máquina limpia y con la máquina infectada. Esto permite detectar, por

ejemplo, la instalación de sistemas de persistencia. Por poner un ejemplo, los

programas que deben ejecutarse al inicio están almacenados en los registros que

cuelgan de:

Hacking Ético y Análisis de Malware 22


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

*\Software\Microsoft\Windows\CurrentVersion\Run

Red

Por último, aunque no menos importante, es necesario estudiar qué conexiones

establece el malware con el exterior. La comunicación con centros de mando y

control nos ayudará a obtener nuevos indicadores de compromiso que permitan

detectar rápidamente un ataque, pero también nos permitirán revelar nuevas

funcionalidades del malware. De forma genérica, utilizando una herramienta como


Wireshark, podemos centrarnos en detectar:

▸ Nombres de dominio consultados, analizando las peticiones DNS.

▸ Direcciones IP a las que accede, simplemente enumerándolas.

▸ Contenido en claro mandado en las peticiones. Cuando las peticiones no estén

cifradas, veremos el contenido e incluso podremos recuperar de la propia captura los


archivos descargados.

Debemos estudiar mediante el uso de herramientas como Wireshark las peticiones

DNS lanzadas por la muestra (por ejemplo, buscando su C2), las diferentes

conexiones que establezca y, una vez tengamos un modelo de su comportamiento,

interactuar con él a través de software de emulación de redes, como Fakenet-ng o

Inetsim.

Hacking Ético y Análisis de Malware 23


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Herramientas

Las principales herramientas a usar en este método son las mostradas en la

siguiente figura:

Figura 6. Herramientas método análisis de comportamiento manual. Fuente elaboración propia.

La clasificación de las herramientas anteriores por el tipo de monitorización que

realizan es:

Figura 7. Clasificación de herramientas por el tipo de monitorización. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 24


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Process Hacker

Es una herramienta similar en apariencia a este administrador de tareas, pero

además cuenta con una infinidad de herramientas que nos permiten hacer un

completo análisis de los procesos: los procesos y servicios de la máquina en

ejecución y sus propiedades, ver tokens de control de acceso asociados a los

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

que lo procesos hacen a la red y las escrituras en el disco.

L o más importante a realizar con esta herramienta es el identificar el proceso

malicioso. Para ello, hay que verificar si hay algún proceso con alguna de las

siguientes características:

▸ No tiene ningún icono.

▸ No tienen descripción o nombre de la empresa.

▸ Imágenes Microsoft sin firmar.

▸ Están en el directorio de Windows o en el perfil de usuario.

▸ Están empaquetados.

▸ Incluyen URLs extrañas en sus cadenas.

▸ Tiene puertos finales TCP/IP abiertos.

▸ Llama a DLLs o servicios sospechosos.

ProcessHacker permite estudiar qué tokens están asignados a cada proceso, y qué

Hacking Ético y Análisis de Malware 25


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

uso hacen de los archivos (por ejemplo, el uso de handles del sistema). Dispone de

otras funcionalidades muy interesantes desde el punto de vista de análisis de

malware:

▸ Permite verificar la firma de la imagen del proceso. Para ello, se puede incluir una

columna que permie verificar la firma del proceso.

▸ Si se ejecuta botón derecho en el proceso y luego en PROPERTIES aparece una

pantalla con diferentes pestañas.

▸ MEMORY si se pulsa en el botón STRING permite ver las cadenas del proceso

cargado en memoria si estas son diferentes de las del proceso en el disco es un

posible indicio de que el proceso sea un malware.

Figura 8. String del proceso en imagen y memoria. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 26


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ Si se ejecuta botón derecho en el proceso y luego en CreateDump. Hace una

volcado del proceso a un archivo en disco.

Figura 9. Propiedades de proceso en Process Hacker. Fuente: elaboración propia.

Procmon

El monitor de procesos de Sysinternals (no confundirlo con el monitor de procesos de


Windows) es una herramienta de trazabilidad, a bajo nivel, que representa en forma

de eventos las interacciones que tienen los procesos con las distintas dimensiones

del sistema operativo (por ejemplo, disco, red, registro, eventos, etc.).

Es de las herramientas más potentes que podemos utilizar para conocer el

Hacking Ético y Análisis de Malware 27


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

comportamiento de un proceso, pero si no se gestiona bien, puede mostrar

demasiados eventos (por ejemplo, una cantidad enorme de interacciones no

relevantes del proceso), impidiendo extraer ninguna conclusión. Para poder realizar

un análisis fructuoso, estableceremos filtros que muestren solo información de un

proceso, acciones ejecutadas en una ruta concreta, o que muestren solo un número

limitado de operaciones (por ejemplo, las relacionadas con la creación de archivos, u

operaciones de consulta DNS).

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

software como ProcessHacker perdemos el hilo).

Hacking Ético y Análisis de Malware 28


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 11. Procedimiento de evasión de Emotet. Fuente: Minerva Labs, 2017.

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

del menú Tools > File Summary).

Figura 12. Filtro en procmon. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 29


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Si se utiliza con Process Explorer se recomienda tener apagado la función Capture

Events hasta que se inicie la ejecución del malware.

Figura 13. Funcionalidad Capture Events. Fuente: elaboración propia.

Importante que únicamente se utilicen los filtros predeterminados: Filter y Reset.

Figura 14. IHM Process Monitor. Fuente: elaboración propia.

Figura 15. Botón de Reset. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 30


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Regshot

Aunque contaremos con otras herramientas más avanzadas para analizar la

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,

obteniendo así un listado de los cambios realizados durante la ejecución del


malware. Aunque algunos de estos cambios no habrán sido efectuados por el

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

primer filtrado muy sencillo.

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

han visto alterados.

Figura 16. Regshot. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 31


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

SysTracer

Es una herramienta de sistema que puede escanear y analizar un ordenador para

encontrar los cambios ocurridos (añadido, modificado o suprimido), el registro y

archivos. Puede escanear su sistema y registrar la información sobre:

▸ Archivos y carpetas modificadas.

▸ Entradas de registro modificadas.

▸ Programas instalados.

▸ Servicios del sistema.

▸ Controladores del sistema.

▸ Aplicaciones que están configurados para ejecutarse en el inicio del equipo.

▸ Procesos en ejecución.

▸ DLLs cargadas.

Cada operación de exploración que se realiza con SysTracer genera un archivo de

imagen binario que representa una instantánea del sistema. La grabación de la


instantánea suele tardar unos minutos dependiendo de su complejidad del sistema.

Se puede optar por analizar solo las partes específicas de carpetas o registro, con el

fin de acelerar el proceso de grabación.

Hacking Ético y Análisis de Malware 32


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 17. Herramienta SysTracer. Fuente: elaboración propia.

Dispone de una funcionalidad muy útil para la realización de análisis de malware que

permite comparar instantáneas de antes y después de un programa de instalación

nuevo o ejecución de un malware para análisis. Se puede determinar qué archivos o

entradas del registro se agrega, cambia o elimina. Se pueden crear tantas

instantáneas como se desee o necesite, y se puede comparar en cualquier momento

cualquier par de ellas, teniendo la posibilidad de exportar diferencias a HTML y PDF.

Figura 18. Utilidad de comparación de SysTracer. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 33


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 19. Ventana resultados de la comparación. Fuente: elaboración propia.

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

sistema operativo Windows las procesa, aplicaciones de inicio automático

configuradas actualmente, así como la lista completa de ubicaciones del Registro

como las claves Run, RunOnce, etc., y sistema de archivos disponibles en la

configuración de inicio automático.

Las ubicaciones de inicio automático que muestra incluyen entradas de inicio de

sesión, complementos del explorador, complementos de Internet Explorer que

incluyen objetos auxiliares del explorador (BHO, objetos auxiliares del navegador

como ficheros DLL diseñados para extender su funcionalidad. Muchos de estos

archivos no provocan daños, y podemos verlos en gran cantidad de barras de

herramientas muy útiles), DLL de Appinit (AppInit_DLLs, método que implica la

modificación del registro de Windows y la inyección de código en los procesos

corriendo en el equipo afectado), apropiaciones de imágenes, imágenes de ejecución

de inicialización, DLL de notificación de Winlogon (es el componente de los sistemas


operativos Microsoft Windows que es responsable de manejar la secuencia de

atención segura (SAS), cargar el perfil de usuario al inicio de sesión, y opcionalmente

bloquear al sistema cuando un protector de pantalla se está ejecutando (requiriendo

Hacking Ético y Análisis de Malware 34


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

otro paso de autentificación).

La obtención y verificación de las credenciales de usuario queda a cargo de otros

componentes), Servicios de Windows y proveedores de servicio por capas WinSock.

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

situación después de ejecutar el malware para ver qué ha cambiado en las

condiciones de inicio y registro.

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

acceder haciendo clic en el archivo y dando botón derecho.

Para ver las propiedades de un archivo ejecutable configurado para ejecutarse

automáticamente, hay que seleccionarlo con el botón derecho y en el menú

PROPERTIE o el botón de la barra de herramientas. Si Process Hacker está en

ejecución y hay un proceso activo que ejecuta el archivo ejecutable seleccionado, el

elemento de menú Process Explorer del menú ENTRY abrirá el cuadro de diálogo de

propiedades del proceso que ejecuta la imagen seleccionada.

Para deshabilitar una entrada de inicio automático, hay que desactivar su casilla de

verificación. Para eliminar una entrada de configuración de inicio automático,


utilizamos el elemento de menú DELETE o el botón de la barra de herramientas.

Hacking Ético y Análisis de Malware 35


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 20. Autoruns. Fuente: elaboración propia.

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.

Hacking Ético y Análisis de Malware 36


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.7. Análisis de memoria

El análisis de la memoria es un método de análisis que se empezó a desarrollar

apenas en los últimos seis años. Consiste en el procesamiento, análisis e

interpretación de datos obtenidos de la memoria principal con el fin de obtener

información sobre la actividad del malware en una máquina de proceso.

Normalmente este análisis se realiza sobre un volcado de memoria, en un momento

dado, donde se copia el contenido de la memoria en un archivo que permite

realizar sucesivos análisis a futuro sin modificar ni perder la evidencia.

También es posible el realizarlo de una forma más intrusiva, es decir «en vivo»,

analizando la memoria mientras el sistema está en funcionamiento. Este método

puede generar actividad en memoria que pueda contaminar la evidencia. Existen

herramientas que proporcionan la capacidad de capturar un volcado de memoria, así

como para realizar el análisis forense sobre los mismos.

Teniendo en cuenta que, en resumidas cuentas, y pese a sus intenciones maliciosas,

el malware no es más que un programa informático, cualquier dato o acción tomada

por el mismo tendrá que circular en algún momento por la memoria. Por lo tanto, en

última instancia, teniendo una imagen de la memoria contaremos con todo lo

necesario para analizar a fondo la muestra. En algunos casos, como es el caso de

algunos rootkits y bootkits, de hecho, esta será la única forma que tengamos
de seguirle la pista.

Cuando se produce un fallo crítico en un programa (o incluso, un fallo en el propio

Windows), el sistema operativo guarda, antes de cerrarlo, un volcado de memoria

para su depuración. Para evitar que el malware detecte el uso de una herramienta

comercial, o para acceder a determinadas zonas de memoria no accesibles desde el

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

Hacking Ético y Análisis de Malware 37


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

permita congelar el estado de la memoria para su posterior análisis (Microsoft, 2022).

Para generar el volcado de memoria (es decir, guardar la memoria en un fichero no

volátil) contaremos con las siguientes técnicas:

▸ Crashes del sistema con Notmyfault (Russinovich, 2022). Mediante interfaz gráfica o

por consola, crearemos un volcado de memoria generando un fallo del sistema.

▸ Crashes manuales. Si el malware puede detectar el uso de la herramienta, pueden

configurarse atajos de teclado que generen un error crítico en el sistema.

▸ 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

recuperación. Así, aparece la siguiente pantalla en la que debemos establecer el

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

se guarde (generalmente, se generará el volcado en la ruta

C:\Windows\MEMORY.DMP).

Hacking Ético y Análisis de Malware 38


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 21. Pantalla de Inicio y Recuperación. Fuente: elaboración propia.

Seguidamente, con la herramienta NotMyfault, provocamos un crash del sistema

para que se realice un volcado de la memoria.

Figura 22. NotMyfault. Fuente: elaboración propia.

Igualmente, si el entorno de análisis está instalado en una máquina virtual, los

hipervisores suelen contar con herramientas para realizar este volcado y almacenarlo

en la máquina anfitrión (Volatility Foundation, 2014).

Hacking Ético y Análisis de Malware 39


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Una vez obtenido el volcado, procederemos a su análisis con herramientas como

Volatility v3 (Volatility Foundation, 2023) o Windbg (Microsoft, 2022). La primera de


ellas (por ejemplo, Volatility v3) goza de una amplia comunidad de desarrollo y

documentación, y cuenta con numerosos plugins que nos permitirán obtener listados

de procesos, comunicaciones, e incluso extraer archivos ejecutables desde la

memoria, lo que será de gran utilidad cuando el malware se encuentre ofuscado y no

podamos analizar su comportamiento de forma estática. Por ejemplo, dos plugins

ampliamente documentados y creados para el análisis de malware, son malfind o

yarascan.

Figura 23. Ejecución de yarascan en Volatility. Fuente elaboración propia.

Hacking Ético y Análisis de Malware 40


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.8. Referencias bibliográficas

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

Dark Byte. (2023). cheat-engine. Github. https://github.com/cheat-engine/cheat-


engine

HackPlayers. (2020). Listado de sandboxes de análisis de malware gratuitos y online.


https://www.hackplayers.com/2020/04/listado-de-sandboxes-de-analisis-de-

malware.html

ICSharpCode. (2023). ILSpy. Github. https://github.com/icsharpcode/ILSpy

JET Brains. (s. f.). dotPeek. https://www.jetbrains.com/decompiler/

Microsoft. (2022, marzo 18). Debugging Tools for Windows.

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-
download-tools

Microsoft. (2022, septiembre 2). Generate a kernel or complete crash dump.

https://docs.microsoft.com/en-us/windows/client-management/generate-kernel-or-
complete-crash-dump

Microsoft. (2022, noviembre 5). User mode and kernel mode.

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

Vaccine to Prevent It [Blog]. https://blog.minerva-labs.com/emotet-goes-more-evasive

O'Reilly, K. (2023). CAPEv2. Github. https://github.com/kevoreilly/CAPEv2

Hacking Ético y Análisis de Malware 41


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

0xc1r3ng. (2017). Malware Sandboxes & Malware Source. Github.

https://github.com/0xc1r3ng/Malware-Sandboxes-Malware-Source

Radare 2. iaito. https://www.radare.org/n/iaito.html

REMnux docs. https://docs.remnux.org/

Russinovich, M. (2022). NotMyFault v4.21. Microsoft. https://docs.microsoft.com/en-

us/sysinternals/downloads/notmyfault

Seabreg. (2019). Regshot. Github. https://github.com/Seabreg/Regshot

Shipp, R. (2020). Awesome Malware Analysis. Github.

https://github.com/rshipp/awesome-malware-analysis

Volatility Foundation. (2014). Virtual Box Core Dump. Github.


https://github.com/volatilityfoundation/volatility/wiki/Virtual-Box-Core-Dump

Volatility Foundation. (2023). volatility3. Github.

https://github.com/volatilityfoundation/volatility3

x64dbg. https://x64dbg.com

Yara Rules Project. (2022). yara-rules. Github. https://github.com/Yara-Rules/rules

Hacking Ético y Análisis de Malware 42


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
A fondo

Application of the SAMA methodology to Ryuk


malware

Masid, A. G., Higuera, J. B., Higuera, J. R. B., y Montalvo, J. A. S. (2022). Application

of the SAMA methodology to Ryuk malware. Journal of Computer Virology and

Hacking Techniques, 1-34. https://link.springer.com/article/10.1007/s11416-022-


00434-1

El objetivo de este trabajo es, por un lado, probar y demostrar el valor de la

metodología SAMA como proceso sistemático de análisis de malware con un caso de

uso real y significativo y, por otro, mostrar, explicar y poner en práctica varias

técnicas y herramientas reales de análisis de malware utilizando un caso de uso real

y relevante.

Hacking Ético y Análisis de Malware 43


Tema 9. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Detecting Malware in Cyberphysical Systems Using


Machine Learning: a Survey

Montes, F., Bermejo, J., Sanchez, L. E., Bermejo, J. R. y Sicilia, J. A. (2021).

Detecting Malware in Cyberphysical Systems Using Machine Learning: a Survey.

KSII Transactions on Internet and Information Systems (TIIS), 15 (3), 1119-1139.


https://koreascience.kr/article/JAKO202116739374210.page

El artículo revisa el estado del arte de la aplicación del aprendizaje automático en la

automatización de la detección de malware en sistemas ciberfísicos, evaluando los

artículos más representativos en este campo y resumiendo los resultados obtenidos,

los ataques de malware más comunes en este tipo de sistemas, los algoritmos más

prometedores para la detección de malware en sistemas ciberfísicos y las futuras

líneas de investigación en este campo con mayor potencial para los próximos años.

Hacking Ético y Análisis de Malware 44


Tema 9. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Joxean Koret - Diffing C source codes to binaries

ZeroNights. (2010). Joxean Koret - Diffing C source codes to binaries [Vídeo].

Youtube. https://www.youtube.com/watch?v=UVIKXxMI_Lg

Accede al vídeo:

https://www.youtube.com/embed/UVIKXxMI_Lg

El análisis de binarios mediante el análisis de flujo puede revelar similitudes entre

muestras que, más allá de su aplicación (por ejemplo, detectar plagio), permiten

aumentar nuestro conocimiento sobre la muestra.

Hacking Ético y Análisis de Malware 45


Tema 9. A fondo
© Universidad Internacional de La Rioja (UNIR)
Test

1. La entropía de un binario permite:

A. Detectar cambios entre versiones.

B. Detectar si está cifrado o empaquetado.

C. Determinar su procedencia.

D. Explotar nuestros conocimientos sobre criptografía.

2. Decimos que un binario está empaquetado cuando:

A. Está programado en java.

B. Cuenta con una funcionalidad que solo se manifiesta en tiempo de

ejecución.

C. Está dentro de un zip con contraseña.

D. Su vector de entrada es una mochila USB.

3. Construir un buen laboratorio de malware no debe impedir que:

A. El malware detecte que está en un entorno virtualizado.

B. El malware se ejecute.

C. El malware se extienda por la red.

D. El malware contacte libremente con su C2.

4. Podemos capturar las operaciones realizadas sobre el registro por un malware

con:

A. Regshot.

B. procomon.

C. Regedit.

D. Process Hacker.

Hacking Ético y Análisis de Malware 46


Tema 9. Test
© Universidad Internacional de La Rioja (UNIR)
Test

5. ¿Cómo se llama la distribución de Linux que utilizaremos para el análisis de

malware?

A. Kali Linux.

B. REMnux.

C. MalTux.

D. Arch Linux.

Es una distribución específica para análisis de malware (Reverse Engineering

Malware).

6. El análisis dinámico de código tiene la ventaja de que:

A. Ejecutar la muestra siempre es mejor para obtener IOC.

B. Permite ver funcionalidades que no están claras en el análisis estático.

C. Es más sencillo que analizar el código ensamblador.

D. No tiene ninguna ventaja frente a otros análisis.

7. El análisis estático de código no permite:

A. Enumerar las funciones utilizadas por el malware.

B. Acceder a funcionalidades muy ofuscadas (por ejemplo, de un

empaquetado).

C. Conocer más funcionalidades que el análisis estático básico.

D. Acceder al código ensamblador de la muestra.

8. ¿Cuál de los siguientes entornos de programación no permite un acceso sencillo

al código fuente original?


A. Python.

B. C++.

C. .NET.

D. Java.

Hacking Ético y Análisis de Malware 47


Tema 9. Test
© Universidad Internacional de La Rioja (UNIR)
Test

9. Antes de usar una Sandbox online debemos:

A. Tener un acuerdo de confidencialidad con el proveedor.

B. Obtener un certificado de que el proveedor cumple con la ISO 27001.

C. Evaluar los requisitos de nuestro caso de análisis.

D. Nunca debemos utilizar un servicio en línea.

10. Podemos analizar el árbol de llamadas entre procesos con:

A. Process Hacker.

B. Procmon.

C. Process Monitor.

D. TreeNity.

Procmon y process monitor son la misma herramienta, y son para capturar

llamadas a funciones del sistema. TreeNity no existe.

Hacking Ético y Análisis de Malware 48


Tema 9. Test
© Universidad Internacional de La Rioja (UNIR)

También podría gustarte