Sie sind auf Seite 1von 68

Análisis de Malware

[4.1] ¿Cómo estudiar este tema?

[4.2] Introducción al malware

[4.3] Tipos de malware

[4.4] Obtención del malware

[4.5] Entorno y herramientas análisis de malware

[4.6] Metodología de análisis de malware

[4.7] Referencias bibliográficas

4
TEMA
Esquema

TEMA 4 – Esquema
Análisis de malware

Entorno y herramientas análisis de Metodología de


Tipos de malware Obtención del malware
malware análisis de malware

2
Clases de malware Honeypot Arquitectura del Clasificación
laboratorio

Caracte rización de l Honeynet Análisis estático


malware (MAEC) Herramientas del
laboratorio
Análisis dinámico

© Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software
Seguridad en el Software

Ideas clave

4.1. ¿Cómo estudiar este tema?

Para estudiar este tema lee las Ideas clave que encontrarás a continuación, además de
leer los apuntes elaborados por el profesor.

El objetivo del presente tema es introducirte en los aspectos fundamentales que


definen los diferentes tipos de malware, sus formas de obtención, justificar los
beneficios obtenidos mediante el análisis de malware a fin de comprender su
funcionamiento, evaluar el daño causado por un ataque, valorar sus intenciones y
capacidades, entender la necesidad de establecer redes de ofuscación para el malware
basadas en el uso de honeynet y por último estudiar una metodología de análisis
que incluye los pasos: actividades iniciales, clasificación, análisis de código
y análisis dinámico o de comportamiento.

4.2. Introducción al malware

Actualmente el código malicioso, en adelante malware, ha evolucionado hasta


convertirse en uno de los peligros y amenazas más importantes que afectan a la
seguridad de los sistemas TIC de una organización. La magnitud de esta amenaza se
debe en parte a la cada vez mayor complejidad de software, algo que en última
instancia se traduce en un creciente número de vulnerabilidades que pueden ser
explotados por el malware contra los usuarios finales y organizaciones.

Por lo tanto, la protección de los sistemas TIC del malware es actualmente uno de los
problemas de seguridad más importantes para las organizaciones y los individuos. En
este sentido se considera de vital importancia el conocer su estructura,
funcionamiento e interacción del mismo, pues aportará una valiosa información,
no solo para el diseño y desarrollo de contramedidas eficaces, sino que también para
ayudar a conocer el origen de un ataque y evaluar la capacidad de detección de los
sistemas de la organización a objeto de tomar las acciones de respuesta necesarias y
adecuadas.

TEMA 4 – Ideas clave 3 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

En concreto entre los beneficios que se obtendría de su conocimiento tendríamos:

» Conocer el origen de un ataque e identificar al intruso.


» Evaluar la capacidad de detección de malware de los sistemas de protección de las
organizaciones.
» Evaluar los daños causados por la intrusión y acciones del malware.
» Descubrir otras máquinas que han sido afectadas por el mismo malware.
» Identificar la vulnerabilidad que fue aprovechada por el malware, para obtener la
actualización del software que la mitigue, si está disponible.
» Obtención de datos necesarios para poder implementar defensas necesarias para
mitigar y neutralizar los daños producidos por el malware particular analizado,
entre las que se pueden incluir reglas de cortafuegos, de sistemas de detección de
intrusiones tipo red y host y antivirus.
» Determinar el nivel de sofisticación y complejidad del malware.

El grado de complejidad de las técnicas y el nivel conocimiento necesarios para analizar


malware es proporcional al nivel de sofisticación del mismo. Estas técnicas conocidas
como técnicas de análisis y reingeniería de malware pretenden facilitar la
adquisición de conocimiento sobre el mismo de una manera sistemática y
metodológica.

4.3. Tipos de malware

Comencemos con su definición, en el documento Desmontando malware realizado por


el INCIBE lo describe como «término genérico utilizado para referirse a
cualquier tipo de software malicioso o molesto que puede instalarse en los
sistemas informáticos para llevar a cabo acciones sin el conocimiento del
usuario».

De la definición se desprende que malware es cualquier tipo de software desarrollado


con propósitos maliciosos y su término general se utiliza para describir a virus, gusanos
y otros tipos de programas nocivos e indeseables. En conclusión, malware es
cualquier programa que se ejecuta en un sistema informático sin
conocimiento y permiso del usuario y le provoca un perjuicio.

TEMA 4 – Ideas clave 4 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Las principales acciones que suele realizar sobre la máquina víctima son las siguientes:

» Envío de correo a gran escala.


» Eliminación de archivos.
» Modificación de archivos.
» Modificación de claves del registro u otro tipo de datos de configuración.
Degradación del rendimiento.
» Inestabilidad del sistema.
» Robo de información corporativa y confidencial.
Modificación de la configuración de seguridad.

Los mecanismos de propagación del malware son los siguientes:

Infección de aplicaciones.
Integración en espacios en vacíos de ficheros.
Uso de la librería Mapi.dll con el fin anexarse a todos los mensajes salientes desde el
sistema infectado.
Explotación directa de servicios vulnerables.
Anexos de correos electrónicos, ejecución de ficheros, escaneo de red y gusanos web.
File dropper.
Sobreescritura o borrado de los ficheros originales.
Puertas traseras.
A través de redes Redes Peer-To-Peer (P2P) implementadas por aplicaciones como
Kazaa, Morpheus, Gnutella, etc. y cadena de comunicación Fax Flux.
Copias generadas en dispositivos removibles, como discos, memorias USB, etc.,
sobrescribiendo el archivo autorun.inf.
Transferencia y compartición de ficheros a través de la red.
Phising (técnica de ingeniería social caracterizada por engañar al usuario para que
ejecute un programa malicioso, mediante un enlace en un correo electrónico, URLs
con enlaces engañosos o el uso de subdominios.). Utilidad dañina que un usuario
descarga y ejecuta a nivel local, creyendo que es benigna.
Expansión a través de las de redes sociales, cargándose a través de link de URL
vinculadas al malware a través de sitios como Facebook, MySpace, Friendster, y
LiveJournal.

TEMA 4 – Ideas clave 5 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Así mismo los vectores de infección son los siguientes:

Correos electrónicos mediante la ejecución de ficheros y phishing.


Servicios de red vulnerables.
Webs maliciosas.
Gusanos que aprovechan vulnerabilidades de programas y aplicaciones web.
Redes P2P.
Exploit en el lado cliente.

Existe tal variedad de malware, su evolución es tan rápida y sus características


frecuentemente compartidas entre varios tipos que la realización de una
taxonomía o clasificación del mismo no es una tarea fácil. No obstante, en los
siguientes párrafos se presentan los tipos más comunes y sus principales
características.

» Virus. Básicamente es un programa que se integra dentro de otro programa


aparentemente inocuo que produce copias de sí mismo en la memoria del ordenador
que a su vez las inserta en otros programas y por lo general lleva a cabo una acción
maliciosa, como la destrucción de los datos, modificación de ficheros de sistema etc.
» Gusanos. Es un programa malicioso similar a un virus, pequeño, autónomo que se
replican a través de una red sin intervención humana y por lo general lleva a cabo
una acción destructiva.
» Troyanos. Es un software o programa aparentemente útil y de apariencia inocente,
cuando en realidad contiene oculto en su interior instrucciones de carácter
malicioso.
» Puertas traseras (backdoors). Es u tipo de software malicioso que crea un canal
de entrada (normalmente un canal a un servidor IRC) que el ciberatacante utiliza
para conectar, controlar, espiar o instalar otro malware como un keylogger, un
APT, software cliente de un botnet, etc.
» Keyloggers. Programa que puede capturar y transformar pulsaciones de teclas
(teclado) para enviárselas al agente malicioso, obteniendo información privada,
como contraseñas y números de tarjetas de crédito, etc.
» Spyware. Software para obtener información del objetivo (ciberespionaje) que se
instala en un equipo sin el conocimiento del usuario y transmite información
personal sobre las actividades y preferencias del usuario como las páginas visitadas,
dirección de correo electrónico, número de tarjeta de crédito, tecla pulsada por el
usuario, al atacante.

TEMA 4 – Ideas clave 6 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

» Adware. Software que proporciona a los anunciantes información sobre hábitos de


navegación de los usuarios, sitios web visitados, productos comprados en línea, etc.,
sin su permiso o voluntad, permitiendo así al anunciante ofrecer anuncios
orientados con los hábitos de la víctima o incluso redirigir al usuario a navegar por
Webs que contienen ciertos anuncios.
» Rootkits. Es un tipo de software malicioso de gran peligrosidad y difícil
eliminación que modifican ficheros y librerías del sistema operativo de la máquina
objetivo, para ocultar su existencia y mantener el acceso o incluso permitiendo al
intruso tomar el control del equipo. En general, existen dos tipos de rootkits: modo
usuario y modo kernel.
» Botnet. Son un tipo de malware de crecimiento espectacular en los últimos años,
que se instala en el sistema objetivo a través de una vulnerabilidad del equipo o
usando técnicas de ingeniería social y consiste básicamente en la creación de una red
de ordenadores zombis o robots de software autónomos, que son controlados
remotamente mediante un sistema de mando y control «C2» por el
ciberatacante normalmente a través de un canal de Chat IRC.
» Spam. Consiste en el envío masivo de correo electrónico no solicitado a través de
Internet, principalmente por motivos publicitarios, a partir de una lista obtenida por
un robot de spam, que al navegar por Internet extrae todas las direcciones de correo
electrónico que encuentra en las páginas web visitadas y las escribe en un archivo.
» Ransomware. Es una clase de malware que busca un beneficio económico
mediante la realización de un chantaje al usuario de la máquina infectada, como la
restricción de acceso al mismo coaccionándole a pagar un rescate al ciberatacante
para que la restricción sea eliminada.
» Rogueware o scareware. Otro tipo de malware que busca la obtención de
beneficio económico mediante estafa utilizando técnicas de ingeniería social para
causar un estado de shock o ansiedad en el usuario, causándole una alarma ente una
amenaza, como el informarle y simularle la presencia de diversos tipos de malware
en su máquina.
» Advanced persistent threat (APT). Tipo del malware que consiste en un tipo
sofisticado de ciberataque organizado, de rápida progresión y largo plazo que
constituye uno de los desafíos de seguridad más importantes y peligrosos que deben
afrontar hoy en día las organizaciones. Diseñado específicamente para acceder y
obtener información de los sistemas de la organización objetivo, los vectores de
ataque que usan pueden ser no muy diferentes de los empleados en otros tipos de
ataque o incluso ser desarrollos específicos.

TEMA 4 – Ideas clave 7 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Una iniciativa muy importante desarrollada para comunicar y compartir información


útil recogida sobre malware sin ambigüedad y pérdida de datos, lo constituye la
iniciativa del MITRE «Malware atribute enumeration and characterization»
(MAEC), que consiste básicamente en la creación de un lenguaje estandarizado y
formato de caracterización sobre la base de sus atributos, comportamiento, artefactos y
patrones de ataque. Permiten la creación de patrones abstractos, más ventajoso que el
uso de firmas físicas, pues permiten la codificación precisa de cómo funciona el
malware y las acciones específicas que realiza.

Figura 1. Componentes de MAEC

4.4. Obtención del malware

Antes de comenzar con las actividades de análisis de malware es necesario disponer de


mecanismos de obtención del mismo, entre los que tenemos los siguientes:

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

Una forma de estudiar los métodos y patrones de ataque del malware que permite
conocer con detalle las vulnerabilidades de las redes de una organización y los ataques
que las explotan, consiste en la implantación de honeypots, honeytokens y
honeynets, como medida proactiva de defensa.

TEMA 4 – Ideas clave 8 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Este tipo de sistemas permite la obtención de malware para utilizarlo con propósitos
investigación, pues permite obtener datos de ataques reales al dejar de algún modo
«expuestos» sistemas para posteriormente analizarse.

Estos sistemas 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á 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 aparenta ser un sistema en producción y que posee
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.

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. Existen
diferentes tipos de honeypots, tal y como podemos ver en la siguiente figura:

Honeypots

Inve stigación

Tipo de uso

Producción

Físicos

Tipo
implementación
Virtuale s

Baja inte racción

Tipo de
interacción
Alta inte racción

Figura 2. Tipos de Honeypots.

TEMA 4 – Ideas clave 9 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Por el tipo de iteración tenemos:

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 del mismo. 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:

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

Sin embargo, esta solución proporciona una cantidad de información limitada, pues
no es posible obtener los datos completos de la comunicación de protocolos
complejos.

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, las posibilidades de recopilar información, los posibles ataques aumentan de
manera significativa. En la tabla siguiente se muestra las principales diferencias
entre los honeypots de alta y baja interacción (Inteco, 2009).

Alta interacción Baja interacción


Servicios reales, sistemas operativos o Emulan servicios, vulnerabilidades,
aplicaciones reales etc.
Alto riesgo Bajo riesgo
Capturan menos información, pero más Capturan mucha información.
valiosa Dependen de su sistema de
clasificación y análisis para evaluarlo
Tabla 1. Comparación honeypots de alta y baja interacción. Extraída de INTECO (2009).

TEMA 4 – Ideas clave 10 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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 principales requisitos son:

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


que se produzca desde los Honeypots hacia las redes externas, al objeto de impedir
que la Honeynet sea usada por un ciberatacante como herramienta de ataque hacia
otros sistemas de producción de la organización o Internet. Una forma de
implementarlo consiste en la instalación de un IDS in line (forma de conexión de
IDS 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.

Al gateway de entrada se le denomina «honeywall», 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.

TEMA 4 – Ideas clave 11 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Existen diferentes tipos de honeynet, tal y como podemos ver en la siguiente figura:

Honenet

GEN I

Arquitectura GEN II

GEN III

Virtuales

Implementación Físicas

Híbridas

Figura 3. Tipos de Honeynet.

La clasificación por el tipo de implementación se realiza en base al tipo de


implementación física o virtual de los diferente honeypots y dispositivos que
forman la honeynet. La Virtual se basa en la implementación de una arquitectura de
generación I, II o III en una sola maquina física con una plataforma virtual instalada
tipo VMware, Virtualbox, etc. con todos sus dispositivos virtualizados, incluido el
Honeywall. 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.

En los siguientes apartados se describen la otra parte de la clasificación de las


honeynets en base a su arquitectura.
Honeynet 1ª generación. El modelo más antiguo de honeynet es llamado
«GenI», la puerta de entrada la constituye un cortafuegos que separa la honeynet en
tres redes diferentes: honeynet, Internet y gestión. Detrás del firewall se encuentra
un router, los honeypots, un detector de intrusiones de red o NIDS y un servidor
centralizado de logs y alarmas, tal y como se muestra en la figura.
o Control de datos. Es la herramienta encargada de realizar el control de datos,
entrantes y salientes, es el cortafuegos, admite cualquier conexión entrante, pero
controla las conexiones hacia afuera, hasta que alcanza cierto umbral en el que
bloqueará otros intentos adicionales. Esto protege a la honeynet de ser usada

TEMA 4 – Ideas clave 12 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

como una plataforma de escanear y ataque hacia otros sistemas de producción de


la organización.

El router complementa al cortafuegos en la terea de filtrado, actuando como


segundo dispositivo de control acceso, asegurando que honeypots
comprometidos no ataquen a sistemas de fuera de la honeynet.

o Captura de datos. Los dispositivos que forman parte de la captura de datos


son: el firewall, el IDS y los honeypots.

– El cortafuegos registra todas las conexiones entrantes y salientes y envía las


alarmas y eventos al sistema de almacenamiento de tráfico y registros. También
realiza labores de NAT (Network Address Traslation) (Mecanismo utilizado por
dispositivos de capa tres como cortafuegos, routers, etc. que consiste en
convertir, en tiempo real, las direcciones utilizadas en los paquetes
transportados de direcciones públicas alas privadas de la organización).
– El sistema de detección de intrusión Snort alertará de cualquier actividad
sospechosa, capturará todo el tráfico de la red y enviará los logs de alertas y
eventos a un servidor de syslog. Dispone de una interfaz invisible para la
captura de tráfico y otra visible para la extracción de datos.
– Los honeypot. Utiliza Shell modificados para la captura de datos y realiza el
envío de logs de alertas y eventos a un servidor de syslog.

Atacante
Switch

Internet

HoneyNet GEN I

IDS SNORT Honeypot

Switch
Firewall Honeypot

Honeypot

Figura 4. Honeynet Gen I.

TEMA 4 – Ideas clave 13 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Honeynet 2ª generación. El segundo modelo llamado Honeynet Gen II fue


lanzado y ha sido usado desde principios del 2002 por el Honeynet Project, las
diferencias principales con las honeynet Gen I es que utiliza como Gateway de
acceso un dispositivo que actúa como un puente, en lugar de un router y las tareas
de control y captura de datos ahora están centralizadas en un solo dispositivo
llamado Honeywall lo que permite que esta arquitectura sea fácil de desarrollar y
mantener, tal y como se muestra en la figura.

Para la captura de datos de los honeypots se utiliza una herramienta llamada Sebek,
de arquitectura cliente-servidor diseñada para capturar la actividad de los atacantes
en los Honeypots.

Las herramientas utilizadas en esta versión son las siguientes:

Control de Datos Captura de Datos Análisis de Datos


Puente de Capa 2 Snort: eventos IDS Swatch: alertas
FireWall: Iptables Iptables: log del firewall
Snort Inline Sebek v 2.x: Captura de datos
avanzada
Snort-inline: Eventos del IPS
Tcpdump: Tráfico de red
Tabla 2. Herramientas Honeynet GEN-II.

Atacante
Switch

Internet

HoneyNet GEN II

Honeypot

Switch
Honeywall Honeypot

Honeypot

Figura 5. Honeynet Gen II.

TEMA 4 – Ideas clave 14 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Honeynet 3ª generación. En el año 2005 apareció la tercera generación de


honeynet con una arquitectura muy similar a la anterior, mejorando las versiones de
las herramientas usadas e incluyendo otras nuevas con el principal objetivo de
mejorar las técnicas de análisis de los datos recogidos.

Un avance importante de la honeynet de esta generación es que normaliza los datos


registrados por cada herramienta de captura de datos, proporcionados por el control
de datos, al objeto de poder obtener el origen de la alerta y de poder averiguar los
paquetes que están relacionados a esa conexión.

Las herramientas utilizadas en esta generación son:

Control de Datos Captura de Datos Análisis de Datos


Puente de Capa 2 Snort: eventos IDS Swatch: alertas
FireWall: Iptables Iptables: log del firewall MySQL: correlación de
información en una base de datos
Snort Inline Sebek v 3.x: Captura de datos Argus + Hflow: información de
avanzada flujos de tráfico y relaciones
Snort-inline: Eventos del IPS Walleye: Interfaz Gráfica
Tcpdump: Tráfico de red
pOf: Identificación pasiva de SO
Tabla 3. Herramientas Honeynet GEN-III.

4.5. Entorno y herramientas análisis de malware

Introducción

El análisis de malware requiere la implementación de un entorno de pruebas o


laboratorio, es decir, un entorno controlado en el que los acontecimientos
inesperados son inexistentes o reducidos al mínimo, que nos permita
simular con condiciones realistas los escenarios de ejecución del malware.

Además, debe ser un entorno aislado de otras redes para poder asegurar la no
propagación del malware o sus efectos a las redes de producción o incluso Internet,
que permita la obtención y realización de una línea base de la configuración del equipo
víctima, clasificación y ejecución del malware, recogida y análisis de datos obtenidos,

TEMA 4 – Ideas clave 15 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

análisis estático de su código y por último un análisis dinámico en un entorno que


simule el ambiente real de ejecución.

Esto dará un análisis completo del ciclo de vida del malware; su


comportamiento, métodos de ocultación y ofuscación, sistema de
actualizaciones y comunicaciones.

Arquitectura

La construcción de un laboratorio para análisis de malware requiere de la utilización


de dos entornos, uno de hardware físico y otro virtual (figura siguiente) pues algunos
de los malware más sofisticados no se ejecutan si detectan que se están en una
máquina virtual. No obstante, dada la facilidad, funcionalidad y posibilidad de ejecutar
en un ordenador las diferentes máquinas del laboratorio en una plataforma virtual se
considera como primera opción a la hora de trabajar.

Laboratorio Analisis Malware


HONEY NET
EXTERNA
Internet
Internet
LAN VIRTUALIZADA
Victima B Monitorización B Servicios B
MAQUINA
DHCP,
DMZ VIRTUALIZADA TCPdump
HTTP, FTP,
NFSEM
Wireshark SMTP,
Web, mail, gateway por
ftp defecto

WINDOWS LINUX
WINDOWS
SERVER SERVER

IPS SERVIDOR 1
HONEY NET
DMZ
SOLO TRAFICO
SSH

LAN FISICA

Victima A Monitorización A Servicios A


TCPdump DHCP,
NFSEM HTTP, FTP,
IPS Wireshark SMTP,
Web, mail, gateway por
ftp defecto

WINDOWS LINUX
WINDOWS
SERVER SERVER

Figura 6. Arquitectura laboratorio análisis de malware.

Este laboratorio de malware constará de los siguientes subsistemas:

» Subsistemas de análisis físico y virtual, dispondría cada uno de los siguientes


dispositivos:

TEMA 4 – Ideas clave 16 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

o Víctima. Su objetivo será el constituir la plataforma donde se va a ejecutar y


monitorizar el malware para estudiar su comportamiento. Construido en base a
una máquina Windows.

o Monitorización y servicios Windows. Su objetivo es el realizar la grabación


y monitorización del tráfico de red producido por el malware, proporcionar
servicios específicos de sistemas Windows, como SMB y la realización de las fases
de clasificación y análisis estático de código. Construido en base a un sistema
operativo servidor de Windows el 2003 server o superior, con la aplicación IIS
instalada.
o Servicios. El objetivo de este servidor es el de proporcionar servicios al malware
en su interactuación con el entorno, tal y como pueden ser Http, DHCP, Chat,
IRC Server, FTP, DNS y SMTP, para simular su entorno de ejecución. Construido
en base a la distribución para análisis de malware del Sans Institute REMNUX.
Cuenta con herramientas instaladas como Inetsim y netcat para simular servicios
para el malware y otras más de análisis para:
– Análisis estático de ficheros.
– Análisis de tráfico de red.
– Análisis de volcado de memoria.
– Análisis de malware en navegador web,
– Análisis de documentos.
– Análisis de metadatos en ficheros.

Servicio Utilidad Máquina


DNS Redirigir los accesos a Internet realizados por el Servicios
malware a los servidores de servicios
monitorización y servicios Windows
DHCP Necesario para que los sistemas de laboratorio Plataforma virtual o
obtengan una IP y para establecer la máquina servicios
servicios como puerta de enlace, para redirigir
y capturar los intentos de comunicación del
malware
HTTP Capturar el tráfico redirigido generado por el Servicios o monitorización
malware y servicios Windows
FTP Capturar el tráfico redirigido generado por el Servicios
malware
SMTP Capturar el tráfico redirigido generado por el Servicios
malware
SMB Compartición de ficheros de Windows. Cebo Monitorización y servicios
para el malware con archivos confidenciales Windows
aparentemente sin vigilancia
Tabla 4. Servicios del laboratorio

TEMA 4 – Ideas clave 17 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

» Subsistema recolección de malware. Se trataría de un sistema virtual de


arquitectura de Generación III, tal y como se ha descrito en el apartado anterior, con
honeypots de alta y baja interacción. Se debería disponer de una Honeynet en una
DMZ y otra en Internet, con cometido de captura y análisis de datos producidos de
la actividad del código dañino o malware, en entornos con diferentes niveles de
seguridad. Para la extracción del malware se tendría un acceso por SSH a las dos
honeynet a iniciar solo desde la parte interna, regla a incluir en los cortafuegos.

Las máquinas virtuales utilizadas deberán disponer de al menos dos interfaces de red:

Uno para crear una red interna que permita una comunicación entre las mismas
(“host only”), a ser posible con un direccionamiento fijo y conocido. De esta forma se
podrán transferir ficheros entre las mismas, conectarse a servicios para gestionarlas
(p. ej. escritorio remoto, telnet/ssh, ftp, etc.), reproducir ataques, etc.
Y otro que permita un acceso a la red pública Internet (por ej. NAT), ya que en
ocasiones será necesario disponer de este medio para instalar software, realizar
consultas, trabajar con servicios reales, etc. Este interfaz de red deberá estar por
defecto desactivado, habilitándose únicamente cuando sea estrictamente necesario
su acceso.

En el subsistema físico la red de área local se construiría en base a un switch o


dispositivo de capa, se recomienda un hub para poder grabar todo el tráfico de red o un
switch con un puerto configurado en modo promiscuo al que se conectaría el equipo de
Monitorización y Servicios. El IPS y los cortafuegos de la DMZ nos proporcionarán el
conveniente aislamiento del exterior. En mismo subsistema virtual se configuraría una
red privada en modo host only, para estar aislado del exterior.

Después de instalar el sistema operativo de las diferentes máquinas de


laboratorio y los diferentes services packs, parches y actualizaciones de los mismos,
utilizar la función de la plataforma virtual «snapshop» y tomar una instantánea de
cada uno, con el propósito de poder volver hacia atrás en caso de ejecuciones no
controladas de malware. En el caso de la parte física realizar una imagen y guardarla
en un disco externo, con un software de grabación de imágenes tipo Norton Ghost,
Acronis, etc., con tiempos de restauración no tan rápidos como el entorno virtual de
alrededor de 20 a 30 minutos.

TEMA 4 – Ideas clave 18 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Después de seleccionar las herramientas, realizar la construcción del laboratorio y


realizar las instantáneas e imágenes finales de la maquinas del laboratorio instantáneas
finales. Se debe grabar en un Cd o DVD las herramientas, antes de iniciar
cualquier tipo de análisis. Las herramientas grabadas en el CD se utilizarán
para verificar que las herramientas instaladas en el sistema no han sido
modificadas o infectadas después de realizar un análisis de malware,
mediante una comparación del Hash MD5 de las herramientas del sistema
con el obtenido de las grabadas en el CD. Al confirmar los hashes MD5, se estará
seguro de que el malware no modificó las herramientas que se utilizaron al realizar el
análisis y estas seguirán siendo válidas para operaciones posteriores.

También es importante instalar en las máquinas físicas, tanto las de la parte física del
laboratorio como la que soporta la parte virtual software de protección de tipo
antivirus, antispyware como Spy Bot o parecido y detección de intrusiones como Zone
Alarm, OSSEC o parecido.

Herramientas del Laboratorio

Otro aspecto importante del análisis de malware es el identificar las herramientas a


utilizar en los diferentes pasos o procedimientos a realizar en la misma. En la
actualidad existe una gran cantidad de herramientas disponibles tanto de forma libre
como de pago.

Una importante conclusión obtenida de la experiencia de realizar análisis de malware


es la necesidad de atacar al malware con diferentes tipos de herramientas
para obtener diferentes tipos de vista y datos que no ayuden a comprender mejor su
funcionamiento.

En este apartado se realiza un estudio de estas herramientas que hay disponibles o que
son útiles a la hora de realizar análisis de malware. De todas las herramientas
identificadas y estudiadas, se escogerá un subconjunto de ellas en base su
funcionalidad, facilidad de uso y capacidades que proporcionan. En la siguiente figura
se muestra una clasificación de estas en cuanto a la funcionalidad que proporcionan:

TEMA 4 – Ideas clave 19 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Figura 7. Herramientas de Análisis de Malware.

Muchas de las herramientas carecen de documentación que ayude a comprender su


funcionalidad y su uso aplicado explícitamente al análisis de malware. A continuación,
presentamos una tabla en la que se indica la máquina donde se debe instalar cada una
de las herramientas presentadas y servicios.

Víctima Monitorización y servicios Windows Servicios


Md5deep YARA + firmas ClamAV Netcat
WinMD5 ClamAV HTTP Apache
Strings Ssdeep Aplicación FTP
BinText Bitdefender Fake DNS
PEBrowse AntiVir Inetsim
BGInfo Panda AVG
Process Explorer Strings F-prot
Process Hacker PEiD Radare2
Process Monitor Dependency Walker Binwalk
PsFile PEBrowse Volatility
RootkitRevealer Windump Foremost
McAfee Rootkit Wireshark
String Snort
AutoRuns WinHex
TCPView IDA Pro
Fport Reverse Engineering Compiler
Hfind ProcDump 32
Vision Ollydbg
Filewatch PE Explorer
Attacker Windbg
Winalysis Fake DNS
YARA + firmas ClamAV Fakenet
Ssdeep
Wireshark

TEMA 4 – Ideas clave 20 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

PeStudio
CaptureBAT+WinPcap
VMMap
Systracer
Resource Hacker
PEViewer
Hex View
DiskPulse
GMER
Tabla 5. Herramientas análisis de malware relacionadas con las máquinas del laboratorio donde deben ser
instaladas

4.6. Metodología de análisis de malware

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.

TEMA 4 – Ideas clave 21 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Los objetivos, información y datos concretos a obtener del proceso del análisis
metodológico serán los que se muestran en la figura siguiente:

Figura 8. Objetivos información proceso metodológico

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

» Acciones iniciales. Consiste principalmente en la realización de una serie de


acciones encaminadas a obtener un registro de la configuración de las máquinas
que intervienen en el análisis, con el propósito de obtener una referencia que nos
permita comparar el estado de las mismas, antes y después de ejecutar el malware
bajo estudio.

» Clasificación. Consiste en examinar el archivo ejecutable del malware, pero sin


acceder a su código, con el objetivo de, primero identificar el tipo al que pertenece
y, seguidamente, obtener información sobre su funcionalidad, la cual facilitará la
realización de las siguientes fases de análisis, e incluso permitirá, en caso de ser
necesario urgentemente por razones de seguridad, la realización de firmas simples
de red para la protección de los sistemas.

TEMA 4 – Ideas clave 22 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

» Análisis de código. Esta fase consiste básicamente en la realización de un análisis


estático y otro dinámico del código ensamblador del malware, navegando a través
de él, al objeto de conseguir un mejor entendimiento de su funcionamiento. Se trata
de un proceso complejo que necesita de analistas en ingeniería inversa y que
permite obtener información inicial para la realización de la siguiente fase. Durante
la misma se encuentran funcionalidades que han permanecido ocultas durante la
fase anterior y que suponen nuevas rutas de ejecución del malware a probar.

» Análisis dinámico o de comportamiento. Consiste básicamente en la


realización de un análisis de la actuación del malware en el entorno de ejecución,
con el objeto de observar su comportamiento y obtener así conocimiento de las
acciones que realiza sobre el sistema objetivo (modificaciones del registro, ficheros,
etc.) y del tráfico de red que genera.

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


metodología es el siguiente:

Nuevos especímenes

Figura 9. Metodología de análisis de malware.

Como podemos ver en la figura la etapa de análisis de código se realice en primer lugar
el análisis dinámico, pues así, con los datos que en ella se obtengan se puede depurar la
siguiente antes de iniciarla. Como vemos en el diagrama anterior, la metodología
presenta un lazo de realimentación entre la etapa final de análisis dinámico y la de
clasificación, para poder contemplar así el caso en el que el malware, al ejecutarse, se
despliegue en más ficheros o especímenes.

TEMA 4 – Ideas clave 23 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Así, de una forma más específica, el diagrama de flujo general de la metodología y sus
procesos asociados es el siguiente:

METODOLOGIA ANALISIS DE MALWARE

ENTRADAS ACTIVIDADES SALIDAS

Líneas base de
ACCIONES referencia
INICIALES Snapshot o Imagen de
referencia

ANALISTA
MALWARE NO ¿ENTORNO
SEGURO?

SI
ESPECIMEN
MALWARE
COMPRIMIDO Y
PROTEGIDO
CLASIFICACION
CON
CONTRASEÑA

ANALISIS
CODIGO
INFORMACION
OBTENIDA

SI NO
¿EJECUTA MAQUINA
VIRTUAL?

Parcheado
SI
NO

Ejecutar Ejecutar
Entorno Entorno
virtual Físico

ANALISTA
ANALISIS SEGURIDAD
DINAMICO

SI NO
¿MAS ESPECIMENES?

Figura 10. Diagrama metodología análisis de malware

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

TEMA 4 – Ideas clave 24 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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


que hagan que no se ejecute en un entorno virtual VMware.

Para ello con una herramienta de Ingeniería Inversa (por ejemplo, IDA Pro) se busca el
código mágico de VMware. En caso de encontrarlo, se intenta parchearlo para ejecutar
el análisis en el entorno virtual; en 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)
con las fases propuestas. En la tabla 8 se muestra esa matriz de trazabilidad:

Acciones Clasificación Análisis Análisis


Iniciales Código Dinámico
Identificación X
Características X X
Dependencias X X X X
Conclusiones análisis X X X
comportamiento y código
Elementos soporte X X
Recomendaciones incidentes X X X
Tabla 6. Matriz de trazabilidad entre los objetivos de la metodología y las fases propuestas en la misma.

Acciones iniciales

Como en las otras metodologías existentes, esta fase tiene como fin la realización de
una serie de acciones encaminadas a comprobar la integridad del entorno de análisis, a
obtener un registro de la configuración y con ello disponer de una línea base de
referencia de la configuración de partida, para así, poder contar con datos que permitan
comparar los estados inicial y final, antes y después de ejecutar el análisis global del
malware bajo estudio.

Su objetivo también es iniciar el análisis en un estado limpio, 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 cada análisis. Si se está
trabajando con las máquinas físicas, este paso es donde se vuelve a la imagen del disco
de la máquina con una imagen de referencia.

TEMA 4 – Ideas clave 25 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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

1. 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.
✓ Hash MD5 archivos ejecutables binarios (sys, dll, ocx, scr, exe, mui, cpl, TLB,
etc.), pues muchos de los archivos se modifican durante una ejecución normal
del sistema operativo. Utilizar la herramienta WinMD5.

2. Si estamos en el entorno virtual, tomar una instantánea inicial «snapshot», o


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

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

4. Antes de iniciar un nuevo análisis de malware:


✓ Utilizar las herramientas WinMD5, para comprobar con ellas 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 en archivos ejecutables binarios (sys, dll, ocx, scr, exe, mui, cpl,
TLB, etc.).
✓ Utilizar herramienta Gmer y rootkitrevealer para comprobar que no se ha
instalado un malware de ese tipo rootkit.

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

6. Arrancar la herramienta Vmnetsniffer 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.

TEMA 4 – Ideas clave 26 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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


Línea 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:

ACCIONES INICIALES

ENTRADAS ACTIVIDADES SALIDAS

Acciones
Iniciales
ANALISTAS
MALWARE
Obtener una Línea Base
delas Máquinas de
Entorno de Análisis Análsiis.
Líneas Base de
Virtual o Físico Systracer referencia
Hash MD5 ejecutables

Desactivar los servivios


de actualización y
restauración del
Ssistema Operativo

Restaurar Tomar Instantánea Snapshot o


Instantaneas o Snapshot del Entorno
imágenes de Virtual o Im agen del
Imagen de
referencia Físico referencia

Comprobar Integr idad


¿Coinciden Líneas Líneas Base.
Base? WinMD5

Comprobar Hash de los


¿Coinciden Hash? fichero Ejecutables.
WinMD5

Comprobar existencia de
¿Rootkit? Rookit.
Gmer y Rootkitrevealer

Arrancar herramienta en el ENTORNO


Entorno Vir tual. VIRTUAL O
VMnetsniffer FÍSICO SEGURO

Analiza y Ejecutar
el Malware

Figura 11. Acciones Iniciales.

Clasificación

Tal y como se ha comentado anteriormente, este paso 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. Comprende los siguientes
pasos:

Transferir el malware.
Identificación del malware obteniendo su hash MD5, mediante la herramienta
WinMD5.
Clasificación del malware según el tipo, o si pertenece a una familia anterior por
modificación de alguno de sus componentes.

TEMA 4 – Ideas clave 27 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Búsqueda de información en fuentes abiertas OSSINT.


Búsqueda de cadenas de texto en el archivo ejecutable.
Identificación de técnicas de ofuscación y empaquetamiento. Si el malware está
ofuscado y se consigue romperlo se vuelve al paso 5 para buscar sus cadenas de
texto.
Formato y estructura del fichero.

CLASIFICACION

ENTRADAS ACTIVIDADES SALIDAS

Clasificación
ANALISTA
MALWARE ANALISTAS
MALWARE
TRANSFERIR
EL MALWARE
copyFileFrom INFORMACION
ESPECIMEN HostToGuest OBTENIDA
PsExec
MALWARE
COMPRIMIDO Y · Hash MD5 del archivo binario
· Hash MD5 secciones PE
PROTEGIDO · Firmas hexadecimal
CON IDENTIFICAR EL · Firmas metadatos de archivo
MALWARE HASH
CONTRASEÑA · Patrones de firmas
MD5
WinMd5 · Firmas de icono
· Cadenas de metadatos de
archivos PE
· Familias de malware
· Porcentaje de semejanza de
COMPROBAR entre dos diferentes tipos de
TIPO MALWARE
malware
Antivirus
YARA · Datos en fuentes abiertas
Ssdeeep · Cadenas de texto
· Protocolos
· Direcciones IP
· Contraseñas
· Comandos de M&C
OSSINT · Archivos
Internet · Técnicas Ofuscación
Sitios Ing. utilizadas
Inversa
· Tipo de empaquetado.
· Dirección base del archivo
· Dirección del punto de
entrada
CADENAS DE · Número de secciones en la
TEXTO tabla de la sección
BinText · Tipo de aplicación
· Librerías necesarias
· Requisitos de espacio

EMPAQUETADO
OFUSCACION
PEiD
PEBrowse
WinHex
ProcDump 32

SI
¿Se desenpaqueta el
Malware ?

NO

FORMATO
FICHERO
PEBrowse
Dependecy
Walquer

Figura 12. Fases etapa de clasificación.

TEMA 4 – Ideas clave 28 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Transferencia del malware. Transferir el malware a un archivo comprimido


(.rar, .zip, etc.) y protegido con contraseña. En el entorno de análisis virtual
(VMware), esta acción se podría realizar copiando el archivo con la función
copyFileFromHostToGuest o simplemente haciendo accesible el archivo a la
máquina virtual mediante su copia en una carpeta compartida. Si se está trabajando
en el entorno físico, se puede copiar el software malicioso de forma remota usando
la herramienta PsExec o un cliente SMB mediante línea de comandos.

Identificación del 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).
Normalmente se usa el algoritmo MD5 y las siguientes herramientas:
· Md5sums.
· md5deep.
· WinMD5.

Se recomienda WinMD5 pues dispone de GUI y es más cómodo su uso. Una vez que
hemos obtenido el hash del malware lo usaremos para lo siguiente (Sikorki, M., and
Honing, A, 2012).:
· Uso del 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.

TEMA 4 – Ideas clave 29 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Clasificación del tipo de malware. En esta fase se pretende pasar el malware


por el filtro de múltiples programas antivirus, al objeto 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: Una es instalar en
las máquinas de servicios y de monitorización del laboratorio, motores de búsqueda
de antivirus libres; la otra es utilizar servicios de análisis on-line 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.

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


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

· Servicios de análisis de archivos sospechosos forma online:


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

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


del mismo, creando descripciones de familias de malware basado en patrones de
texto o binarios contenidos 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:

TEMA 4 – Ideas clave 30 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

· YARA para detección de cadenas en el malware.


· Ssdeep: El último paso consistiría determinar el porcentaje de semejanza entre
dos diferentes tipos de malware, para ello se hará uso de la herramienta Ssdeep,
que proporciona las siguientes funcionalidades.

Búsqueda de información en fuentes abiertas (OSINT). Por definición la


inteligencia sobre fuentes abiertas (OSINT), consiste en la obtención de información
de fuentes públicamente disponibles o de libre acceso (web en Internet, redes
sociales, medios de comunicación, metadatos de documentos, etc.). 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 del análisis y
a simplificarlo grandemente.

Hay que tener siempre en cuenta, que 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 del tipo o familia de malware detectado en el paso de


“Clasificación del tipo de malware”.
· Búsqueda del tipo o familia de malware detectado en la base de datos MAEC del
Mitre
· Búsqueda del tipo o familia de malware detectado en Institutos de Investigación
con capacidades de análisis 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. Es una 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

TEMA 4 – Ideas clave 31 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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 está completase ha
completado. Las cadenas ASCII usan 1 byte por carácter, y el Unicode usa dos bytes
por carácter. Las herramientas utilizadas que se utilizan para efectuar esta búsqueda
son:
· Strings: Búsqueda de cadenas.
· BinText: Búsqueda de cadenas.

Identificación de técnicas de ofuscación. Los autores fabricantes de malware


usan, de forma frecuente, frecuentemente técnicas de ofuscación para esconder u
ocultar su ejecución y funcionamiento del mismo, de forma. Con ello, intenta
conseguir que sus archivos sean más difíciles de detectar y analizar. Estas técnicas
ayudan a evitar merman así 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 el código de 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 programa antivirus para identificar el malware.

TEMA 4 – Ideas clave 32 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Código ofuscado

Empaquetamiento

Encriptado

Poliformismo

Metamorfismo

Figura 13. Técnicas de ofuscación.

Es común utilizar varios mecanismos de ofuscación en el mismo malware, como


forma o medio de obtener una mayor protección adicional por ocultamiento. Por
ejemplo, la compresión y encriptado pueden aplicarse al mismo malware para
obtener así una doble protección.

Pero un primer signo que nos puede indicar que el malware está ofuscado son las es
la presencia de cadenas de texto que contiene, los. 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 ninguna 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.

Figura 14. GUI del programa PEiD.

TEMA 4 – Ideas clave 33 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Otro procedimiento a utilizar para intentar detectar el uso de técnicas de ofuscación


es el editar el malware con un editor hexadecimal como PEBrowse para tratar, Con
ello se tratará de determinar si el malware está utilizando el programa de
empaquetado, que normalmente se utiliza UPX. En definitiva, las aplicaciones a
utilizar que se utilizarán en esta fase son:

· PEBrowse: Comprobar si el malware utiliza técnicas de ofuscación.


· PEiD: Comprobar si el malware utiliza técnicas de ofuscación.
· WinHex: Editor hexadecimal de archivos.
· ProcDump32: Aplicación para desempaquetar algunos archivos protegidos
tipo PE sin necesidad de depurador.

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.

Los ejecutables de Windows deben ajustarse a la especificación de Portable


Ejecutable (PE), que es un formato de archivo para ejecutables, código objeto, DLLs,
archivos fuente y otros utilizados en las versiones de 32-bit y 64-bit de los sistemas
operativos Windows. El término «portátil» se refiere a la versatilidad del
formato en numerosos ambientes de la arquitectura de software del sistema
operativo. El formato PE es una estructura de datos que encapsula la información
necesaria para que el cargador de Windows OS para administre el código ejecutable.

El encabezado de PE contiene importante información sobre el código necesario


para ejecutar el malware como: la dirección base del archivo, la dirección del punto
de entrada, y el número de secciones en la tabla de la sección, tipo de aplicación,
librerías necesarias y requisitos de espacio. La información en el encabezado PE es
de gran valor para el analista de malware.

TEMA 4 – Ideas clave 34 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Fichero
PE

Cabecera MS-DOS

MS-DOC Stub

Cabecera PE

Directorio de
datos

Sección tabla

Figura 15. Estructura formato archivo PE.

· Cabecera "MZ" DOS. Contiene el número mágico MZ (caracteres


alfanuméricos, dos bytes, que de manera codificada identifican un archivo como
ejemplo de ellos tenemos: ejecutable de DOS (4D 5A), nuevo ejecutable de 16
bits (4E 45), ejecutable mezclado de 16/32 bits (4C 45), ejecutable lineal de 32
bits (4C 58), ejecutable portable de 32 bits (50 45) y ejecutable portable de 64
bits.) (0x 0x 4d 5a) en los dos primeros bytes. El último byte contiene
desplazamiento de cabecera PE.
· DOS Stub. Contiene un pequeño programa que dice «este programa no se
puede ejecutar en modo DOS».
· Cabecera «PE». Contiene el número mágico PE00 como indicador de
comienzo. Contiene información tal como el número de secciones, punto de
entrada, la base de la imagen, fecha y hora, etc.
· Tabla de Secciones. Contiene encabezados para cada sección. Cada
encabezado contiene información de las secciones como el tamaño, RVA
(direcciones virtuales relativas a la dirección de carga), el nombre y las
características que indica si es código o datos. Un prototipo de una tabla de
secciones se ve de la siguiente manera:

typedef struct _IMAGE_SECTION_HEADER {


BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
union {
DWORD PhysicalAddress;
DWORD VirtualSize;
} Misc;
DWORD VirtualAddress;
DWORD SizeOfRawData;
DWORD PointerToRawData;
DWORD PointerToRelocations;

TEMA 4 – Ideas clave 35 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

DWORD PointerToLinenumbers;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD Characteristics;
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;

· Sección n. Las secciones del archivo PE que contiene los bytes código. Más de
una sección puede tener características similares. Cada sección tiene un nombre
de 8 caracteres; este nombre no es significativo, pero normalmente se puede
encontrar lo siguiente:

Nombre Descripción
.text El código (instrucciones) del programa
.bss Las variables no inicializadas
.reloc La tabla de relocalizaciones
.data Las variables inicializadas
.rsrc Los recursos del archivo (cursores, sonidos, menús...)
.rdata Los datos de solo lectura
.idata La tabla de importación
.upx Firma de una compresión UPX, propio de software UPX
.aspack Firma de un paquete ASPACK, propio de software
ASPACK
.adata Firma de un paquete ASPACK, propio de software
ASPACK
Tabla 7. Tipos de secciones

En el documento de referencia
(http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf) se
muestra un gráfico con elevado grado de detalle de todas las estructuras importantes,
de este tipo de archivos.

1. Secciones ejecutables Cada programa contiene código ejecutable, datos de solo


lectura (constantes), datos de escritura (variables globales) y recursos. Cada uno de
ellos requiere un tipo diferente de protección: el código no debe ser modificable, no
debería ser capaz de escribir y modificar datos de solo lectura. Para llevar
estructurar esta parte del programa que comparten las mismas características se
agrupan las secciones. Cada sección tiene indicadores que especifican cómo debe
ser cargada en la memoria (ejecutable, de solo lectura, lectura y escritura ...).

2. FileAlignment vs. Memory Alignment. Los datos en disco y los que se


cargan en la memoria tienen una granularidad diferente. En el disco tiene sectores
(por lo general con 512 bytes), la memoria tiene páginas (por lo general con 4096
bytes). Cuando se almacena en el disco un archivo ejecutable debe tener en cuenta

TEMA 4 – Ideas clave 36 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

el FileAlignment, debe coincidir con los límites del sector (se rellena si es
necesario). Después de efectuar el proceso de carga en la memoria, las secciones de
memoria tienen que alinearse con los de la página (de nuevo rellenándola si es
necesario). Las características de memoria solo se pueden especificar a nivel de
página, así que si se tiene una sección de solo lectura de 200 bytes ocupará una
página entera en la memoria. Esto tiene un efecto secundario, en el caso del PE de
que estamos tratando con tres tipos de direcciones:

· Direcciones físicas, offset de archivo (FA).


· Direcciones virtuales relativas a la dirección de carga (RVA).
· Direcciones virtuales (VA).

En general en la cabecera de las direcciones se especifican como RVA.

3. Estructuras Claves. Cada ejecutable (que no es tipo COM) comienza con el


encabezado tipo DOS para mantener la compatibilidad. Se inicia con "MZ", si se
ejecuta desde DOS muestra un mensaje de advertencia de que el programa no se
puede ejecutar en DOS. En el offset 0x3C tenemos el "puntero" (RVA de la
dirección de carga de imagen) de la cabecera NT. El encabezado NT comienza con
'PE', contiene dos estructuras:

· Cabecera: contiene información sobre el tipo de máquina (procesador)


para los que se destina el archivo (Intel, ARM), el número de secciones del
fichero, el tamaño de la de la cabecera opcional que lo sigue y un conjunto
de características (si es un DLL, si es nativo ...).
· Cabecera Opcional, contiene una sección que indica el tipo de la misma
(puede ser una cabecera normal PE o PE para aplicaciones de 64 bits), la
RVA del punto de entrada la primera instrucción que se ejecuta) y también
los 16 directorios de datos.
· Directorios de datos, cada uno contiene una RVA a la estructura
correspondiente. Algunas estructuras de datos importantes:

- IMAGE_DIRECTORY_ENTRY_EXPORT, las funciones que exportan


las DLL.
- IMAGE_DIRECTORY_ENTRY_IMPORT, las funciones que el
ejecutable importa.
- Directorio de recursos.

TEMA 4 – Ideas clave 37 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

- Directorio basereloc, si las DLL se cargan en una dirección diferente


de la preferida (apuntado por el campo ImageBase de la
OptionalHeader), las referencias absolutas a los datos/código del
ejecutable tendrán que ser actualizadas.

4. Tabla IMPORT (http://es.wikipedia.org/wiki/Portable_Executable). Tabla de


importación de direcciones (Import Address Table o IAT), que se usa como una
tabla de búsqueda cuando la aplicación llama una función en un módulo diferente.
Esto puede darse en forma de importación por ordinal o importación por nombre.
Debido a que un programa compilado no puede conocer la ubicación en memoria
de las bibliotecas de las que depende directamente, cada vez que se hace una
llamada a la API es necesario un salto indirecto. Como el enlazador dinámico carga
los módulos y los une, este escribe la dirección actual en las ranuras IAT, de
manera que apuntan a las ubicaciones de memoria correspondientes de la
biblioteca de funciones. Aunque esto agrega un salto adicional en el costo de una
llamada intra-módulo que resulta en una reducción del rendimiento, ofrece una
ventaja clave: se reduce al mínimo el número de páginas de memoria que necesitan
ser cambiados copy-on-write por el cargador, ahorrando memoria y tiempo de I/O
de disco. Si el compilador conoce de antemano que será una llamada inter-módulo
(mediante el atributo dllimport) puede producir código más optimizado que
simplemente se traduce en una llamada indirecta opcode.

Después de la cabecera del NT, para cada sección del ejecutable, tenemos una
estructura de tipo _IMAGE_SECTION_HEADER que especifica el FA y el RVA de
la sección, que es el tamaño físico y virtual, su nombre y sus características.

5. Infecciones en los archivos ejecutables. Al infectar un archivo ejecutable el


malware, por lo general, tiene que modificar algunas de las cabeceras del mismo. La
forma más sencilla para lograrlo es la búsqueda de la última sección y escribir el
cuerpo del virus después de ella. Esta nueva zona tiene que estar incorporada al
ejecutable. SI esta última sección se amplía o se añade una nueva sección a la
cabecera, tienen que cambiarse también las características de la sección en la que
reside el código ejecutable. Como último paso, el punto de entrada,
AddressOfEntryPoint, debe ser cambiado para que apunte a la zona
recientemente añadida.

TEMA 4 – Ideas clave 38 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Figura 16.Infecciones en los archivos ejecutables.

La modificación del campo AddressOfEntryPoint puede realizarse colocando una


instrucción después del punto de entrada para llamar al código infectado. Esta técnica
se conoce como EPO (oscuridad del punto de entrada), una de sus desventajas (desde
el punto de vista atacante) es que no está garantizado que el cuerpo del virus sea
ejecutado.

Los principales puntos de análisis de este tipo de ficheros son (Hale Ligh et al, 2011).:

· Archivos con entradas TLS (Thread-local storage). Son funciones que se


ejecutan antes del hilo de ejecución principal. El malware usa las entradas TLS
para ejecutar código antes que el depurador consiga control.
· Archivos con directorios de recursos. Los directorios de recursos pueden
contener tipos de datos arbitrarios como iconos, cursores, y configuraciones.
· Entradas sospechosas en la tabla IAT (import address table). Son
funciones o librerías importadas. Se trata de una de las partes con información
más útil que podemos recopilar sobre un ejecutable. Pueden ser de tres tipos:
estáticas, dinámicas y en tiempo de ejecución.
· Secciones con puntos entrada sospechosos. Una sección con el nombre
PE con puntos de entrada que contiene el AddressOfEntryPoint.
· Secciones con tamaño cero. La razón más común de tamaño cero es debido
a que los empaquetadores incluyen datos descifrados.
· Secciones con entropía baja o alta. La entropía es un valor entre 0 y 8 que
describen la aleatoriedad de los datos. Los datos cifrados o comprimidos tienen
típicamente una entropía alta, mientras que la misma cadena sin cifrar o sin
comprimir tiene entropía baja. Calculando la entropía se puede obtener una
idea de que contienen las secciones en un archivo de PE empaquetado.
· Fechas inválidas. El campo de TimeDateStamp es un valor 32-bit que indica
cuándo se creó el archivo PE. Los autores de malware borran este valor para
ocultar la verdadera fecha de desarrollo del mismo.

TEMA 4 – Ideas clave 39 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

· Información de versión de archivo. La información de versión de un


archivo PE podría contener el nombre de la persona o la compañía que lo creó,
una descripción del mismo, versión, el nombre de archivo original y otros
comentarios. Este tipo de información no está disponible en todos archivos de
PE, pero muchas veces los autores de malware sí la dejan por descuido.

Las herramientas que se proponen utilizar en esta etapa son las siguientes:
· Dependency Walker: Es una aplicación de software libre que escanea
ficheros ejecutables tanto 32-bit como 64-bit de Windows (exe, dll, ocx, sys,
etc.) y construye un árbol jerárquico de todos los módulos dependientes. Para
cada módulo encontrado, enumera todas las funciones que son exportadas por
el módulo, y cuáles de esas funciones son realmente llamadas por otros
módulos. Otra vista muestra el conjunto mínimo de archivos necesarios, junto
con información detallada sobre cada archivo incluyendo la ruta completa al
archivo, dirección base, los números de versión, tipo de máquina, información
de depuración, etc.

· PEBrowse: Aplicación que permite mediante un análisis visual detectar datos


sospechosos como URL, direcciones IP, nombres de los ejecutables, etc. Puede
abrir y examinar cualquier ejecutable como aplicaciones, dll, controladores de
dispositivos, etc. La información está organizada en un árbol con las secciones
principales del archivo PE. En la mayoría de los casos la selección de una
sección permitirá nuevas opciones de vista contextual en múltiples menús,
incluyendo volcado binario, detalle de la sección, opciones de la estructura,
puntos de entradas de cabecera, funciones exportadas, equivalentes
hexadecimales/ASCII, mensajes y códigos de error de ventanas.

Análisis Estático

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


malware, navegando a través de él al objeto de conseguir una mejor comprensión del
funcionamiento del mismo. El 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. Además, en ocasiones, es necesaria la obtención de:

Información para poder ejecutar el malware.

TEMA 4 – Ideas clave 40 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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 del mismo.

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.

Se basa principalmente en la utilización de técnicas de ingeniería inversa cargando


el ejecutable en un desensamblador y mirando a las instrucciones del programa con el
fin de descubrir lo que hace y ver como se comportaría en condiciones inusuales. Por
ejemplo, 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. Un
punto importante es descubrir cómo puede ser detectado por los programas antivirus o
cómo pueden 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. Para poder realizar
el análisis estático, los investigadores de malware deben poseer un buen conocimiento
del lenguaje ensamblador y del sistema operativo de destino.

Este tipo de análisis estático debe ser capaz de transformar el lenguaje ensamblador
de nuevo al lenguaje de alto nivel que se utilizó para la creación del programa mediante
técnicas llamadas ingeniería inversa con la ayuda de herramientas como IDA PRO,
tiene un plugin para esta tereas y Reverse Engineering Compiler.

Otras herramientas a utilizar en esta fase son principalmente los depuradores. Estas
herramientas son capaces de detectar si el malware utiliza técnicas de protección de
software, ejecutar paso a paso su código, 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.

TEMA 4 – Ideas clave 41 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

En la figura se muestra el diagrama de este proceso:

Figura 17. Etapas análisis estático.

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:

ANALSIS DE CODIGO

ENTRADAS ACTIVIDADES SALIDAS

Análisis de
INFORMACION
ANALISTA Código OBTENIDA
MALWARE ANALISTAS
MALWARE · Información para ejecutar el
FUNCIONAMIE malware.
NTO · Información de instalación.
GENERAL · Comando de ejecución.
ESPECIMEN PE Explorer · Contraseñas.
MALWARE · Comandos de mando y
control.
COMPRIMIDO Y · Otras rutas de ejecución, etc.
PROTEGIDO · Canal IRC y contraseña de
ANALSIS conexión.
CON ESTATICO · Información para evitar
CONTRASEÑA CODIGO
restricciones de
IDA Pro
Reverse funcionamientos en entornos
Engineering virtuales.
Compiler · Funcionalidades ocultas.
· Compresión del
funcionamiento del mismo

ANALISIS
DINAMICO
CODIGO
Ollydbg

Figura 18.Fases etapa de Análisis de Código.

TEMA 4 – Ideas clave 42 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Las herramientas a utilizar son:

PE Explorer. Aplicación para inspeccionar el funcionamiento interno de una


aplicación y funciones de Windows. De ella no se dispone el código fuente, pero
proporciona herramientas para el desmontaje e inspección de binarios
desconocidos.
IDA Pro: Aplicación que realiza un proceso interactivo, programable,
multiprocesador desensamblador acoplado a una depuración local y remota y
aumentada por un completo plug-in de entorno de programación. Dispone de un
plugin para generar código en lenguaje «C» a partir del ensamblador.
Reverse Engineering Compiler: Aplicación muy popular que lee un archivo
ejecutable en bruto de un equipo con Windows, Linux, Mac OS X, etc. e intenta
producir una representación similar en lenguaje «C».
Ollydbg: Depurador de análisis a nivel de ensamblador de 32 bits para Microsoft
Windows. Pone énfasis en el análisis del código binario lo que es especialmente útil
en casos donde el origen no está disponible. Dispone de un plug-in llamado
OllyDump, que permite tener desempaquetar y descomprimir el código a su estado
inicial.

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:

Detección de cambios del 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).
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.
Análisis de la memoria

TEMA 4 – Ideas clave 43 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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. Hay que tener además
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
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 y análisis 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. A continuación, se utiliza una herramienta como
Volatility para su análisis.

TEMA 4 – Ideas clave 44 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

6. Analizar el disco duro. Si se está trabajando con máquinas virtuales, este paso
implica el montaje del disco de la máquina virtual en el sistema operativo residente
para proceder a analizar los cambios en los archivos, secciones del registro, registros
de eventos, registros de aplicación, y así sucesivamente. Si está trabajando con las
máquinas físicas, se debe montar la partición C:\ en otro sistema operativo, es decir
transferir la imagen de disco a otra máquina de análisis. El disco y las diferencias de
registro deben ser verificados en el modo fuera de línea. Con ello se asegurará contra
la infección de algún rootkits.

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

ANALISIS DINAMICO O DE COMPORTAMIENTO

ENTRADAS ACTIVIDADES SALIDAS

Análisis
ANALISTA Dinámico
MALWARE ANALISTAS
MALWARE

Tareas previas a la ejecución


Aplicaciones a lanzar: Systracer, INFORMACION
ESPECIMEN Winanalysis, CaptureBat, Process OBTENIDA
MALWARE monitor, ProcessHacker, PsFile,
COMPRIMIDO Y AutoRuns, TCPview, Regshot,
Spymetool Wireshark, · Detección de cambios del
PROTEGIDO Toma de instantaneas: Systracer, sistema de ficheros.
CON Winanalysis, CaptureBat, · Acceso a los ficheros.
AutoRuns, Regshot · Cambios en el registro.
CONTRASEÑA · Accesos al registro.
· Consultas DNS.
· Ordenes de mando y control.
· Byte de inicio de un socket.
· Tráfico de red.
· Descarga de archivos de
Ejecutar
Servicios en el entorno Internet.
malware
de ejecución · Análisis de la memoria:
Vmware
, Apate Dns, Netcat, · Procesos
PSexec
Inet Sim, · Conexiones activas
· Ficheros mapeados
· Drivers
· Ejecutables
· Ficheros
Tareas
· Objetos Caché
posteriores a
· Direcciones Web
la ejecución
· Passwords
· Comandos consola
· Elementos ocultos

Volcado y
análisis de la
RAM
Notmyfault,
Volátily y
String.

Analizar el
disco duro
Spymetool
HFind

Figura 19.Fases del Análisis Dinámico.

TEMA 4 – Ideas clave 45 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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


párrafos anteriores. Las herramientas que se proponen para un análisis básico son las
siguientes:

PROCESO DE ANALISIS DINAMICO

0 min 5 min 20 min


min

· Aplicaciones a lanzar: Systracer, Winanalysis, CaptureBat, Process monitor, ProcessHacker, PsFile,


AutoRuns, TCPview, Regshot, Spymetool, Wireshark.
· Servicios de RED: Apate Dns, Netcat, Inet Sim.
· Toma de instantaneas: Systracer, Winanalysis, CaptureBat, AutoRuns, Regshot

Figura 20. Etapas análisis dinámico.

Systracer. Obtener un hash MD5 mediante la herramienta WinMD5, con objeto de


tener una referencia con la que comparar después de haber realizado procesos de
análisis de malware.
Winanalysis: aplicación que permite obtener una imagen o línea base del sistema
a tomar en la fase 1 y 4 para luego compararlas.
Process monitor: aplicación que utiliza para monitorizar el registro, sistema de
ficheros, procesos, hilos de ejecución y DLL utilizadas en tiempo real.
ProcessHacker: herramienta que lista los procesos activos, archivos DLL cargados
por el malware, propiedades del proceso e información general del sistema.
También se puede utilizar para matar un proceso, cerrar la sesión de los usuarios y
el lanzamiento y validación de procesos.
TCPview: muestra intentos o conexiones de red que realiza el malware.
RegShot: herramienta que permite tomar y comparar dos instantáneas del registro.
Se debe tomar una primera instantánea del registro al principio en la fase 1, luego
ejecutar el malware y esperar a que termine de realizar cambios en el sistema. A
continuación, se debe tomar la segunda instantánea y ejecutar en la fase 4 la
funcionalidad de comparación.

TEMA 4 – Ideas clave 46 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

AutoRuns: muestra qué programas están configurados para ejecutarse durante el


inicio del sistema o el inicio de sesión, y muestra las entradas en el orden en que
Windows las procesa. Permite así tomar una «foto» del sistema antes de ejecutar el
malware y luego comparar.
Capturebat: analiza el estado del sistema operativo y las aplicaciones que se
ejecutan en un sistema Windows mediante la supervisión del sistema de archivos,
registro y monitores de proceso. Captura los cambios de estado a nivel bajo del
núcleo y puede ser fácilmente utilizada en varias versiones del sistema operativo
Win32 y sus configuraciones.

Apate Dns: configuración del servidor DNS para el sistema víctima, de forma que
se recree el ambiente de ejecución del malware.
Netcat: herramienta utilizada en las conexiones de entrada y salida, escaneo de
puertos, túneles, proxy, etc. En el modo de escucha, actúa como un servidor ejemplo
web, mientras que en modo de conexión actúa como un cliente.
Inet Sim: simular un entorno de red y servicios (FTP, HTTP, IRC, etc.) de la misma
al malware.
Wireshark: herramienta se utiliza para registrar todo el tráfico de red

La dinámica de uso de las herramientas comienza con la toma de una línea base del
sistema, con SysTracer, Caturebat, Spymetools y Winanalysis (registra cualquier
cambio en los archivos, registro, usuarios, grupos, políticas de seguridad, servicios,
acciones, tareas programadas, los entornos de sistema, etc.) y otra del registro con
RegShot y AutoRuns para ver los programas que están configurados para ejecutarse
durante el inicio, seguidamente se debe lanzar la ejecución de las herramientas
TCPView, Process Monitor y ProcessHacker (fase 2) y pasar a ejecutar el malware
durante veinte minutos, 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 con Winanalysis y RegShot y se comparará con las que se tomaron
inicialmente. A continuación, se ejecutará Process Monitor y ProcessHacker y TCPView
de nuevo, en busca de 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.

TEMA 4 – Ideas clave 47 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Con Process Explorer, se observarán los nuevos procesos que se estén ejecutando y se
registrará asimismo la situación donde se encuentren. Estos nuevos procesos pueden
modificar el registro para permitir que el malware se cargue en el arranque. Cualquier
nuevo proceso instalado por el malware deberá ser investigado a fondo.

Con TCPView se buscarán nuevos listener abiertos para poder recibir instrucciones de
los servidores de mando y control instalados en el sistema por el malware. Habrá que
intentar conectarse a él con varias herramientas, tales como, telnet, netcat, o un
navegador web. Ha continuación procede realizar una trazabilidad entre el listener y el
proceso que dio lugar a la escucha e investigarlo a fondo.

Al examinar el tráfico de red, para observar cómo funciona el malware, habrá que
registrar todo lo que ese tráfico realiza. Esto se utilizará para diseñar la lista de acceso y
las reglas de IDS. Por ejemplo, si el malware instala una puerta trasera, habrá que
configurar un servidor para que se pueda descargar una puerta trasera. Al permitir que
se descargue una puerta trasera, se puede conectar al sistema y “ver” así lo que el autor
del malware “ve”.

Una vez finalizadas las etapas 1 a 4 se realiza un proceso de volcado de la memoria con
las herramientas:

NotMyFault → Realizar un volcado de la memoria.


Strings → Análisis de la memoria en busca de cadenas y contraseñas.
Volatilily → Análisis de la memoria en busca de procesos, archivos abiertos,
conexiones que estaban abiertas, etc.

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

Reconstruir partes importantes de la memoria


Listar procesos.
Listar archivos abiertos por los procesos.
Listar conexiones que estaban abiertas.
Obtener histórico de un cmd.exe
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

TEMA 4 – Ideas clave 48 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

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

En cuanto a la información que podemos obtener del volcado tenemos:

Procesos en ejecución.
Procesos en fase de terminación.
Conexiones activas: TCP, UDP y puertos.
Ficheros mapeados: Drivers, ejecutables y ficheros.
Objetos caché: direcciones web, passwords y comandos tipeados por consola.
Elementos ocultos.

Por último, se realiza un análisis del disco duro, montando del disco de la máquina
virtual en el sistema operativo host para proceder a analizar los cambios en los
archivos, secciones del registro, registros de eventos, registros de aplicación, y así
sucesivamente. Si se está trabajando con las máquinas físicas, se debe montar la
partición C:\ en otro sistema operativo. Utilizar las herramientas:

HFind, una herramienta para escanear todo el disco duro en busca de archivos
ocultos.
Spymetool. Copia el registro y disco duro y permite comparar dos copias.

Por último, revertir el sistema al punto original.

4.7. Referencias bibliográficas

Brochure: Malware Attribute Enumeration and Characterization - MAEC™ A


Standardized Language for Attribute-Based Malware Characterization. MITRE
Corporation.

Canto, J., Dacier, M., and Antipolis, S. (2008). Large scale malware collection: lessons
learned. Disponible en:
https://www.researchgate.net/publication/228907426_Large_scale_malware_collecti
on_Lessons_learned

Davis, M., Bodmer, S., and Lemasters, A. (2010). Hacking Exposed™ Malware &
Rootkits: Security Secrets & Solutions. Nueva York: McGraw-Hill.

TEMA 4 – Ideas clave 49 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Fernández Hugo, H. (2009). Detección y limitaciones de ataques clásicos con


Honeynets virtuales [Tesis], Universidad Nacional Del Comahue.

Gregg, M. (2008). Build Your Own Security Lab: A Field Guide for Network Testing.
Nueva Jersey: Wiley Publishing.

Hale Ligh, M., Adair, S., Hartstein, B., and Richard, M. (2011). Malware Analyst’s
Cookbook and DVD. Tools and Techniques for Fighting Malicious Code. Nueva Jersey:
Wiley Publishing, Inc.

Informe de McAfee sobre amenazas: Segundo trimestre de 2012.

INTECO (2009). Cuaderno de notas del Observatorio. Honeypots, Monitorizando a los


Atacantes.

INTECO. Cuaderno de notas del Observatorio. Amenazas silenciosas en la Red:


rootkits y botnets.

INTECO. Cuaderno de notas del Observatorio. Desmontando el Malware.

Kirillov, I., Beck, D., Chase, P. y Martin, R. (2010).White Paper. Malware Attribute
Enumeration and Characterization. MITRE Corporation. Disponible en:
https://www.researchgate.net/publication/267691330_Malware_Attribute_Enumerat
ion_and_Characterization

Pouget, F., and Dacier, M. (2003). Research Report RR-03-082 Honeypot, Honeynet:
A comparative survey1. Antibes: Institut Eurécom. Disponible en:
http://www.eurecom.fr/en/publication/1273/download/ce-pougfa-030914.pdf

Sanabria, A. (2007). Malware Analysis: Environment Design and Architecture. EE.


UU.: SANS Institute.

Sharif, M., Yegneswaran, V. Saidi, H., y Porras, P. (2008). Eureka: A Framework for
Enabling Static Analysis on Malware. Technical Report Number: SRI-CSL-08-01 SRI
Project 17382. Georgia: Computer Science Laboratory and College of Computing,
Georgia Institute of Technology.

TEMA 4 – Ideas clave 50 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Sikorki, M. y Honing, A. (2012). Practical Malware Analysis. The hans-on guide


dissecting malicious software. California: No Starch Press.

Spitzner, L. (2002). Honeypots: Tracking Hackers. Massachusetts: Addison Wesley.

Tittel.E. (2005). PC Magazine® Fighting Spyware, Viruses, and Malware. Nueva


Jersey: Wiley Publishing, Inc. Disponible en:
http://nnt.es/PC%20Magazine%20Fighting%20Spyware%20Viruses%20and%20Malw
are.pdf

TEMA 4 – Ideas clave 51 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Lo + recomendado

Lecciones magistrales

Amenazas avanzadas persistentes

En la presente lección magistral se va a realizar una introducción a un tipo específico de


malware denominado Advanced Persistent Threat (APT), medio de espionaje
electrónico de gran capacidad de obtención de información y difícil defensa, en lo
referente a las características que lo definen y las estrategias de protección que las
organizaciones deben adoptar.

El vídeo está disponible en el aula virtual.

TEMA 4 – Lo + recomendado 52 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

No dejes de leer…

Analysis of a simple HTTP bot

Este artículo describe los métodos de ingeniería inversa utilizados para analizar un
simple Bot HTTP. El análisis se centra en algunos de los componentes del Motor de
búsqueda HTTP que pueden estar presentes en los más complejos bots HTTP. Por lo
tanto, la comprensión de los componentes de este ejemplar de malware puede permitir
comprender a un analista más fácilmente un bot HTTP más complejo.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


http://www.sans.org/reading_room/whitepapers/malicious/analysis-simple-http-
bot_33573

Clash of the titans: Zeus v spyeye

En este trabajo se analiza el funcionamiento de dos bots Zeus y SpyEye. Se describe la


forma de realizar ingeniería inversa de los dos binarios y las técnicas de ofuscación
utilizadas por ellos.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


http://www.sans.org/reading_room/whitepapers/malicious/clash-titans-zeus-
spyeye_33393

TEMA 4 – Lo + recomendado 53 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

The nimda worm: an overview

El 18 de septiembre de 2001 un nuevo gusano de rápida propagación apareció en


Internet, se le llamó Nimda. Durante su ciclo de vida ha comprometido la
confidencialidad, integridad y disponibilidad de los diferentes recursos a través de
Internet. Nimda explota varias vulnerabilidades conocidas y corregible en Microsoft
Windows 9x, ME, NT, 2000 y sistemas.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


http://www.sans.org/reading_room/whitepapers/malicious/nimda-worm-
overview_95

Code red worm invasion

Documento que analiza el funcionamiento del el malware Code Red.

Accede al documento desde el aula virtual o a través de la siguiente dirección web:


http://www.sans.org/reading_room/whitepapers/malicious/code-red-worm-
invasion_93

TEMA 4 – Lo + recomendado 54 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

No dejes de ver…

How to set up a malware analysis lab

Video tutorial que muestra cómo montar un laboratorio de análisis de malware con
herramientas open source.

Accede al vídeo desde el aula virtual o a través de la siguiente dirección web:


https://www.youtube.com/watch?v=AbAx6qwpUaQ

TEMA 4 – Lo + recomendado 55 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Adrian malware analysis demo

Video tutorial que demuestra el uso varias herramientas de análisis estático y dinámico
análisis de malware.

Accede al vídeo desde el aula virtual o a través de la siguiente dirección web:


https://www.youtube.com/watch?v=7PzcO9hH1uA

Dynamic malware analysis

Tutorial que demuestra el uso varias herramientas de análisis dinámico análisis de


malware.

Accede al vídeo desde el aula virtual o a través de la siguiente dirección web:


https://www.youtube.com/watch?v=jra-DolxFXU

TEMA 4 – Lo + recomendado 56 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

+ Información

A fondo

Honeypots, monitorizando a los atacantes

Artículo que trata en profundidad los diferentes tipos de honeypots.

Accede al documento desde el aula virtual o a través de la siguiente dirección web:


http://www.egov.ufsc.br/portal/sites/default/files/honeypots_monitorizando_a_los_
atacantes.pdf

A structured language for attribute-based malware characterization

Descripción del estándar de caracterización y clasificación de malware MAEC.

Accede al documento desde el aula virtual o a través de la siguiente dirección web:


http://makingsecuritymeasurable.mitre.org/docs/maec-intro-handout.pdf

TEMA 4 – + Información 57 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Malware attribute enumeration and characterization

Documento que presenta y define un lenguaje para caracterizar malware sobre la base
de sus comportamientos, artefactos y dibujos de ataque.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


http://maec.mitre.org/about/docs/Introduction_to_MAEC_white_paper.pdf

Informe de McAfee sobre amenazas

Informe que describe las tendencias del malware ocurridas durante el tercer trimestre
del 2018.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


https://www.mcafee.com/enterprise/en-us/assets/reports/rp-quarterly-threats-sep-
2018.pdf

TEMA 4 – + Información 58 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Webgrafía

VirusTotal

VirusTotal una organización subsidiaria de Google, que presta un servicio en línea


gratuito que analiza archivos y URLs que permiten identificar virus, gusanos, troyanos
y otros tipos de contenido malicioso detectados por motores antivirus y escáneres de
sitios web.

Accede a la página web desde el aula virtual o a través de la siguiente dirección web:
https://www.virustotal.com/es/

Malwr

Malwr es un servicio gratuito de análisis de malware y comunidad lanzado en enero de


2011. Permite enviar archivos y recibir los resultados de un completo análisis dinámico
del mismo. Es similar al servicio de VirusTotal.

Accede a la página web desde el aula virtual o a través de la siguiente dirección web:
https://malwr.com/

TEMA 4 – + Información 59 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

REMnux: a linux toolkit for reverse-engineering and analyzing malware

Herramienta gratuita sobre sistema operativo Linux para ayudar a los analistas de
malware con el software malicioso y los análisis que utilizan técnicas de ingeniería
inversa. Pone a disposición de los investigadores forenses y personal de respuesta de
incidentes una gran variedad de herramientas libres para análisis examinar el
malware.

Accede a la página web desde el aula virtual o a través de la siguiente dirección web:
https://remnux.org/

MAEC

Malware attribute enumeration and characterization (MAEC). Página web que


introduce y define un lenguaje para la caracterización de malware basado en sus
comportamientos, artefactos, y los patrones de ataque.

Accede a la página desde el aula virtual o a través de la siguiente dirección web:


https://maec.mitre.org/

TEMA 4 – + Información 60 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Enciclopedia Virus Kaspersky

Página web donde se pueden consultar las diferentes características de los diversos
tipos de malware detectados por la empresa Kasperky, hasta la fecha.

Accede a la página web desde el aula virtual o a través de la siguiente dirección web:
https://securelist.com/

Enciclopedia Virus Symantec

Página web donde se pueden consultar las diferentes características de los diversos
tipos de malware detectados por la empresa Symantec, hasta la fecha.

Accede a la página web desde el aula virtual o a través de la siguiente dirección web:
https://www.symantec.com/security_response/

TEMA 4 – + Información 61 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Enciclopedia Virus Trend Micro

Página web donde se pueden consultar las diferentes características de los diversos
tipos de malware detectados por la empresa Trend Micro, hasta la fecha.

Accede a la página desde el aula virtual o a través de la siguiente dirección web:


https://www.trendmicro.com/vinfo/us/threat-encyclopedia/

Bibliografía

Dang, B., Gazet, A., Bachaalany, E. y Josse, S. (2014). Practical Reverse Engineering:
x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation. Nueva Jersey:
John Wiley & Sons Inc.

Davis, M.; Bodmer, S.; Lemasters, A. (2010). Hacking Exposed™ Malware & Rootkits:
Security Secrets & Solutions. McGraw-Hill.

Garrote, R. (2017). Reversing, Ingeniería Inversa. Madrid: RA-MA S.A. Editorial y


Publicaciones.

Gregg, M. (2008). Build Your Own Security Lab: A Field Guide for Network Testing.
Wiley Publishing, Inc.

Hale Ligh, M.; Adair, S.; Hartstein, B.; Richard, M. (2011). Malware Analyst’s
Cookbook and DVD. Tools and Techniques for Fighting Malicious Code. Wiley
Publishing, Inc.

Sharif, M.; Yegneswaran, V.; Saidi, H. and Porras, P. (2008). Eureka: A Framework for
Enabling Static Analysis on Malware. Technical Report Number: SRI-CSL-08-01 SRI
Project 17382 Computer Science Laboratory and College of Computing, Georgia
Institute of Technology.

TEMA 4 – + Información 62 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Sikorki, M. and Honing, A. (2012). Practical Malware Analysis. The hans-on guide
dissecting malicious software. No Starch Press.

Tittel, E. Absolute Beginner’s Guide to Security, Spam, Spyware & Viruses (Absolute
Beginner’s Guide). Fighting Spyware, Viruses, and Malware. PC Magazine® Wiley
Publishing, Inc.

TEMA 4 – + Información 63 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Actividades

Trabajo: Análisis dinámico de malware

Para el ejercicio individual de este tema tendrás que realizar un ejercicio práctico en
base al siguiente enunciado:

Ejecuta el malware encontrado en el archivo obtenido de la plataforma en el siguiente


enlace (el archivo tiene una contraseña que es: malware):

http://descargas.unir.net/escueladeingenieria/05 Seguridad_del_Software/Trabajo 5
Análisis Dinámico Fichero Análisis 1.rar

Mientras lo monitorizas mediante las herramientas básicas de análisis dinámico en un


entorno seguro.

» Process Explorer.
» Process Monitor.
» Strings.
» Notepad.

El enlace para su descarga sería:

https://web.archive.org/web/20140625080651/http://technet.microsoft.com/en-
us/sysinternals/bb842062.aspx

El entorno seguro se realizará en base a un software virtual tipo VMAWARE player,


virtual box con una máquina con sistema operativo de Microsoft, con la tarjeta de red
en modo aislado.

Este entorno está disponible, ya instalado en VIRTUAL BOX en la máquina virtual


VICTIMA XP, en el escritorio virtual de la UNIR:
https://salainformaticaunir.u-cloudservices.com/

TEMA 4 – Actividades 64 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Los enlaces de la plataforma virtual VMWARE o virtual BOX están disponibles:

https://my.vmware.com/web/vmware/downloads
https://www.virtualbox.org/wiki/Downloads

Ejecuta el malware de laboratorio mientras lo monitorizas mediante las herramientas


básicas de análisis dinámico en un entorno seguro. El fichero funciona sobre el sistema
operativo Windows XP, aunque podría funcionar sobre Windows 7 32 bits.

El sistema operativo que tendrás que utilizar será Windows XP, aunque si no se
dispone de él se podrá utilizar Windows 7 con Windows XP Mode for Windows 7, que
facilita la instalación y ejecución de muchos de sus programas que se ejecutan en
Windows XP directamente desde un equipo con Windows 7.

Podrás encontrar más información en los siguientes enlaces:


http://softlay.net/operating-system/windows-xp-sp3-iso-full-version-free-
download.html
Para bajarse una máquina virtual de Windows 7 y XP mode:
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
http://www.microsoft.com/es-es/download/details.aspx?id=8002

También se puede trabajar con WINDOWS 8.1:


http://www.microsoft.com/en-us/evalcenter/evaluate-windows-8-1-enterprise

En estos enlaces encontrarás unas instrucciones para instalar un software que emula el
sistema operativo XP:
http://blogs.itpro.es/octaviordz/2014/08/04/ejecutar-windows-xp-mode-en-
windows-8-1-con-vmlite/
https://www.youtube.com/watch?v=-UWlzOyLahY

Una vez realizado el ejercicio responde a las siguientes preguntas:

» ¿Qué observas al supervisar este malware con Process Explorer?


» ¿Puedes identificar modificaciones en la memoria?
» ¿Qué archivos crea?
» ¿Cuál es el propósito de este?

TEMA 4 – Actividades 65 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Como ayuda puedes consultar los manuales de las herramientas disponibles en los
siguientes sitios web:

https://www.youtube.com/watch?v=4ZsGMbjQEWs
https://www.youtube.com/watch?v=5FMpfk8knNQ

Nota: se recomienda leer antes de realizar el trabajo el apartado de Análisis Dinámico


del «Tema 4» de la asignatura.

TEMA 4 – Actividades 66 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

Test

1. Beneficios del análisis de malware. Indica la respuesta falsa.


A. Descubrir otras máquinas que han sido afectadas por el mismo malware.
B. Identificar la vulnerabilidad que fue aprovechada por el malware, para obtener
la actualización del software que la mitigue, si está disponible.
C. Obtención de datos necesarios para poder implementar defensas.
D. Determinar el nivel de expansión del malware.

2. Pasos de la metodología de análisis de malware. Señala la incorrecta:


A. Actividades iniciales.
B. Clasificación.
C. Análisis heurístico.
D. Análisis dinámico.

3. Acciones que el malware suele realizar sobre la máquina víctima. Señala la


incorrecta:
A. Modificación de archivos.
B. Envío de correos personales.
C. Degradación del rendimiento.
D. Inestabilidad del sistema.

4. Los mecanismos de propagación del malware. Señala la incorrecta.


A. File dropper.
B. Integración en espacios vacíos de ficheros.
C. Puertas traseras.
D. Gusanos.

5. Vectores de infección. Señala la incorrecta.


A. File dropper.
B. Correos electrónicos.
C. Redes Peer-To-Peer (P2P).
D. Servicios de red vulnerables.

TEMA 4 – Test 67 © Universidad Internacional de La Rioja (UNIR)


Seguridad en el Software

6. Ejemplos de troyanos. Señala la incorrecta.


A. Back Orifice.
B. NetBus.
C. SaranWrap.
D. Titan Rain.

7. Componentes del Malware Attribute Enumeration and Characterization (MAEC).


Señala la incorrecta.
A. Estructura de datos.
B. Vocabulario.
C. Esquema de definición.
D. Formato de salida estándar.

8. Mecanismos de obtención del malware. Señala la incorrecta.


A. Bajándolo de páginas de Internet.
B. Capturándolo en una honeynet.
C. Comprarlo a una empresa de prestigio internacional.
D. Capturándolo en una máquina infectada.

9. ¿Qué principales mejoras introduce la Generación III de Honeynet?


A. Las tareas de control y captura de datos ahora están centralizadas en un solo
dispositivo llamado Honeywall.
B. Utiliza como Gateway acceso un dispositivo de Capa que actúa como un puente,
en lugar de un router.
C. Mejora las versiones del hardware.
D. Normaliza los datos registrados por cada herramienta de captura de datos.

10. ¿En qué fase se debe realizar un hash MD5 de todas las herramientas que van a
utilizar para verificar la integridad de las mismas?
A. Análisis estático.
B. Análisis dinámico.
C. Acciones iniciales.
D. Clasificación.

TEMA 4 – Test 68 © Universidad Internacional de La Rioja (UNIR)

Das könnte Ihnen auch gefallen