Está en la página 1de 45

Tema 10

Hacking Ético y Análisis de Malware

Tema 10. Metodología de


análisis de malware
Índice
Esquema

Ideas clave

10.1. Introducción y objetivos

10.2. Métodos de obtención de malware

10.3. Metodología de análisis de malware

10.4. Referencias bibliográficas

A fondo

Systematic approach to malware analysis (SAMA)

MMALE a methodology for malware analysis in linux


environments

Rootkit Necurs: No es un bug, es una feature!

Sandbox fingerprinting - Evadiendo entornos de análisis

Test
Esquema

Hacking Ético y Análisis de Malware 3


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

10.1. Introducción y objetivos

Dada la gran diversidad de herramientas, técnicas y métodos de análisis de malware

existentes en la actualidad, la cada vez mayor complejidad que este presenta y los

inconvenientes que tienen los análisis automáticos dinámicos o de comportamiento

en sandbox ya mostrados, se justifica la necesidad de una metodología que

implemente un proceso sistemático de análisis de malware, basado en una serie de

procedimientos de uso de los métodos y técnicas de análisis y sus herramientas

asociadas, con el objetivo de ayudar al analista y obtener una comprensión e

información completa del malware bajo estudio.

El presente tema se centra en el estudio de una metodología de análisis e ingeniería

inversa de malware, utilizando técnicas y métodos de análisis y reingeniería de

malware, cuyo principal objetivo es la adquisición de conocimiento y la obtención de

un entendimiento completo de un malware concreto, su funcionamiento, identificación

y formas de eliminación.

Por esto, los objetivos del tema son los siguientes:

▸ Conocer los diferentes tipos de métodos de obtención de malware.

▸ Conocer los aspectos fundamentales que comprende una metodología de análisis.

▸ Explicar el alcance de los diferentes pasos de la metodología de análisis propuesta:

acciones iniciales, clasificación, análisis estático y dinámico de código y análisis de


comportamiento.

Hacking Ético y Análisis de Malware 4


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

10.2. Métodos de obtención de malware

El análisis de malware parte de la obtención previa de muestras maliciosas, bien sea

en el transcurso de un incidente (esto es, a la hora de analizar un artefacto instalado

en una máquina infectada), mediante la consulta en fuentes abiertas o mediante la

instalación de sistemas de recolección de muestras. En general, se puede obtener

malware para su análisis y creación de defensa para la organización de las

siguientes formas:

▸ Bajándolo de páginas de internet.

▸ Capturándolo en una honeynet, honeypot y honeytokens.

▸ Capturándolo en una máquina infectada de la organización, al visitar servidores web

maliciosos o debido a archivos adjuntos de correo electrónico.

▸ Utilización de un motor de búsqueda como Google, para buscar archivos binarios de

malware.

Podemos recolectar malware de una máquina infectada a través de volcados de

memoria (con herramientas como Volatility, estudiada anteriormente), o utilizando

herramientas más cercanas al triaje forense, como FastIR Collector, WinTriage, etc.

(Plum, 2023).

Hacking Ético y Análisis de Malware 5


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

También existen varias fuentes abiertas, de soporte al threat hunting, o dedicadas a

la catalogación de muestras del malware:

▸ MalwareBazaar (https://bazaar.abuse.ch/). Base de datos de la Universidad de

Berna para contribuir en la lucha contra el malware.

▸ theZoo (Tisf, 2022). Repositorio de GitHub que contiene un amplio catálogo de

muestras, y de algunos códigos fuentes.

▸ any.run (https://any.run/). Esta plataforma de sandboxing hace públicas las

muestras subidas por los clientes que no tienen funcionalidades de pago, por lo que
también será una buena fuente de obtención de artefactos maliciosos.

▸ vx-underground (https://vx-underground.org). Comunidad de analistas que,

además de contenido divulgativo relacionado con el desarrollo de malware y


diferentes técnicas ejecutadas por actores maliciosos, conserva un repositorio de

muestras.

Por último, recurriremos a sistemas de decepción para la obtención de muestras más

recientes entre los que tenemos honeypots, honeytokens y honeynets que

además se pueden utilizar como medida proactiva de defensa.

Este tipo de sistemas permiten la obtención de malware para utilizarlo con

propósitos investigación, pues permiten obtener datos de ataques reales al dejar

de algún modo «expuestos» sistemas para posteriormente analizarse.

Deben ser construidos con el propósito de hacer creer al atacante que está ante un

sistema real en producción, con aparentes problemas de seguridad debidos a una

instalación incorrecta o una mala política de parcheo. Por supuesto, esta apariencia
no es real, por cuanto los sistemas estarán monitorizados y cualquier acceso será

Hacking Ético y Análisis de Malware 6


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

registrado en todos y cada uno de los movimientos que los atacantes realicen.

Honeypot

Se puede definir honeypots como: sistemas TIC con servicios reales o simulados,

que aparentan ser un sistema en producción y que poseen vulnerabilidades

que han sido introducidas deliberadamente para observar intrusiones,

mediante sistemas de monitorización específicos para ello. No son sistemas en

producción, por lo que pueden ser desconectados de la red e incluso apagados para

realizar un análisis forense después de un ataque.

Es un sistema que imita el funcionamiento de una máquina normal, susceptible de

ser atacada por una amenaza concreta (por ejemplo, si queremos obtener muestras

de Mirai (Malpedia, s. f.), imitaremos un servidor Linux), pero que no está involucrada

en los procesos de la organización. Cuando un malware infecta esta máquina,


podremos recoger registros sobre su actividad y, en última instancia, recuperar la

muestra que la ha infectado.

A su vez los honeytokens son honeypots que no son sistemas TIC, tal y como

puede ser un documento falso pero verosímil, una dirección de correo electrónico

falsa usada para rastrear, una entrada de base de datos o incluso un inicio de sesión

falso. En función del grado de realismo que tiene la máquina, está íntimamente

relacionado con su coste, por lo que diferenciaremos entre:

▸ Honeypots de baja interacción . Son aquellos que emulan servicios para detectar

actividad, con un mínimo riesgo de que el ciberatacante se haga con el control del
sistema, ya que no se interactúa con el sistema operativo y, por tanto, se elimina la
complejidad de este. Como no son un sistema real su instalación es del tipo plug
and play, como, por ejemplo, un comando de con la herramienta netcat para
escuchar en el puerto 80 (HTTP) y registrar todo el tráfico entrante a un archivo de

registro:

Hacking Ético y Análisis de Malware 7


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

netcat-l-p 80> / log/honeypot/port_80.log

▸ Honeypots de alta interacción. Se utiliza un sistema real con un sistema operativo

instalado con servicios y aplicaciones reales para proporcionar al atacante un


objetivo mucho más atractivo, ofreciéndole incluso la posibilidad de obtener
privilegios mayores para cargar e instalar nuevos servicios y aplicaciones. Esto
conduce a un riesgo mucho mayor a medida que aumenta la complejidad. Por otro
lado, al aumentar las posibilidades de recopilar información, los posibles ataques

aumentan de manera significativa. En la siguiente tabla se muestra las principales


diferencias entre los honeypots de alta y baja interacción (INCIBE, 2009).

Tabla 1. Comparación honeypots de alta y baja interacción. Fuente: INCIBE, 2009.

La instalación de estas honeypots debe hacerse siempre en un entorno controlado,

alejado de activos de información reales, para evitar incidentes. Normalmente se

ubican en entorno conocidos como honeynets, que además de emular servicios

concretos, emulan la infraestructura de soporte (estos son, arquitectura,

componentes de red, etc.).

Hacking Ético y Análisis de Malware 8


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

Honeynet

Básicamente una honeynet se puede definir como una red que contiene uno o más

honeypots de alta o baja interacción, herramientas de monitorización y

recolección y análisis de datos y los diferentes dispositivos de conexión y

filtrado que soportan la infraestructura de la red.

Su propósito es el simular una red de producción con una arquitectura y

configuración que permita controlar, registrar y monitorizar toda la actividad atacante.

Dicha arquitectura consta de diferentes tipos de dispositivos como router, firewall,

switch, IDS y diferentes tipos de honeypots. Sus tres requisitos principales son:

▸ Control de datos: mecanismo que se encarga de mitigar o bloquear todo riesgo que

se puede producir por el compromiso de algunos honeypots y su posterior uso para


el ataque de redes externas como otros sistemas de producción de la organización o

internet. Una forma de implementarlo consiste en la instalación de un IPS in line


(forma de conexión de IPS conectado en serie en entre el gateway de salida y el
switch de la organización, de forma que si detecta un patrón de ataque pueda cortar
la conectividad de esa línea).

▸ Captura de datos: consiste en la captura de datos y la monitorización de la

actividad de los atacantes. La información se debe guardar remotamente en un


sistema de recolección y análisis para garantizar su integridad.

▸ Recolección y análisis de datos: consiste en la implantación de un sistema

centralizado de recogida y análisis de datos de una red de honeynet distribuida en

múltiples puntos. Proporciona la capacidad de obtener y analizar información sobre


un tipo de ataque desde diferentes emplazamientos en busca de patrones de ataque
u otros objetivos.

Hacking Ético y Análisis de Malware 9


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

A l gateway de entrada se le denomina honeywall, y separa los honeypots de las

redes exteriores. Cualquier tráfico que se dirija o provenga de los honeypots tiene

que pasar por el honeywall, permitiendo todo el tráfico de entrada y limitando el de

salida, para que el atacante, en caso de comprometer algún honeypots, no lo pueda


usar para atacar otras redes o la propia de producción. En la siguiente figura se

puede ver la arquitectura típica de una honeynet:

Figura 1. Arquitectura genérica de una honeynet. Fuente: elaboración propia

La implementación de los diferentes honeypots y dispositivos que forman la

honeynet se puede realizar de forma física o virtual. La virtual se basa en la

implementación de todos los dispositivos, incluido el honeywall, de la l Honeynet en

una sola maquina física con una plataforma virtual instalada tipo VMware, Virtualbox.

Su principal ventaja es el ahorro de coste que supone el desplegar solo una

máquina física, y como mayor inconveniente constituye un único punto de fallo.

Las híbridas disponen de parte de los equipos virtualizados como los honeypots, por

ejemplo, y parte física el honeywall. Su principal ventaja es que eliminan el punto

único de fallo anteriormente comentado para las virtuales y, además, aíslan la parte
de control y captura de datos en otro dispositivo. Como ejemplo de honeynet,

tenemos:

Hacking Ético y Análisis de Malware 10


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

1. Modern Honey Network (MHN), que incluye los honeypots Kippo, Glastopf,
Snort, Dionaea, Suricata, Wordpot y P0f.

2. T-Pot, que incluye baja y alta interacción en un único sistema Suricata,


Honeytrap, Glastopf, Cowrie, Dionaea, P0f y Elasticpot. Combina honeypots de baja
y alta interacción en un único sistema. Permite emular servicios de red como Android
ADB, hardware de red vulnerable como routers, SCADA, SSH, Telnet, DICOM,
Elasticsearch, FTP, RDP, HTTP/S, postgreSQL, MSSQL, POP3, SMTP, SMB, entre

otros.

Hacking Ético y Análisis de Malware 11


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

10.3. Metodología de análisis de malware

Introducción

El estudio y análisis del software malicioso debe realizarse desde una perspectiva

sistemática para evitar caer en sesgos que impidan detectar funcionalidades de la

muestra en cuestión, o incluso para evitar que la muestra se vuelva en nuestra


contra por una mala gestión (por ejemplo, que, durante un análisis dinámico, se

«escape» del entorno de análisis e infecte otros activos).

Esto no quiere decir que exista un procedimiento concreto que nos lleve a

comprender la muestra en toda su esencia, sino que, independientemente de las

técnicas que empleemos para ello, debemos hacerlo de una forma estructurada y

metódica.

Un paso importante para facilitar la adquisición de conocimiento sobre un malware

concreto es la realización de un proceso sistemático y metodológico de análisis,

cuyo principal objetivo es el de obtener una comprensión completa del mismo, en lo

relativo a su funcionamiento, identificación y formas de eliminación.

Antes de comenzar a analizar cualquier muestra, debemos tener claros cuáles son

nuestros objetivos, de cara a priorizar las actividades y la documentación de nuestros

hallazgos. Algunos objetivos habituales son:

▸ Obtención de indicadores de compromiso (por ejemplo, IOC) para alimentar

sistemas de detección.

▸ Determinar origen de la amenaza.

▸ Desarrollar mecanismos de prevención, respuesta y/o recuperación.

Hacking Ético y Análisis de Malware 12


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

▸ Búsqueda de atribución de la amenaza.

También debemos tener claros otros requisitos que deba cumplir el análisis. Por

ejemplo, si el malware ha infectado archivos confidenciales de la organización no

deberemos subirlos a herramientas de análisis online. O puede que incluso el

adversario (es decir, quien haya introducido el malware en nuestras máquinas)

pueda estar monitorizando los feeds comunitarios de inteligencia para ver si aparece

algún IOC relacionado con la infección, y detectar que está siendo analizado.

En base a lo expuesto anteriormente, la metodología de análisis de malware se debe

desarrollar y aplicar con una serie de objetivos, información y datos concretos a

obtener. En la figura siguiente se muestra la información a obtener de la aplicación

de la metodología:

Hacking Ético y Análisis de Malware 13


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

Figura 2. Objetivos información del proceso metodológico de análisis. Fuente: elaboración propia.

Las fases o pasos que se proponen en la metodología propuesta son:

1. Acciones iniciales.

2. Clasificación.

Hacking Ético y Análisis de Malware 14


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

3. Análisis de código.

4. Análisis dinámico o de comportamiento.

5. Análisis de la memoria.

De forma general se puede indicar que el procedimiento de aplicación de la nueva


metodología es el siguiente:

Figura 3. Metodología de análisis de malware. Fuente: elaboración propia.

Como podemos ver en la figura anterior, la etapa de análisis de código se realiza en

primer lugar, dado que los datos obtenidos en esta fase pueden ayudar a realizar la

siguiente fase de análisis de comportamiento. Como vemos en el diagrama anterior,

la metodología presenta un lazo de realimentación entre la etapa final de análisis de

comportamiento y la de clasificación, para poder contemplar el caso en el que el

malware, al ejecutarse, se despliegue en más ficheros o especímenes. El diagrama

de flujo general de la metodología y sus procesos asociados es el siguiente:

Hacking Ético y Análisis de Malware 15


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

Figura 4. Diagrama metodología análisis de malware. Fuente: elaboración propia.

El flujo previsto es el siguiente: se inicia el proceso realizando una serie de acciones

iniciales, cuyo objetivo es poder iniciar el análisis en un estado limpio sin infecciones

de malware. Seguidamente, se realiza la etapa de clasificación y análisis de código.


En esta etapa se comprueba si el malware bajo análisis posee protecciones que

hagan que no se ejecute en un entorno virtual.

Por ejemplo, con una herramienta de ingeniería inversa (por ejemplo, IDA Pro) se

busca el código mágico de VMware (0x564D5868 o VMXh en ASCII). En caso de

encontrarlo, se intenta parchearlo para ejecutar el análisis en el entorno virtual; en

Hacking Ético y Análisis de Malware 16


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

caso de no conseguirlo se realizará en el entorno físico. Posteriormente, se lleva a

cabo el análisis dinámico, o de comportamiento, y si el malware genera nuevos

especímenes se vuelve a la etapa de clasificación, para así realizar un proceso de

análisis con cada uno de ellos. Una vez analizado todos ellos, se obtendrán todos los
objetivos de información previstos en la figura.

Uno de los pasos intermedios que nos ayudará a alcanzar nuestro objetivo final es

poder establecer una matriz que permita trazar los objetivos de la metodología (figura

8) con las fases propuestas. En la tabla 2 se muestra esa matriz de trazabilidad:

Tabla 2. Matriz de trazabilidad entre los objetivos de la metodología y las fases propuestas en la misma.

Fuente: elaboración propia

Acciones iniciales

Esta fase tiene como fin la realización de una serie de acciones encaminadas a

comprobar la integridad y seguridad del entorno de análisis. Para ello, se va a

obtener un registro de la configuración que implemente una línea base de la

configuración inicial del entorno de análisis (justo después de implementarlo y antes


del cualquier análisis), que nos permita tener datos de referencia que permitan

comparar los estados antes y después de ejecutar el análisis del malware bajo

estudio.

Su objetivo también es iniciar el análisis en un estado limpio y seguro, sin

infecciones de malware. Si se está trabajando con máquinas virtuales, se revertirá la

máquina virtual a una instantánea correspondiente a la línea de base al inicio de

Hacking Ético y Análisis de Malware 17


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

cada análisis. Si se está trabajando con las máquinas físicas, se vuelve a la imagen

del disco de la máquina con una imagen de referencia.

Principalmente las actividades que se llevarán a cabo en la misma serán:

▸ Realizar una línea de base de la configuración del sistema víctima (foto

instantánea), después de instalar todas las herramientas de análisis, con objeto de

tener una referencia con la que comparar después de haber realizado procesos de
análisis de malware:

Generar línea base de las máquinas del entorno de análisis y obtener un hash MD5
el fichero generado por la misma. Utilizar las herramientas Systracer y WinMD5
para comprobar la integridad de las líneas de referencia.

Hash MD5 archivos de directorios clave de la máquina víctima como Windows y


Archivos de programa. Utilizar la herramienta Md5Summer.

▸ Si estamos en el entorno virtual, tomar una instantánea inicial snapshot, o bien

realizar una imagen si estamos en el entorno físico.

▸ En la etapa inicial, al configurar el sistema operativo, desactivar todos los servicios

del sistema que pueden modificar archivos binarios, principalmente los de


restauración y actualización del sistema, deshabilitar el antivirus y el

cortafuegos.

▸ Antes de iniciar un nuevo análisis de malware:

Utilizar las herramientas WinMD5, para comprobar que se mantiene la integridad del
fichero de la línea base de referencia.
Muchos de los archivos se modifican durante una ejecución normal del sistema
operativo. Por lo tanto, a fin de eliminar esos, los hashes MD5 deben calcularse solo

Hacking Ético y Análisis de Malware 18


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

en archivos ejecutables binarios (sys, dll, ocx, scr, exe, mui, cpl, TLB, etc.).
Utilizar herramienta Gmer para comprobar que no se ha instalado un malware de
ese tipo rootkit.

▸ Tomar otra instantánea con la herramienta Systracer y compararla con la de

referencia, para comprobar si se han realizado cambios en las entradas del registro
y/o sistema de ficheros.

▸ Arrancar una herramienta, como por ejemplo Vmnetsniffer en Vmware, para grabar

con ella el tráfico entre la máquina host y la virtual, a fin de comprobar la inexistencia
de tráfico generado por el malware hacia la máquina host.

Si durante los pasos 4 y 5 no se producen coincidencias en las comparaciones de las

líneas base o se detecta algún rootkit instalado, se realizará una restauración de las

instantáneas o imágenes guardadas como referencias. En la figura siguiente se

muestra un diagrama del proceso:

Hacking Ético y Análisis de Malware 19


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

Figura 5. Acciones iniciales. Fuente: elaboración propia.

Herramientas: WinMD5, MD5Summer y Gmer.

Clasificación

Esta fase, tal y como se ha comentado anteriormente, consiste en examinar el

archivo ejecutable del malware sin acceder al código malicioso, con el objetivo de
obtener información inicial para la realización de las siguientes fases. Muchos de sus

pasos son parte del análisis estático básico. Comprende los siguientes pasos:

Hacking Ético y Análisis de Malware 20


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

Figura 6. Fases etapa de clasificación. Fuente: elaboración propia.

Transferencia del malware

Para transmitir la muestra a analizar a la máquina víctima debemos utilizar algún

software o técnica que permita hacerlo por red. Entre otras, podemos:

▸ Aprovechar los servicios del sistema, y crear una carpeta compartida en la máquina

Hacking Ético y Análisis de Malware 21


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

víctima, en la que depositaremos la muestra.

▸ Instalar un servidor FTP en la máquina víctima, y subir a través del mismo la

muestra.

▸ A través de una memoria externa.

En cualquier caso, el malware al transferirlo debe estar en un archivo comprimido

(.rar, .zip, etc.) y protegido con contraseña (normalmente es «infectec»). Una vez
depositemos la muestra en la máquina víctima, realizaremos un primer snapshot

para no tener que enviarla de nuevo cada vez que iteremos sobre el proceso de

análisis.

Identificacióndel malware

El primer paso del análisis del malware, antes de ejecutar cualquier otro tipo de

tarea, es realizar una identificación del mismo obteniendo su hash, mediante la

ejecución de una herramienta que pase el algoritmo Message-Digest Algorithm 5

(MD5) o el Secure Hash Algorithm (SHA). Usar el algoritmo MD5 y la siguiente

herramienta: WinMD5. Se usa el hash como una etiqueta para identificar el

malware.

▸ Compartir el hash con otras organizaciones y analistas de seguridad, para ayudar a

identificarlo.

▸ Realizar una búsqueda en la red del hash, para ver si el fichero ya ha sido

identificado.

▸ Herramienta: WinMD5

Hacking Ético y Análisis de Malware 22


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

Comprobación del tipo de malware

En esta fase se pretende pasar el malware por el filtro de múltiples programas

antivirus, con el objetivo de comprobar si se encuentra ya identificado por las

organizaciones fabricantes de antivirus. Dado que los diversos programas antivirus

utilizan diferentes firmas (base de datos de piezas identificables de código

sospechoso conocido) y heurística (análisis del comportamiento y coincidencia de

patrones), es útil el ejecutar varios programas antivirus diferentes sobre la misma

pieza de malware. Se aconseja el utilizar al menos tres proveedores diferentes,


ya que normalmente los autores de malware modifican frecuentemente su código,

cambiando con ello la firma de su programa para evadir los detectores de virus de los

programas comerciales.

Para la realización del paso anterior se dispone de dos opciones:

▸ Instalar en las máquinas de servicios, y de monitorización del laboratorio, motores de

búsqueda de antivirus libres.

▸ Utilizar servicios de análisis online de archivos sospechosos que permiten la

detección rápida de virus, gusanos, troyanos y todo tipo de malware.

Así, para la aplicación de esta segunda posibilidad, existen sitios web, como,

VirusTotal que permiten subir un archivo para su escaneo por múltiples motores

antivirus, generando un informe que indica el número total de ellos que han marcado

el archivo como malicioso, el nombre del malware y la información disponible

adicional acerca del mismo.

Hacking Ético y Análisis de Malware 23


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

Motores de búsqueda de Antivirus a instalar en las máquinas del laboratorio:

ClamAV, Bitdefender, AntiVir, Panda, AVG, F-Prot, Virustotal, etc.

La siguiente fase sería identificar y clasificar muestras de malware, o variantes de

este, creando descripciones de familias de malware basado en patrones de texto o

contenidos binarios en las muestras de las familias. Cada descripción consta de un

conjunto de cadenas y una expresión booleana que determina su lógica. Las

herramientas a utilizar serían:

▸ Análisis con la herramienta YARA para detección de cadenas en el malware. El

repositorio «yara-rules» contiene numerosas reglas útiles para el análisis de malware


(Malpedia, s. f.). Herramienta: YARA.

▸ Fuzzy Hash. Determinar el porcentaje de semejanza de entre dos diferentes tipos

de malware. Herramienta: Sdeep.

▸ Import hashing es otra técnica que puede utilizarse para identificar muestras

relacionadas (familia) y utilizadas por los mismos grupos de actores de la amenaza.

Es una técnica en cuyos valores hash se calculan en base a los nombres de la


biblioteca/función importada (API) y su orden particular dentro del ejecutable.
Herramienta: Pstudio.

▸ Servicios de análisis de archivos sospechosos forma online: VirusTotal,

HerdProtect, Malwr.com, Anubis, Norman SandBox, Cwsandbox, VirScan etc.

Búsqueda de información en fuentes abiertas (OSINT)

Su aplicación concreta al análisis de malware consistiría en obtener información

abierta sobre si el espécimen detectado pertenece o es una evolución de una familia

conocida. Esto aportará una información muy importante que ayudará a la realización

Hacking Ético y Análisis de Malware 24


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

del análisis y a simplificarlo grandemente.

Hay que tener siempre en cuenta que la información relacionada con los hallazgos o

investigaciones similares puede estar disponible a partir de análisis previos

realizados por otros organismos u analistas. Como ejemplos concretos de tipos de

búsquedas de información tenemos:

▸ Búsqueda en internet, en la base de datos MAEC (Malware Attribute Enumeration

and Characterization (MAEC™): https://maecproject.github.io/) del Mitre y en


Institutos de Investigación con capacidades de análisis de malware del tipo o familia

de malware detectado en el paso de clasificación del tipo de malware.

▸ Caso de no detectarse ningún tipo o familia de malware utilizar el hash MD5 para

buscar en los sitios web de ingeniería inversa.

Búsqueda de cadenas de texto

Después de escanear el malware con software antivirus y de realizar la búsqueda de

información sobre el mismo en fuentes abiertas, se ejecutará un programa de

búsquedas de cadenas ANSI y UNICODE en ficheros binarios o archivos como

scripts de shell. Una de las herramientas más útiles es Strings, aplicación que busca

ASCII, Unicode, o ambos tipos en un archivo.

La búsqueda de cadenas puede proporcionar información útil como protocolos,

puertos, comandos de mando y control, archivos, direcciones IP, e incluso

información sobre el malware. La información generada mediante la ejecución de

cadenas proporciona una visión más clara del funcionamiento interno del mismo.

Un buscador de cadenas es un programa que identifica una secuencia de caracteres,

que terminan con un terminador nulo para indicar que la cadena se ha completado.

Hacking Ético y Análisis de Malware 25


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

Las cadenas ASCII usan un byte por carácter, y el Unicode usa dos bytes por

carácter.

Herramientas: Strings, BinText y FLOSS (CheckPoint Software, 2022) programa

desarrollado por fireeye (la empresa que desarrolla FlareVM) para buscar cadenas

de texto en ficheros ofuscados.

Identificación de técnicas de ofuscación

Los autores fabricantes de malware usan, de forma frecuente, técnicas de ofuscación

para esconder u ocultar la ejecución y funcionamiento del mismo. Con ello, intentan

conseguir que sus archivos sean más difíciles de detectar y analizar. Estas técnicas

ayudan a evitar la efectividad de los sistemas antivirus y de detección de intrusos que

se basan en el método de detección de firmas. Existen diferentes técnicas de

ofuscación:

▸ Empaquetamiento. Esta técnica realiza una compresión de las secciones de datos y

código binario de los archivos ejecutables de programas de código malicioso.

▸ Encriptado. Esta técnica cifra el programa binario, lo que hace que el código en

lenguaje ensamblador también lo esté. Esto los protege frente a las técnicas de
ingeniería inversa utilizadas por los analistas de malware.

▸ Polimorfismo. Técnica que frustra la detección basada en firmas de los antivirus e

IDS al aleatorizar mediante el uso de diferentes cripter o pakers el código del


programa malicioso, de una manera que mantiene su funcionalidad original.

▸ Metamorfismo. Técnica para evitar la mayoría (si no todos) de los programas

antivirus, mediante la incorporación de un sofisticado motor de generación de código


que analiza y genera un código diferente para cada copia del malware, cada vez que
se replica. Por lo tanto, sería difícil tener una firma única (que sería utilizado por el

Hacking Ético y Análisis de Malware 26


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

programa antivirus para identificar el malware.

Figura 7. Técnicas de ofuscación. Fuente: elaboración propia.

Un primer signo que nos puede indicar que el malware está ofuscado es la presencia

d e cadenas de texto. Los programas legítimos suelen incluir muchas cadenas de

texto a lo largo de su código ejecutable, sin embargo, un programa ofuscado las

incluye en poca cantidad o, incluso, no las posee.

Si el programa está empaquetado y comprimido, dispone de un pequeño código de

inicio, el denominado envoltorio, que descomprime el archivo empaquetado y carga


en memoria el código original. Una herramienta que nos ayudará a comprobar si un

archivo está empaquetado es PEiD, pues detecta el tipo de compresión y encriptado

de los ejecutables, o compilador utilizado al generar una aplicación. Por ejemplo, en

la figura siguiente se muestra una pantalla de PEiD, en la que se utiliza ASPack 2.12

para ofuscar el malware. Antes de realizar el análisis del código de la muestra,

primero es necesario descomprimir.

Hacking Ético y Análisis de Malware 27


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

Figura 8. GUI del programa PEiD. Fuente: elaboración propia.

Herramientas: PEiD y exeinfope.

Formato y estructura del fichero

Otro aspecto importante a trabajar en esta etapa de clasificación del malware

consiste en el análisis del formato y la estructura del archivo que contiene el

malware, pues puede revelar mucho acerca de la funcionalidad del programa.

Herramientas: PEstudio y Dependency Walker.

Análisis estático

E l análisis estático de código se efectúa en primer lugar, antes del análisis

dinámico o de comportamiento, ya que la información recopilada durante el

análisis estático suele proporcionar información necesaria para realizar este último.

Los analistas a menudo se encuentran funcionalidades ocultas durante la fase de

análisis de código, que requiere una mayor interacción del usuario con el malware

con el fin de ayudar a entender mejor su finalidad y funcionalidad. Muchas veces el

análisis de código, e ingeniería inversa, revela las interfaces ocultas del malware,

necesarias en la fase de análisis de comportamiento para entender su funcionalidad

y capacidades.

Hacking Ético y Análisis de Malware 28


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

Lo objetivos de información a obtener en esta fase son los siguientes:

▸ Información de instalación.

▸ Comando de ejecución.

▸ Contraseñas.

▸ Comandos de mando y control.

▸ Otras rutas de ejecución, etc.

▸ Canal IRC y contraseña de conexión.

▸ Información para evitar restricciones de funcionamientos en entornos virtuales.

▸ Funcionalidades ocultas.

▸ Compresión del funcionamiento de este.

Comprende los siguientes pasos:

1. Comprobación del funcionamiento general del mismo.

2. Análisis estático de su código, mediante un desensamblador y transformadores


de código ensamblador a lenguaje de alto nivel.

3. Análisis dinámico de su código mediante un depurador.

En la figura siguiente se muestra un diagrama de ese proceso:

Hacking Ético y Análisis de Malware 29


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

Figura 9. Fases etapa de análisis de código. Fuente: elaboración propia.

Herramientas: IDA Pro, Ghidra y Ollydbg o X64dbg para binarios y para lenguajes

interpretados gd-gui o ILSpy.

Análisis dinámico o de comportamiento

Esta fase implica la ejecución del malware en el sistema, observando al mismo

tiempo su comportamiento y los cambios que puedan ocurrir en el mismo. Se debe

disponer de las herramientas necesarias para capturar las actividades y respuestas

del malware, detectando en el sistema víctima las siguientes acciones:

▸ Proceso malicioso.

▸ Detección de cambios en el sistema de ficheros (efectuada por comparación).

▸ Acceso a los ficheros (obtenidos de los mensajes debug).

▸ Cambios en el registro (por comparación de ficheros).

▸ Accesos al registro (mensajes debug).

Hacking Ético y Análisis de Malware 30


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

▸ Consultas DNS.

▸ Órdenes de mando y control.

▸ Byte de inicio de un socket (mediante un servidor TCP).

▸ Tráfico de red para comunicarse con otras máquinas (órdenes de mando y control).

▸ Descarga de archivos de internet.

Debe tenerse en cuenta que cuando se realiza el análisis dinámico es crítico que el

laboratorio de malware no esté conectado a otra red, e incluso los archivos se deben

transferir utilizando un medio de lectura solamente, como por ejemplo vía CD-ROM.

El análisis del comportamiento puede ser profundo y relativamente rápido, sin

embargo, es necesario el disponer de la información obtenida en el análisis de

código si se quiere obtener todo el conocimiento sobre la forma de actuar del

malware. La realización de este análisis se debe realizar así de forma progresiva,

agregando servicios en el entorno de ejecución, para aprender más sobre la muestra.

Además, hay que tener en cuenta que, si agregan o cambian demasiadas

características del entorno al mismo tiempo, el malware puede realizar muchas

acciones nuevas, lo que ampliará la extensión del análisis a expensas de intentar

saber exactamente cuál fue el responsable de cada cambio, incluso podría hacer

perder evidencias de lo ocurrido. En resumen, las fases de esta etapa serían las

siguientes:

1. Tareas previas a la ejecución. En este paso se realizarán las tareas necesarias


antes de ejecutar el malware. Entre ellas se pueden incluir: el establecimiento de las
variables de entorno en el equipo de destino, empezar las capturas de paquetes y
de otros programas que registran cambios en el registro o el disco duro, ejecutar

Hacking Ético y Análisis de Malware 31


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

programas de simulación de la red, etc.

2. Ejecutar malware. VMware tiene utilidades de línea de comandos que se

pueden utilizar para ejecutar un programa, como el malware, con los privilegios de
cualquier usuario de la máquina a la que se va a transferir. Si se está trabajando con
las máquinas físicas, se puede hacer lo mismo con PsExec.

3. Proporcionar servicios al malware. Realizar el análisis de forma progresiva


agregando servicios en el entorno de ejecución para aprender más sobre la muestra.

4. Tareas posteriores a la ejecución. Tareas a realizar después de ejecutar el


malware, como, la ejecución de herramientas en el sistema infectado y la toma de
instantáneas (en las herramientas que lo permitan) para obtener datos por
comparación, parar capturas de paquetes activa, tomar capturas de pantalla del

escritorio o nuevas ventanas, y así sucesivamente.

5. Volcado de la RAM. Si está trabajando con máquinas virtuales, este paso


implica suspender la máquina virtual y acceder a su archivo de la memoria en el
sistema de archivos del host. Si está trabajando con los sistemas físicos, este paso
implica la memoria un volcado de la misma en un archivo o directamente a través de
la red a la máquina de análisis.

En la figura siguiente se representan las fases de este proceso:

Hacking Ético y Análisis de Malware 32


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

Figura 10. Fases del análisis dinámico. Fuente: elaboración propia.

En la figura siguiente se resume la dinámica del proceso anteriormente descrito. Las

herramientas que se proponen para un análisis básico son las siguientes:

Figura 11. Proceso de análisis dinámico. Etapas análisis dinámico. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 33


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

Herramientas: Systracer, Procmon, Process Hacker, RegShot, AutoRuns, Wireshark

y NotMyFault.

La dinámica de uso de las herramientas comienza con la toma de una línea base del

sistema, con SysTracer, Process Hacker, RegShot y AutoRuns. Seguidamente, se

debe lanzar la ejecución las herramientas procmon. Después se pasa a ejecutar el

malware durante veinte minutos (aproximadamente), mientras se observan con las

herramientas anteriores los cambios en el estado del sistema y la configuración de

los servicios que va necesitando progresivamente el malware (con las herramientas

Apate Dns, Netcat e Inet Sim).

Se debe asegurar el registro de los cambios que se producen después de ejecutar el

malware. Una vez pasado el tiempo anteriormente indicado, se debe tomar otra

instantánea de las citadas herramientas con la máquina ya infectada. A continuación,

se buscan cambios con respecto a la línea de base anterior y se registrarán los

cambios efectuados. Por último, habrá de examinarse el tráfico de red capturado

con Wireshark.

Análisis de la memoria

Una vez finalizada la etapa del análisis de comportamiento, y habiendo realizado el

volcado de la memoria, se procede al análisis de la misma. En cuanto a la

información que podemos obtener en esta etapa tenemos:

▸ Procesos en ejecución.

▸ Procesos en fase de terminación.

▸ Conexiones activas: TCP, UDP y puertos.

▸ Ficheros mapeados: drivers, ejecutables y ficheros.

Hacking Ético y Análisis de Malware 34


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

▸ Objetos caché: direcciones web, passwords y comandos tipeados por consola.

▸ Elementos ocultos.

El proceso de análisis de la memoria sería:

Figura 12. Proceso análisis de la memoria. Fuente: elaboración propia.

Hacking Ético y Análisis de Malware 35


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

Herramientas: Bulk Extractor, string y Volatility

Estas herramientas de análisis de la memoria RAM permiten:

▸ Reconstruir partes importantes de la memoria y listar procesos.

▸ Listar archivos abiertos por los procesos y conexiones que estaban abiertas.

▸ Obtener histórico de un cmd.exe y listar servicios del sistema.

▸ Obtener información de los usuarios, como, por ejemplo, los hashes de estos,

utilizando la dirección virtual de SYSTEM y SAM, y la utilización del comando

hashdump de Volatility. Pero sin olvidar que hay que tener cuidado con la privacidad.

Por último, una vez realizado el análisis, revertir el sistema al punto original.

Hacking Ético y Análisis de Malware 36


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

En el vídeo Análisis de la memoria con Volatility se hace una demostración del uso

de esta herramienta aplicado al caso de malware Wannacry.

Accede al vídeo:

https://unir.cloud.panopto.eu/Panopto/Pages/Embed.aspx?id=ab204a08-582e-
492f-adea-afa100917826

Hacking Ético y Análisis de Malware 37


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

10.4. Referencias bibliográficas

Any.run. https://any.run/

CheckPoint Software. (2022). InviZzzible. Github.


https://github.com/CheckPointSW/InviZzzible

INCIBE. (2009). Cuaderno de notas del observatorio. Honeypots, monitorizando a los

Atacantes. http://www.it-docs.net/ddata/4966.pdf

Malpedia. (s. f.). Mirai. https://malpedia.caad.fkie.fraunhofer.de/details/elf.mirai

MalwareBazaar. https://bazaar.abuse.ch/

Plum, J. (2023). Awesome Forensics. Github. https://github.com/Cugu/awesome-


forensics

Tisf. (2022). theZoo. Github. https://github.com/ytisf/theZoo

vx-underground. https://vx-underground.org

Hacking Ético y Análisis de Malware 38


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

Systematic approach to malware analysis (SAMA)

Bermejo, J., Abad, C., Bermejo, J. R., Sicilia, M. A. y Sicilia, J. A. (2020). Systematic

approach to malware analysis (SAMA). Applied Sciences, 10(4), 1360.

https://www.mdpi.com/2076-3417/10/4/1360

En este artículo se describe una metodología de análisis de malware, junto con un

informe de su aplicación al caso de Flame y Octubre Rojo. El método presentado en

este trabajo es un proceso sistemático y metodológico de análisis, cuyo principal

objetivo es la adquisición de conocimientos, así como obtener una comprensión

completa de un malware concreto.

Hacking Ético y Análisis de Malware 39


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

MMALE a methodology for malware analysis in


linux environments

De Vicente, J. J., Bermejo-Higuera, J., Bermejo, J. R., Sicilia, J. A., Sánchez, M. y

Martínez, J. J. (2021). MMALE a methodology for malware analysis in linux

environments. Computers, Materials & Continua, 67(2), 1447-1469.


https://reunir.unir.net/handle/123456789/11516

Este artículo propone una metodología para el análisis de malware en el sistema

operativo Linux, que es un campo tradicionalmente ignorado en comparación con los

demás sistemas operativos. La metodología propuesta se pone a prueba con un

malware específico de Linux, y los resultados obtenidos presentan una alta eficacia

en la detección de malware.

Hacking Ético y Análisis de Malware 40


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

Rootkit Necurs: No es un bug, es una feature!

c0r0n4con Congreso. (2020). Rootkit Necurs: No es un bug, es una feature! [Vídeo]

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

Accede al vídeo:

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

En el vídeo los investigadores muestran todo el proceso desarrollado para analizar y


comprender el funcionamiento del Rootkit Necurs. Uno de los aspectos más

interesantes es cómo, más allá del método seguido, en ocasiones puede tocar lidiar

con comportamientos muy inesperados.

Hacking Ético y Análisis de Malware 41


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

Sandbox fingerprinting - Evadiendo entornos de


análisis

Rooted CON. (24 de mayo de 2020). Sandbox fingerprinting - Evadiendo entornos de

análisis [Vídeo]. Youtube. https://www.youtube.com/watch?v=AyVgIttiUpQ

Accede al vídeo:

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

Ponencia acerca de los riesgos que pueden correr el analista y su entorno si la

implementación de nuestro laboratorio de análisis no es correcta.

Hacking Ético y Análisis de Malware 42


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

1. ¿Cómo se llama a una máquina instalada para obtener malware emulando

sistemas reales, pero sin llegar a implementarlos?

A. Sandbox.

B. Honeypot de baja interacción.

C. Honeypot de alta interacción.

D. Honeypot de media interacción.

2. El hash que permite buscar las similitudes entre dos binarios se llama:

A. HashDiff.

B. ssdeep.

C. nltk.

D. SHA-1.

3. Un imphash:

A. Es para hacer hashes de archivos muy pequeños.

B. Es para hacer hashes de archivos muy grandes.

C. Genera una firma con las funciones utilizadas por el binario.

D. Genera una firma única de ficheros importantes.

4. Señala la opción menos prioritaria. Es importante que el entorno de ejecución del

malware sea:

A. Creíble.

B. Rápido.

C. Analizable.

D. Robusto.

Lo más importante es que sea creíble, para que el malware actúe con
normalidad; robusto para que no nos infectemos, y que nos permita analizar

todo lo que queramos sin inconvenientes.

Hacking Ético y Análisis de Malware 43


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

5. Mediante el comando strings podemos:

A. Analizar el malware por hilos.

B. Extraer rápidamente IOC de texto.

C. Convertir el malware en cadenas de texto.

D. Convertir caracteres en estructuras de datos complejas.

6. Si no tenemos conocimiento de los requisitos de confidencialidad del malware, no

debemos:

A. Analizarlo en una sandbox local.

B. Analizarlo en una sandbox online.

C. Realizar un análisis dinámico de código.

D. Esperar a tenerlos claros.

7. El programa desarrollado por Sysinternals, Procmon, no permite:

A. Analizar el uso del registro.

B. Analizar el tráfico de red.

C. Analizar el uso de disco.

D. Analizar los procesos ejecutados.

8. ¿Cómo podemos ver el valor de los parámetros utilizados en las llamadas a

funciones?

A. Mediante análisis de código con IDA.

B. Mediante análisis dinámico con x64dbg.

C. Consultando con el parámetro -h.

D. Mediante análisis de funciones con PeStudio.

Hacking Ético y Análisis de Malware 44


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

9. Si queremos analizar las funcionalidades de un programa malicioso que no se

ejecuta en el entorno de usuario:

A. Procederemos a arrastrarlo al entorno de usuario mediante hooking.

B. Buscaremos en Internet información, porque es imposible acceder a otras

áreas.

C. Lo haremos a través de un análisis de memoria.

D. Lo haremos mediante desensamblado del MBR.

10. Si no tenemos ninguna información, cuando el malware realice operaciones de

red, debemos:

A. Tratar de emular los servicios que quiere utilizar en el proxy.

B. Darle salida a Internet y capturar el tráfico.

C. Bloquear todas sus conexiones para evitar movimientos laterales.

D. Buscar una versión desactivada del malware para analizarla primero.

Hacking Ético y Análisis de Malware 45


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

También podría gustarte