Sunteți pe pagina 1din 24

S E G U R I D A D I N F O R M AT I C A

A N A L I S I S D E M A LWA R E E N
M A Q U I N A S V I RT UA L E S

GUIA DE PRACTICA

JHON HUAMANCHUMO - 0201014020

ANLISIS DE MALWARE EN MAQUINAS VIRTUALES

ndice

Qu es malware?
3

Anlisis de Malware

El conjunto de herramientas

5
4

Tcnicas de anlisis de malware

Anlisis Esttico

Anlisis Dinmico

7
8

13

Qu es un malware?
ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

Segn Wikipedia:
El malware (del ingls malicious software), tambin
llamado badware, cdigo maligno, software malicioso o software
malintencionado, es un tipo de software que tiene como objetivo infiltrarse o
daar una computadora o sistema de informacin sin el consentimiento de
su propietario. El trmino virus informtico suele aplicarse de forma
incorrecta para referirse a todos los tipos de malware, incluidos los virus
verdaderos.
A modo de resumen se puede decir que un malware es una pieza de
software capaz de realizar cualquier accin que causa algn tipo de dao a
un usuario u organizacin, un equipo, o una red. Esto incluye pero no se
limita a los virus, troyanos, gusanos, rootkits, scareware y spyware.
Si se determina que la pieza de software encontrada es perjudicial,
un anlisis de malware es el arte de la diseccin del software malicioso
para entender cmo funciona, cmo identificarlo y cmo eliminarlo.
El propsito de un anlisis de malware es brindar informacin
necesaria para responder ante una intrusin en la red. Este propsito
incluye el determinar exactamente lo que sucedi, y qu alcance y grado de
dispersin tuvo en la red.

Anlisis de Malware
ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

Configuracin del entorno virtual


En primer lugar, si no se dispone de un entorno de laboratorio adecuado
para llevar a cabo un anlisis de malware, es posible que se deban volver a
examinar las opciones que se tienen, para alinear lo mejor posible los
recursos disponibles con la eficacia del anlisis. Como ejemplo, se puede
utilizar un entorno virtual para realizar el anlisis o tener sistemas fsicos
separados. A diferencia de los entornos virtuales, los datos pueden tener
fugas en el sistema base y esto puede eventualmente perjudicar a todo el
sistema. Los malware ms modernos son capaces dedetectar los sistemas
virtuales y cambiar sus comportamientos para permanecer sin ser
detectados. De todas las opciones que hay, tanto VMWare como VirtualBox
ofrecen buenas soluciones para el anlisis de malware. Usar VMWare para
el anlisis.
Una vez decidido el entorno en el que se va a trabajar, el siguiente paso
sera definir el acceso a la red de esos sistemas. Los malwares avanzados
son capaces de detectar cambios en la direccin IP y se esconden o no
revelan la informacin sobre la ubicacin real de otros nodos o puntos de
control. Estas detecciones pueden desencadenar algunas otras funciones
ocultas, tales como ataque DDOS al servidor interno. Por lo tanto,
recomendamos entornos de red aislados con servidores virtuales que
incluyen DNS propios, y servidores HTTP y de correo. En el caso de prueba
adicional con conexin a internet, la red aislada puede aplicarse a travs de
un cortafuegos con reglas estrictas establecidas para supervisar las posibles
conexiones abiertas y cerradas.

El conjunto de herramientas

SEGURIDAD INFORMATICA

Despus de haber configurado el entorno virtual, el siguiente paso es


seleccionar un conjunto de herramientas que faciliten el proceso de anlisis.
Se recomienda las siguientes herramientas que pueden ser tiles en
distintas etapas del ciclo de anlisis, aunque hay muchas otras disponibles.
Principalmente usaremos herramientas libres o gratuitas, incluidas las
versiones demo de algunas herramientas comerciales.
Enseguida se realiza una breve descripcin de cada herramienta que
utilizamos para llevar a cabo el anlisis.
OllyDbg
OllyDbg es un depurador a nivel de aplicacin. La interfaz OllyDbg muestra
el cdigo ensamblador, volcado hexadecimal, la pila y registros de la CPU.
OllyDbg tambin soporta rastreo, puntos de interrupcin condicionales,
visin de cabecera PE, edicin hexadecimal, y plug-in de soporte.
En la primera puesta en marcha, OllyDbg pide configurar el directorio de
datos del usuario (UDD) y el directorio de plug-ins. UDD se utiliza para
guardar informacin especfica de la aplicacin como puntos de
interrupcin. Ofrece amplias opciones de depuracin como la configuracin
de breakpoints en la carga de nuevos mdulos, la creacin de threads, la
forma de procesar las excepciones, etc. OllyDbg soporta el establecimiento
de puntos de interrupcin de hardware, puntos de interrupcin de software,
puntos de interrupcin de memoria e incluso puntos de interrupcin
condicionales.
IDA Pro
Al igual que OllyDbg, IDA Pro es un depurador / desensamblador a nivel de
aplicacin que nos ayudar enormemente en seguir la pista de la ejecucin
del programa. Cuenta con una versin de demo y una versin freeware ms
antigua, que es gratuita solo para uso no comercial.
UPX
UPX es un compresor/descompresor de cdigo ejecutable, que logra una
excelente relacin de compresin y ofrece descompresin muy rpida
cuidando el consumo de memoria. Una medida ms que utilizan los
ejecutables para ocultarse es el almacenar su cdigo comprimido, por lo
que necesitaremos una herramienta capaz de extraer el cdigo ejecutable
en claro, como UPX.

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

Autoruns
Esta herramienta, que cuenta con la lista ms amplia de ubicaciones de
inicio automtico, muestra qu programas estn configurados para
ejecutarse durante el arranque del sistema o de inicio de sesin, y muestra
las entradas en el orden en que Windows las procesa. Estos programas
incluyen los de su carpeta de inicio, Run, RunOnce, y otras claves del
registro. Puede configurar Autoruns para mostrar otras ubicaciones,
incluidas las extensiones de shell del Explorador, barras de herramientas,
objetos de ayuda del navegador, las notificaciones de Winlogon, servicios de
inicio automtico, y mucho ms. Autoruns extiende por mucho la utilidad
MSConfig incluida en Windows Me y XP.
ProcessExplorer
ProcessExplorer es, como su nombre indica, un explorador de procesos. Su
interfaz grfica se compone de dos subventanas; la superior siempre
muestra una lista de los procesos activos, incluidos los nombres de las
cuentas que poseen, mientras que la informacin mostrada en la inferior
depende del modo en que Process Explorer est configurado. En el modo de
DLL, mostrar los archivos DLL y archivos asignados en memoria que el
proceso ha cargado. Process Explorer tambin tiene una herramienta de
bsqueda muy potente que mostrar rpidamente qu procesos tienen
handlers abiertos o sus DLL cargados.
Las capacidades de Process Explorer lo hacen especialmente til para
localizar problemas de DLL versin o prdidas de identificadores, y para
dar una idea de la forma de funcionar de Windows y otras aplicaciones.
Process Monitor
Process Monitor es una herramienta de monitorizacin avanzada para
Windows que muestra en tiempo real actividad en el sistema de archivos, el
registro, y los procesos en ejecucin. Combina las caractersticas de las
herramientas Filemon y Regmon, y aade una amplia lista de mejoras que
incluyen el filtrado avanzado y no destructivo, las propiedades de eventos
integrales tales como identificadores de sesin y nombres de usuario, pilas
de threads completas con soporte para smbolos integrados de cada
operacin, registro simultneo en un archivo, y mucho ms. Las
caractersticas de Process Monitor hacen de ella una utilidad fundamental
en la solucin de problemas del sistema y en el conjunto de instrumentos
de caza de malware.

SEGURIDAD INFORMATICA

Active Registry Monitor


El Active Registry Monitor (ARM) es una utilidad diseada para analizar los
cambios hechos al registro de Windows tomando snapshots de su estado y
guardndolos en una base de datos. Posteriormente, pueden compararse
dos de estas fotografas y obtener un listado de claves/datos nuevos,
eliminados o, simplemente, cambiados.
TCPview
TCPView es un programa de Windows que muestra la lista detallada de
todos los puntos finales TCP y UDP en el sistema, incluyendo las direcciones
y el estado de las conexiones TCP locales y remotas. En Windows Server
2008, Windows Vista y XP, TCPView tambin informa del nombre del proceso
que posee el punto final. TCPView proporciona un subconjunto ms
informativo y bien presentado del programa Netstat que se incluye con
Windows.
WinVi
WinVi es un editor gratuito para MS Windows para la edicin y la deteccin
automtica de archivos Unicode en codificaciones UTF- 8, UTF-16 Little
Endian y UTF-16 Big Endian. WinVi funciona como un editor Vi para
Windows. En el anlisis de malware se utiliza esta herramienta como un
editor hexadecimal que puede soportar archivos de hasta 2 GB.

Tcnicas de anlisis de malware


Muy a menudo, cuando se realiza el anlisis de malware, la nica cosa que
se tiene es el propio ejecutable malicioso, que no dar demasiada
informacin, ya que est destinado a no ser comprendido por seres
humanos.
Habr que hacer uso de una gran variedad de herramientas con el fin de
obtener una comprensin amplia del malware en cuestin. Existen dos
enfoques fundamentales para el anlisis de malware: los anlisis
estticos y los anlisis dinmicos. El anlisis esttico consiste en
examinar el malware sin ejecutarlo, mientras que el anlisis dinmico
implica la ejecucin del malware en entornos controlados.
Anlisis esttico bsico
El anlisis esttico bsico consiste en examinar el archivo ejecutable sin ver
las instrucciones reales. El anlisis esttico puede confirmar si un archivo es
ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

malicioso, proporciona informacin sobre su funcionamiento, y a veces


ofrece informacin que permitir realizar un network footprinting simple. El
anlisis esttico bsico es sencillo y puede ser rpido, pero es en gran
medida ineficaz contra el malware sofisticado, y se pueden pasar por alto
funciones importantes.

Anlisis Dinmico Bsico


Las tcnicas de anlisis dinmicas bsicas implican ejecutar el malware y la
observacin de su comportamiento en el sistema con el fin de averiguar
algunos aspectos de su comportamiento, poder eliminar la infeccin, y
producir firmas eficaces. Sin embargo, antes de poder ejecutar el malware
de forma segura, se debe configurar un entorno que permita estudiar el
malware ejecutndose sin riesgo de dao al sistema o la red. Al igual que
las tcnicas bsicas de anlisis esttico, las tcnicas bsicas de anlisis
dinmico pueden ser utilizadas por la mayora de las personas sin grandes
conocimientos de programacin, pero no sern eficaces con todo el malware
y tambin se puede pasar por alto funcionalidad importante.
En la Prctica
El virus que se analizara el virus RaDa, es un virus real creado en el marco
del Proyecto Honeynet para aumentar la concienciacin sobre la seguridad
en torno a ejemplares de malware y para sealar la necesidad de
contramedidas defensivas adicionales con el fin de luchar contra las
actuales amenazas de malware.
Enlace: http://old.honeynet.org/scans/scan32/RaDa.zip

Anlisis esttico
En el anlisis esttico de este virus vamos a intentar recabar tanta
informacin como sea posible, que nos ayudar a comprenderlo mejor y a
orientar de forma eficiente nuestros esfuerzos en el posterior anlsis
dinmico. Como primer paso, se lleva a cabo una recoleccin de
informacin previa observando los detalles del virus y realizando una
visualizacin en un editor hexadecimal. Esto revela algunas cadenas en el
cdigo del virus, adems de ayudarnos a verificar que se trata de un
ejecutable.

SEGURIDAD INFORMATICA

WinVi mostrando la cabecera del ejecutable del virus y una cadena de texto

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

El siguiente paso comienza con cargar el ejecutable (RaDa.exe) en


OllyDbg para llevar a cabo un anlisis de cdigo con el fin de descubrir sus
capacidades funcionales. En primer lugar, abrimos el archivo ejecutable en
el OllyDbg para ver los detalles bsicos. La siguiente figura muestra cierta
informacin de los registros, la CPU y el estado de la memoria del programa,
incluyendo una advertencia que indica que el cdigo est comprimido,
cifrado o codificado para ocultar su verdadera naturaleza.
OllyDbg mostrando cierta informacin del ejecutable del virus RaDa

Para salvar este paso y poder extraer el ejecutable real y ver sus
instrucciones, o al menos obtener informacin sobre el tipo de compresin,
codificacin o cifrado lleva, se utiliza la utilidad de descompresin de

SEGURIDAD INFORMATICA

ejecutables UPX:

Resultado del UPX en la primera ejecucin para intentar descomprimirlo

Tal y como se puede observar en la imagen superior, el virus se resiste a


desempaquetarse a travs del mtodo comn con UPX. Por lo tanto,
podemos probar a forzar el proceso usando el comando upx -9 --brute, que
puede tardar un rato.

Despus de un rato no ha habido suerte en el desempaquetamiento, por lo


que vamos a moldear un poco el anlisis, redireccionando nuestros
esfuerzos en cierto modo hacia un anlisis de comportamiento del malware,
ms que un anlisis esttico, debido a que el virus est preparado para
evitar este tipo de anlisis.

Para este propsito, es necesario realizar una ejecucin controlada del virus,
analizar sus puntos de inicio, y encontrar un breakpoint del virus.

Para poder localizar dichos puntos, vamos a empezar por analizar el mapa
de memoria del malware, cosa que podemos hacer con el OllyDbg:

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

1
1

Mapa de memoria del virus

El mapa de memoria indica que hay tres secciones en el binario de RaDa:


JDR0, JDR1 y .rsrc. Elentry point de RaDa.exe (0x0040FD20) est ubicado en
la seccin JDR1. Podemos echar un vistazo tambin a la seccin JDR0
haciendo doble click sobre la etiqueta de la seccin, aunque nos
encontraremos en este caso que la seccin est vaca:

SEGURIDAD INFORMATICA

Seccin JRD0 del virus RaDa en blanco

Podemos obtener algo ms de informacin sobre la seccin JDR0


(0x004018A4) usando el IDA Pro:
Informacin de la seccin de cdigo JDR0 en el IDA Pro

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

1
3

La siguiente captura de pantalla muestra que el cdigo en JDR1


desempaqueta el cdigo ofuscado que contiene en la seccin JDR0. El
registro ESI apunta a la direccin del bloque cifrado/ofuscado de cdigo,
mientras que el registro EDI apunta a la direccin de memoria a la que ser
copiada el cdigo una vez se haya desempaquetado. Al terminar la seccin
JDR1, el control del programa salta a la direccin en que se ha

desempaquetado el cdigo (jmp loc_40FD42).


Parte del cdigo de RaDa que desempaqueta el cdigo ofuscado de JDR1 y lo copia a JDR0

Observando adems la informacin presente en la vista General Register, en


el registro EIP, podemos consolidar que la direccin de memoria
JDR1:0040FD20 es el punto de inicio del programa. Dicho esto, an es
necesario extraer un buen String dump del cdigo empaquetado.
Con el OllyDbg podemos obtener cierta informacin de los (posibles)
mdulos de los que puede hacer uso el virus, que nos pueden ayudar a
comprender la naturaleza del virus ms a fondo:

SEGURIDAD INFORMATICA

Fragmento de los mdulos ejecutables del virus

Tambin podemos observar los handles del virus, para un propsito similar:

Handles del virus

Recapitulando hasta ahora:


1.

La informacin recabada en el anlisis esttico ser de gran ayuda


para, a la hora de hacer el anlisis dinmico, saber dnde deben ir
dirigidos nuestros esfuerzos.
2.
Los handles del virus nos ayudarn a saber de qu recursos del
sistema el ejecutable pretende hacer uso. Todo ejecutable hace uso de
algn recursos del sistema; la cuestin aqu est en filtrar qu recursos
son potencialmente peligrosos como para que los use un fragmento de
software desconocido, y cules son ms y menos habituales.
3.
El mapa de memoria del ejecutable nos ha ayudado a
determinar breakpoints del virus, que nos puede servir para controlar
eficientemente la ejecucin del virus en el anlisis dinmico.
4.
La lista de mdulos ejecutables del malware nos da una pista (a
veces, falsa) de los mdulos que puede utilizar el virus.
Reunidas todas estas pistas, hemos preparado el terreno para dirigir nuestro
anlisis dinmico de la forma ms eficiente posible.

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

1
5

Anlisis dinmico
Ejecutaremos el virus en un ambiente controlado para ver
su capacidad de abrir conexiones con el mundo exterior
(calling home), las alteraciones del registro,
modificaciones del sistema de archivos y los procesos en
ejecucin. Para controlar este tipo de actividades se utilizarn los programas
TCPView, Active Registry Monitor, Process Explorer, Process Monitor y la
aplicacin Autoruns.
Al haber localizado en el anlisis esttico el punto de inicio del programa,
podemos controlar su ejecucin:

Controlando la ejecucin del virus con el IDA Pro

Una vez tenemos el entorno de laboratorio bien preparado y con el virus


listo para ser ejecutado, el primer paso es averiguar cmo intenta
comunicarse con el exterior: cules son los puertos y las conexiones que el
virus puede abrir hacia el mundo exterior? El TCPView muestra los detalles
de conexiones salientes del malware:
El virus RaDa modo GUI

SEGURIDAD INFORMATICA

Conexiones abiertas vistas con el TCPView - IEXPLORE.EXE arrancados por RaDa

El monitor de procesos y el ARM muestran las claves del registro recin


alteradas del sistema local:

Pro
cmon mostrando actividad del virus

Como una observacin, podremos ver que el virus se est ejecutando detrs
de la aplicacin Internet Explorer para ocultarse. La nica indicacin que
podemos ver es que el proceso "IEXPLORE.EXE" est abierto por el virus
ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

1
7

para conectarse al destino remoto 10.10.10.10 en el puerto 80. Tambin


observamos que el proceso parece consumir ms y ms memoria.

Actividad del virus RaDa

El ProcessExplorer de Sysinternals nos da informacin relevante del virus en


ejecucin, pudiendo comprobar los DLL's que carga, y compararlos con lo
encontrado en el anlisis esttico:

SEGURIDAD INFORMATICA

Informacin del virus RaDa en el ProcessExplorer

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

1
9

Vista de los mdulos ejecutables en uso por el virus RaDa

Echando un ojo al Advanced Registry Editor, podemos ver los cambios que
hace el virus en el registro de Windows:

Cambios en el registro de Windows efectuados por el virus

SEGURIDAD INFORMATICA

Tambin observamos los cambios que ha hecho en el sistema de ficheros:

Cambios en el sistema de ficheros introducidos por el virus RaDa

Por ltimo, tambin podemos ver en el Process Monitor informacin sobre el


proceso RaDa.exe y el IEXPLORE.EXE, en especial, que RaDa ha sido capaz
de lanzar el IEXPLORER como WIN-LCTFH8B302M\JHON, siendo RaDa
ejecutado por un usuario con privilegios reducidos:

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

2
1

Informacin del proceso IEXPLORE.exe en el Process Monitor

SEGURIDAD INFORMATICA

Despus de realizado los anlisis esttico y dinmico, se han podido


comprobar varias cosas:
o

El virus intenta ocultar su cdigo ejecutable empaquetndolo, as


como su punto de inicio. Hay virus ms sofisticados que lo ponen
mucho ms complicado, con decenas de secciones de cdigo
distintas.

El programa Active Registry Monitor nos indica que se ha creado la


siguiente clave del registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current
Version\Run\RaDa:C:\RaDa\bin\RaDa.exe. Esto permite que RaDa
persista tras el reinicio del sistema.

El TCPView muestra que hubo intentos de conexin desde


iexplore.exe, Internet Explorer, a 10.10.10.10:80. Parece que RaDa
utiliza Internet Explorer como herramienta para conectarse con el
sistema externo, y que adems, es capaz de lanzarlo como el usuario
WIN-LCTFH8B302M\JHON.

A travs del Process Monitor se ha podido comprobar que se crearon


los directorios C:\RaDa,C:\RaDa\tmp y C:\RaDa\bin. El ejecutable
RaDa.exe se ha copiado en el directorio C:\RaDa\bin\.

El panel de Process Explorer muestra el proceso RaDa.exe en su lista


activa, (no oculto bajo otro ejecutable), mostrando el crecimiento de
la memoria usada.

ANALISIS DE MALWARE EN MAQUINAS VIRTUALES

2
3

SEGURIDAD INFORMATICA

S-ar putea să vă placă și