Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1019
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
▼
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
▼
febrero
(Total:
19
)
- El FBI ofrece 3 millones de dólares de recompensa ...
- El cibercriminal más buscado por el FBI es arresta...
- El popular sitio de vídeos porno RedTube infectado...
- Disponible oclHashcat v1.33, ahora también crackea...
- Pwn2Own 2015: Gana 75.000$ encontrando un Bug en G...
- De Windows XP a Windows 10 vulnerables cambiando u...
- Facebook lanza ThreatExchange, una plataforma que ...
- Google Project Zero revela 0day en Adobe Reader pa...
- Facebook soluciona grave vulnerabilidad que permit...
- Tutorial básico funcionamiento y primeros pasos Wi...
- Laboratorio Virtualizado de Seguridad en Kali Linux
- Disponible Kali Linux – versión 1.1.0
- Introducción y Herramientas de Ingeniería Inversa
- Introducción al Análisis forense de Malware
- Desproteger y desbloquear un archivo PDF
- Estudio de Akamai sobre un ataque DDoS de Lizard S...
- DNS Hijack en router ADSL de D-Link
- Tercera vulnerabilidad 0-day crítica de Adobe Flas...
- Lanzamiento sopresa de Raspberry Pi 2 por 35 dólares
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
seguridad
(
395
)
privacidad
(
363
)
google
(
353
)
ransomware
(
338
)
vulnerabilidad
(
301
)
Malware
(
263
)
Windows
(
243
)
android
(
242
)
cve
(
235
)
tutorial
(
235
)
manual
(
220
)
software
(
201
)
hardware
(
193
)
linux
(
124
)
twitter
(
115
)
ddos
(
94
)
WhatsApp
(
90
)
Wifi
(
85
)
cifrado
(
77
)
herramientas
(
75
)
hacking
(
73
)
sysadmin
(
67
)
app
(
65
)
Networking
(
56
)
nvidia
(
52
)
ssd
(
51
)
youtube
(
50
)
adobe
(
43
)
firmware
(
42
)
office
(
41
)
hack
(
40
)
firefox
(
35
)
contraseñas
(
32
)
eventos
(
32
)
antivirus
(
31
)
juegos
(
31
)
cms
(
30
)
flash
(
28
)
anonymous
(
27
)
MAC
(
25
)
apache
(
25
)
programación
(
25
)
exploit
(
23
)
javascript
(
22
)
multimedia
(
22
)
Kernel
(
20
)
ssl
(
19
)
SeguridadWireless
(
17
)
documental
(
16
)
Forense
(
15
)
conferencia
(
15
)
Debugger
(
14
)
lizard squad
(
14
)
técnicas hacking
(
13
)
auditoría
(
12
)
delitos
(
11
)
metasploit
(
11
)
Virtualización
(
10
)
adamo
(
9
)
reversing
(
9
)
Rootkit
(
8
)
Ehn-Dev
(
7
)
MAC Adress
(
6
)
antimalware
(
6
)
oclHashcat
(
5
)
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
Pese a que Gemini ofrece multitudes de opciones, recientemente, se ha dado a conocer una situación fuera de lo común. Hace unos días, un es...
-
La seguridad en dispositivos móviles es cada vez más crucial, especialmente ante el crecimiento de aplicaciones maliciosas diseñadas para v...
Introducción al Análisis forense de Malware
miércoles, 4 de febrero de 2015
|
Publicado por
el-brujo
|
Editar entrada
El malware
es la principal herramienta de los criminales y de los principales
ciberataques en organizaciones empresariales. En estos tiempos la
detección y eliminación de malware
no es suficiente, es de vital importancia entender: cómo funcionan, lo
que harían en los sistemas cuando se despliega, comprender el contexto,
las motivaciones y los objetivos del ataque
¿Qué es un malware?
En primer lugar, ¿qué es un malware? ¿Podemos considerar cualquier pieza de código que no está autorizado a estar en nuestra red como un software malicioso? De forma general, podemos decir que un malware es una pieza de software capaz de realizar cualquier acción que causa algún tipo de daño a un usuario u organización, 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 análisis de malware es el arte de la disección del software malicioso para entender cómo funciona, cómo identificarlo y cómo derrotarlo o eliminarlo.
Uno de los propósitos y objetivos del análisis de malware suele ser el poder proporcionar la información necesaria para responder a una intrusión en la red. Este propósito incluye el determinar exactamente lo que sucedió, y qué alcance y grado de disperesión tuvo en la red.
Al analizar los supuestos elementos de software malicioso, en primer lugar se necesita explorar lo que el archivo binario sospechoso puede hacer, cómo detectarlo en su red, y cómo medir y contener el daño.
La práctica totalidad del malware que se encuentra hoy en día está empaquetado y/o cifrado con:
Análisis de Malware
Configuración del entorno de laboratorio
En primer lugar, si no se dispone de un entorno de laboratorio adecuado para llevar a cabo un análisis 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 análisis. Como ejemplo, se puede utilizar un entorno virtual para realizar el análisis o tener sistemas físicos 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 más modernos son capaces de detectar los sistemas virtuales y cambiar sus comportamientos para permanecer sin ser detectados. De todas las opciones que hemos probado, tanto VMWare como VirtualBox ofrecen buenas soluciones para el análisis de malware. Usaremos VirtualBox para nuestro análisis.
Si intentamos ejecutar este archivo en nuestra máquina virtual, no observaremos ningún comportamiento malicioso.
Podemos buscar con el Ida Pro por el string Vmware, Wine y Virtual PC. Los autores del malware utilizan un mecanismo bastante conocido: solicitar la versión de VMWare mediante la comunicación con los puertos de E/S. Esto es posible dado que VMWare monitorea e intercepta el uso de la instrucción in, acción necesaria para poder garantizar la comunicación entre la máquina virtual y el host.
Una técnica anti-debugging muy fácil de implementar, pero también muy fácil de evadir, es la función “IsDebuggerPresent”.
El primer problema de ofuscación que requiere una solución es la eliminación de las instrucciones basura y el "código de espagueti", que es una técnica que pretende confundir los programas de deanmblado.. El código de espagueti hace que el programa fluya de forma difícil de leer al agregar saltos continuos de código, de ahí el nombre.
Este problema no es nuevo, y en situaciones comunes se conocen complementos de reversing que pueden ayudar en esta tarea. Sin embargo, a veces no podemos encontrar un buen complemento de desensamblador interactivo (IDA) que pueda normalizar el flujo de código.
VM detection
Debugger detection
Por otra parte, tener sistemas físicos dedicados puede tener varias desventajas, tales como tener que restaurar el sistema en cada ciclo de análisis. Para ello utilizamos software libre, como la herramienta udpcast disponible para estos fines. En caso de que tengas suficiente presupuesto, Norton Ghost proporciona características más avanzadas para hacer restauraciones del sistema.
Una vez decidido el entorno en el que se va a trabajar, el siguiente paso sería definir el acceso a la red de esos sistemas. Los malwares avanzados son capaces de detectar cambios en la dirección IP y se esconden o no revelan la información sobre la ubicación real de otros nodos o puntos de control. Estas detecciones pueden desencadenar algunas otras funciones ocultas, tales como ataque DOS 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 conexión a internet, la red aislada puede aplicarse a través de un cortafuegos con reglas estrictas establecidas para supervisar las posibles conexiones abiertas y cerradas.
El conjunto de herramientas
Un primer acercamiento nos va a permitir conocer si el malware está empaquetado, en qué lenguaje de alto nivel fue desarrollado y otras tantas características más; Por ejemplo, podríamos ver qué librerías (DLLs) importa, las funciones que va a utilizar, el tamaño de sus secciones y otros datos de color.
Después de haber decidido y configurado el entorno de laboratorio, el siguiente paso es seleccionar un conjunto de herramientas que faciliten el proceso de análisis. Recomendamos las siguientes herramientas que pueden ser útiles en distintas etapas del ciclo de análisis, aunque hay muchas otras disponibles. Principalmente usaremos herramientas libres o gratuitas, incluidas las versiones demo de algunas herramientas comerciales.
En la siguiente sección se ofrece una descripción de cada herramienta que podemos utilizar para llevar a cabo el análisis.
Las siglas significan Ultimate Packer for eXecutables. Es un compresor de código abierto y de gran performance, que soporta archivos ejecutables y objetos de Windows que respeten la especificaciones de Microsoft PE (Portable Executables) y COFF (Common Object File Format), como por ejemplo archivos de extensiones EXE y DLL. A la vez, soporta archivos ejecutables de varios sistemas operativos como pueden ser Linux (ELF), Linux Kernel, ejecutables Mac OS X, FreeBSD, NetBSD y Playstation 1, entre otros. También permite una gran tasa de compresión, reduciendo el tamaño de los ejecutables en hasta 60% de su tamaño original. De hecho, en general es mejor compresor que WinZIP/ZIP/GZIP:
UPX es un compresor/descompresor de código ejecutable, que logra una excelente relación de compresión y ofrece descompresión muy rápida cuidando el consumo de memoria. Una medida más que utilizan los ejecutables para ocultarse es el almacenar su código comprimido, por lo que necesitaremos una herramienta capaz de extraer el código ejecutable en claro, como UPX.
RDG Packer Detector es un es una aplicación creada por RDGMax para detectar packers, Cryptors, Compiladores, Packers Scrambler, Joiners, Installers , y demás de algún archivo ejecutable.
PEiD es un programa capaz de dar información de como está empaquetado, estos software se basan en firmas que pueden buscar en bases de datos que se van actualizando, esas firmas se encuentran a lo largo del binario con el binario en si o bien mirando solo el Entry Point.
PEiD es una utilidad con la que podrás usar los archivos portables ejecutables (PE) ya que detecta 600 tipos distintos de firmas en estos archivos. Estas son algunas de las características que incluye PEiD y que le diferencian de otros programas de su clase:
Resource Hacker (también conocido como ResHacker o ResHack) es una aplicación freeware de extracción de recursos desarrollada por Angus Johnson para Windows. Se usa para modificar elementos de programas o del sistema operativo, como iconos, extrayendo recursos de programas ejecutables (.exe), bibliotecas de enlace dinámico (.dll), y ficheros de recursos (.res).
PE Explorer puede ayudarle a aprender el conjunto mínimo de archivos DLL necesarios para que un archivo EXE se puede cargar y ejecutar, y la ruta de acceso completa a los módulos cargados por el archivo EXE.
La herramienta Dependency Scanner le permite ver dependencias DLL sin ejecutar el código. Dependencias de software son módulos o piezas de código, que una aplicación requiere con el fin de cargar y funcionar correctamente. Estas dependencias se encuentran a menudo en el entorno operativo y no se incluyen en la solicitud con el fin de ahorrar espacio y tiempo. Al determinar las dependencias de un binario desconocido, su puede aprender más acerca de lo que el binario es y cómo funciona.
Cuckoo genera un puñado de diferentes datos brutos, que incluyen:
A fin de que tales resultados sean mejor interpretados por los usuarios finales, Cuckoo es capaz de procesar y generar diferentes tipos de informes, que podrían incluir:
Lo más interesante, es que gracias a la amplia estructura modular del Cuckoo, es posible personalizar tanto el procesamiento y la fase de presentación de informes. Cuckoo proporciona todos los requisitos para integrar fácilmente un entorno aislado con los sistemas existentes, con los datos que se deseen, de la manera que desee y con el formato que desee.
Se puede utilizar para analizar:
Una herramienta de análisis y gestión de binarios de malware. Su objetivo fundamental es proporcionar una solución para organizar fácilmente una colección de malware y explotar las muestras, para facilitar su investigación diaria. Es similar a un Metasploit para los investigadores de malware, proporciona una interfaz de terminal que se puede utilizar para: almacenar, buscar y analizar archivos, con un entorno para crear plugins fácilmente de cualquier tipo.
Viper permite crear y operar en una colección de archivos de muestras de malware. Una colección representa un proyecto. Se puede crear tantos proyectos como se desee y cambiar fácilmente de uno a otro. Cada proyecto tiene sus propios repositorios locales de los archivos binarios, una base de datos SQLite que contiene los metadatos y un archivo histórico que contiene todos los comandos que se proporcionan a través de la Shell de Viper. De esta manera se pueden crear diferentes entornos de trabajo para cada campaña de malware, familia de malware o el entorno que se está investigando. También puede empaquetar fácilmente y compartir la carpeta del proyecto.
Las operaciones que se pueden ejecutar dentro Viper son fundamentalmente: comandos y módulos:
Viper está escrito en Python y requiere Python 2.7 para funcionar correctamente. Funciona a la perfección en distribuciones basadas en Debian, como Ubuntu de plataforma de referencia. Es posible trabajar con ella en otras distribuciones Linux y en Mac OS X, pero no ha sido debidamente probado.
Más información y descarga de Viper:
http://viper.li/
Una herramienta que ayuda en el análisis dinámico de software malicioso. La herramienta simula una red, para que el malware interactué con un host remoto, permitiendo al analista, observar la actividad del malware, en los protocolos de red dentro de un ambiente seguro.
FakeNet está programado en python 2.7 y utiliza una variedad de servicios de Windows y bibliotecas para emular una red Windows. Carga un entorno HTTP personalizado y un servidor DNS para responder a las solicitudes. Utiliza OpenSSL para manejar conexiones en el protocolo SSL. Maneja para esta emulación de red un proveedor de servicios por niveles de Winsock (LSP) para redirigir el tráfico hacia localhost, y para escuchar el tráfico en los puertos. También crea un archivo de captura de tráfico (*.pcap) para su posterior análisis, reconstruyendo un encabezado de paquetes basado en el tráfico de las llamadas send/recv.
Características:
Construido con la capacidad para crear un archivo de captura (*.pcap) para los paquetes redirigidos a localhost, para su posterior análisis.
Modulo que escucha el tráfico en cualquier puerto, detecta y descifra el tráfico SSL y muestra el contenido en la consola. Lleva a cabo todas las actividades en el equipo local para evitar la necesidad de una segunda máquina virtual.
Es una herramienta ideal para analizar el método de infección del malware de páginas web maliciosas. Porque permite ver e interceptar, las consultas y respuestas HTTP, HTTPS y DNS.
Más información y descarga de FakeNet:
http://sourceforge.net/
Información de modo de empleo y configuración:
http://www.aldeid.com/wiki/
Por Joxean Koret. Herramienta bajo licencia GLP v2 para analizar dinámicamente el comportamiento del malware. Esta herramienta basa su funcionamiento en cargar el malware con Wine en una jaula virtual y recoge la información sobre los APIs llamados por el malware. La salida generada por Wine (usando la variable de entorno de eliminación de errores WINEDEBUG) pertenece a las llamadas de las API usadas por el malware. Con esta información, se analiza el comportamiento del malware.
Se distribuye el Zero Wine en una imagen de la máquina virtual QEMU con un sistema operativo Debian instalado. La imagen contiene software para cargar y para analizar el malware y para generar los informes basados en la información recopilada (este software se almacena en "/home/malware/zerowine"). Para correr Zero Wine se utiliza un script que carga la maquina virtual y lanza un servicio web en el puerto 8000 en dicha maquina. Para enviar archivos a analizar se utiliza la aplicación web que corre en el servidor web de la maquina virtual.
Existe una versión mejorada de este proyecto se llama Zero Wine Tryouts basado en el mismo motor pero con mejoras en el comportamiento y más opciones.
Es una excelente herramienta para analizar malware ya que nos permite ver todas las acciones que ejecuta el malware en el sistema.
Más información y descarga de Zero Wine:
http://zerowine.sourceforge.net/
Existen diversas herramientas para extraer la memoria RAM.
Rekall es otra de las herramientas favoritas para el análisis de memoria RAM de los forenses.
BSA, herramienta diseñada para analizar cambios que ocurren en el sistema, basada en Sandboxie permitiendo ejecutar ficheros en un ambiente controlado.
Una de las Principales características es que hace hook a la función NtQuerySystemInformation(ssdt Hook)
Compatible con la version 3.76 de Sandboxie, recientemente se fixeo la Injection DLL en la versión 4.09.1 la cual causaba la incompatibilidad con BSA, aun no es al 100% Compatible ,también requiere WinPCap.
Incluye la posibilidad de analizar cualquier tipo de fichero (EXE, BAT, VBS, PDF, XLS, DOC, ...) si puede ejecutarse dentro de Sandboxie con la posibilidad de añadir librerías (DLL, OCX…) o instalar otro software adicional si es necesario.
Otra de las características a destacar de BSA es que oculta los procesos de sandboxie y otros para que los crypters y RATs que tienen activado el módulo anti-sandbox no impidan su análisis. Para ello hookea a nivel de kernel ZwQuerySystemInformation
Dependency Walker es una Herramienta la cual nos permite enumeran todas las funciones que se exportan de un Aplicación sin ejecutar el Fichero. En la cual podemos consultar sobre cada funcion en linea.
Incluye una comprobación de ficheros con VirusTotal para el archivo que se esta analizando enviando el MD5 del fichero (esta opción se puede desactivar desde el fichero: PeStudioVirusTotal.xml). También detecta las APIs utilizadas.
PeStudio analiza el binario y lo clasifica en función de las cosas sospechosas que encuentra;
También contiene una versión en línea de comandos (CLI) CommandLine (PeStudioPrompt.exe), más info en winitor.com
YARA es una herramienta diseñada por Víctor Manuel Álvarez principalmente para la detección y clasificación de malware basándose en string signatures
Una herramienta diseñada para identificar y clasificar malware mediante string signatures la creación de reglas que permiten detectar strings (cadenas de texto), secuencias de instrucciones, expresiones regulares y otros patrones existentes dentro de los archivos maliciosos.
Por ejemplo, dependiendo del archivo bajo análisis es posible conocer si se encuentra empaquetado (identificar el packer) o no, si contiene información para conectarse a una determinada dirección URL o a un servidor IRC incluso hasta detectar distintas variantes de un código malicioso que se estén propagando como parte de un ataque dirigido.
YARA se puede descargar directamente desde su página web (http://code.google.com/p/yara-project/) e instalar en cualquier sistema operativo ya que es compatible con Windows, Linux y Mac OS X. De esta manera es posible ajustar la herramienta a nuestras necesidades y utilizar sus capacidades para clasificar códigos maliciosos directamente desde la línea de comando o a través de las API disponibles para distintos lenguajes de programación como Python, Ruby o C.
El concepto muy importante a tener en cuenta para la clasificación e identificación de códigos maliciosos con esta herramienta se basa en la creación de reglas. Una regla en YARA está compuesta principalmente por strings y conditions. Un string es una variable que representa a una cadena de texto, una secuencia de bytes o hasta la utilización de expresiones regulares que brindan una gran flexibilidad para poder representar patrones existentes dentro de las amenazas bajo análisis. Por otro lado, las conditions permiten especificar qué combinación de strings deben estar presentes en el archivo para que se lo clasifique como tal.
Esta herramienta, que cuenta con la lista más amplia de ubicaciones de inicio automático, muestra qué programas están configurados para ejecutarse durante el arranque del sistema o de inicio de sesión, 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 automático, y mucho más. Autoruns extiende por mucho la utilidad MSConfig incluida en Windows Me y XP.
Permite entre otras cosas comprobar qué programas se ejecutan al inicio y comparar un análisis realizado previamente para ver qué cambios que ha habido en el sistema.
ProcessExplorer es, como su nombre indica, un explorador de procesos. Su interfaz gráfica 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 información 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 también tiene una herramienta de búsqueda muy potente que mostrará rápidamente qué procesos tienen handlers abiertos o sus DLL cargados.
Las capacidades de Process Explorer lo hacen especialmente útil para localizar problemas de DLL – versión o pérdidas de identificadores, y para dar una idea de la forma de funcionar de Windows y otras aplicaciones.
La opción Verify nos permite, poder verificar la firma del software así podemos comprobar si es legítimo o no. Si el fabricante del software ha firmado correctamente su software podremos comprobarlo con Process Explorer.
ProcessExplorer ofrece una serie de opciones para analizar malware, entre sus capacidades destacan las siguiente:
Process Monitor es una herramienta de monitorización avanzada para Windows que muestra en tiempo real actividad en el sistema de archivos, el registro, y los procesos en ejecución. Combina las características de las herramientas Filemon y Regmon, y añade una amplia lista de mejoras que incluyen el filtrado avanzado y no destructivo, las propiedades de eventos integrales tales como identificadores de sesión y nombres de usuario, pilas de threads completas con soporte para símbolos integrados de cada operación, registro simultáneo en un archivo, y mucho más. Las características de Process Monitor hacen de ella una utilidad fundamental en la solución de problemas del sistema y en el conjunto de instrumentos de caza de malware.
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 también informa del nombre del proceso que posee el punto final. TCPView proporciona un subconjunto más informativo y bien presentado del programa Netstat que se incluye con Windows.
Active Registry Monitor
El Active Registry Monitor (ARM) es una utilidad diseñada para analizar los cambios hechos al registro de Windows – tomando snapshots de su estado y guardándolos en una base de datos. Posteriormente, pueden compararse dos de estas fotografías y obtener un listado de claves/datos nuevos, eliminados o, simplemente, cambiados.
WinVi
WinVi es un editor gratuito para MS Windows para la edición y la detección automática 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 análisis de malware se utiliza esta herramienta como un editor hexadecimal que puede soportar archivos de hasta 2 GB.
Técnicas de análisis de malware
Muy a menudo, cuando se realiza el análisis de malware, la única cosa que se tiene es el propio ejecutable malicioso, que no dará demasiada información, ya que está destinado a no ser comprendido por seres humanos. Con la intención de encontrarle sentido, vamos a usar una variedad de herramientas y trucos, cada uno revelando una pequeña cantidad de información.
Habrá que hacer uso de una gran variedad de herramientas con el fin de obtener una comprensión amplia del malware en cuestión. Existen dos enfoques fundamentales para el análisis de malware: los análisis estáticos y los análisis dinámicos. El análisis estático consiste en examinar el malware sin ejecutarlo, mientras que el análisis dinámico implica la ejecución del malware en entornos controlados.
Análisis estático básico
El análisis estático básico consiste en examinar el archivo ejecutable sin ver las instrucciones reales. El análisis estático puede confirmar si un archivo es malicioso, proporciona información sobre su funcionamiento, y a veces ofrece información que permitirá realizar un network footprinting simple. El análisis estático básico es sencillo y puede ser rápido, pero es en gran medida ineficaz contra el malware sofisticado, y se pueden pasar por alto funciones importantes.
Análisis Dinámico Básico
Las técnicas de análisis dinámicas básicas implican ejecutar el malware y la observación de su comportamiento en el sistema con el fin de averiguar algunos aspectos de su comportamiento, poder eliminar la infección, 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 ejecutándose sin riesgo de daño al sistema o la red. Al igual que las técnicas básicas de análisis estático, las técnicas básicas de análisis dinámico pueden ser utilizadas por la mayoría de las personas sin grandes conocimientos de programación, pero no serán eficaces con todo el malware y también se puede pasar por alto funcionalidad importante.
Fuentes:
http://tecnicaquilmes.fullblog.com.ar/herramientas-para-crear-un-laboratorio-de-malware.html
https://hard2bit.com/blog/analisis-de-malware-enfoque-y-caso-practico/
http://www.welivesecurity.com/la-es/2014/08/20/como-realizar-analisis-malware-evita-virtualizacion/
¿Qué es un malware?
En primer lugar, ¿qué es un malware? ¿Podemos considerar cualquier pieza de código que no está autorizado a estar en nuestra red como un software malicioso? De forma general, podemos decir que un malware es una pieza de software capaz de realizar cualquier acción que causa algún tipo de daño a un usuario u organización, 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 análisis de malware es el arte de la disección del software malicioso para entender cómo funciona, cómo identificarlo y cómo derrotarlo o eliminarlo.
Uno de los propósitos y objetivos del análisis de malware suele ser el poder proporcionar la información necesaria para responder a una intrusión en la red. Este propósito incluye el determinar exactamente lo que sucedió, y qué alcance y grado de disperesión tuvo en la red.
Al analizar los supuestos elementos de software malicioso, en primer lugar se necesita explorar lo que el archivo binario sospechoso puede hacer, cómo detectarlo en su red, y cómo medir y contener el daño.
La práctica totalidad del malware que se encuentra hoy en día está empaquetado y/o cifrado con:
- UPX
- ASPack
- Themida
- NPack
- Mpress
- etc
Análisis de Malware
Configuración del entorno de laboratorio
En primer lugar, si no se dispone de un entorno de laboratorio adecuado para llevar a cabo un análisis 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 análisis. Como ejemplo, se puede utilizar un entorno virtual para realizar el análisis o tener sistemas físicos 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 más modernos son capaces de detectar los sistemas virtuales y cambiar sus comportamientos para permanecer sin ser detectados. De todas las opciones que hemos probado, tanto VMWare como VirtualBox ofrecen buenas soluciones para el análisis de malware. Usaremos VirtualBox para nuestro análisis.
Existen multitud de soluciones para poder realizar tareas de
virtualización. De todas ellas, se destacan la siguientes:
- VMware vSphere Hypervisor Vmware workstation (gratis)
- Microsoft Virtual PC (gratis)
- VirtualBox (gratis)
- XZEN (gratis)
- Parallel (licenciamiento)
- QEMU (gratis)
- Proxmox (código abierto)
- Microsoft Virtual Server
¿Cómo realizar un análisis de malware que evita la virtualización?
La forma más sencilla de analizar un archivo malicioso consiste en ejecutarlo en un entorno controlado y observar los resultados. A tales efectos, la utilización de máquinas virtuales se hace vital, ya que permite la recuperación casi instantánea del estado inicial de la máquina. Por ello, en diversas ocasiones el malware incluye mecanismos para detectar si está siendo ejecutado en un entorno virtualizado, situación ante la cual modifica su camino de ejecución para esconder su verdadero comportamiento.Si intentamos ejecutar este archivo en nuestra máquina virtual, no observaremos ningún comportamiento malicioso.
Podemos buscar con el Ida Pro por el string Vmware, Wine y Virtual PC. Los autores del malware utilizan un mecanismo bastante conocido: solicitar la versión de VMWare mediante la comunicación con los puertos de E/S. Esto es posible dado que VMWare monitorea e intercepta el uso de la instrucción in, acción necesaria para poder garantizar la comunicación entre la máquina virtual y el host.
Anti-sandboxing y Anti-debugging
Debuggers como OllyDbg, WindDbg, Radare o IDA ya sabréis que se requieren conocimientos sobre lenguaje ensamblador y estructuras internas de ficheros.Una técnica anti-debugging muy fácil de implementar, pero también muy fácil de evadir, es la función “IsDebuggerPresent”.
- Los códigos de espagueti y basura hacen que las herramientas de análisis comunes sean ineficaces
El primer problema de ofuscación que requiere una solución es la eliminación de las instrucciones basura y el "código de espagueti", que es una técnica que pretende confundir los programas de deanmblado.. El código de espagueti hace que el programa fluya de forma difícil de leer al agregar saltos continuos de código, de ahí el nombre.
Este problema no es nuevo, y en situaciones comunes se conocen complementos de reversing que pueden ayudar en esta tarea. Sin embargo, a veces no podemos encontrar un buen complemento de desensamblador interactivo (IDA) que pueda normalizar el flujo de código.
VM detection
- hardware IDs are VmBus in case of HyperV
- VEN_15AD in case of VMware
Debugger detection
- ThreadHideFromDebugger
- ProcessDebugPort
- ProcessDebugObjectHandle
Por otra parte, tener sistemas físicos dedicados puede tener varias desventajas, tales como tener que restaurar el sistema en cada ciclo de análisis. Para ello utilizamos software libre, como la herramienta udpcast disponible para estos fines. En caso de que tengas suficiente presupuesto, Norton Ghost proporciona características más avanzadas para hacer restauraciones del sistema.
Una vez decidido el entorno en el que se va a trabajar, el siguiente paso sería definir el acceso a la red de esos sistemas. Los malwares avanzados son capaces de detectar cambios en la dirección IP y se esconden o no revelan la información sobre la ubicación real de otros nodos o puntos de control. Estas detecciones pueden desencadenar algunas otras funciones ocultas, tales como ataque DOS 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 conexión a internet, la red aislada puede aplicarse a través de un cortafuegos con reglas estrictas establecidas para supervisar las posibles conexiones abiertas y cerradas.
El conjunto de herramientas
Un primer acercamiento nos va a permitir conocer si el malware está empaquetado, en qué lenguaje de alto nivel fue desarrollado y otras tantas características más; Por ejemplo, podríamos ver qué librerías (DLLs) importa, las funciones que va a utilizar, el tamaño de sus secciones y otros datos de color.
Después de haber decidido y configurado el entorno de laboratorio, el siguiente paso es seleccionar un conjunto de herramientas que faciliten el proceso de análisis. Recomendamos las siguientes herramientas que pueden ser útiles en distintas etapas del ciclo de análisis, aunque hay muchas otras disponibles. Principalmente usaremos herramientas libres o gratuitas, incluidas las versiones demo de algunas herramientas comerciales.
En la siguiente sección se ofrece una descripción de cada herramienta que podemos utilizar para llevar a cabo el análisis.
BinText
BinText de McAffe permite la realización de búsquedas de cadenas de texto que se pueden encontrar dentro
de un fichero. Buscar cadenas de texto ASCII y caracteres UNICODE de tamaño específico
dentro de un fichero.
UPX
Las siglas significan Ultimate Packer for eXecutables. Es un compresor de código abierto y de gran performance, que soporta archivos ejecutables y objetos de Windows que respeten la especificaciones de Microsoft PE (Portable Executables) y COFF (Common Object File Format), como por ejemplo archivos de extensiones EXE y DLL. A la vez, soporta archivos ejecutables de varios sistemas operativos como pueden ser Linux (ELF), Linux Kernel, ejecutables Mac OS X, FreeBSD, NetBSD y Playstation 1, entre otros. También permite una gran tasa de compresión, reduciendo el tamaño de los ejecutables en hasta 60% de su tamaño original. De hecho, en general es mejor compresor que WinZIP/ZIP/GZIP:
UPX es un compresor/descompresor de código ejecutable, que logra una excelente relación de compresión y ofrece descompresión muy rápida cuidando el consumo de memoria. Una medida más que utilizan los ejecutables para ocultarse es el almacenar su código comprimido, por lo que necesitaremos una herramienta capaz de extraer el código ejecutable en claro, como UPX.
RDG Packer Detector
RDG Packer Detector es un es una aplicación creada por RDGMax para detectar packers, Cryptors, Compiladores, Packers Scrambler, Joiners, Installers , y demás de algún archivo ejecutable.
- Posee sistema de detección Rápida.
- Posee sistema de detección Potente Analizando el archivo completo, permitiendo la muli-detección de packers en varios casos.
- Permite crear signaturas tus propias signaturas de detección.
- Posee Analizador Crypto-Grafico.
- Permite calcular el checksum de un archivo.
- Permite calcular el Entropy, informando si el programa analizado esta comprimido, encriptado o no.
- Detector de OEP (Punto de entrada Original) de un programa.
- Puedes Chequear y descargar signaturas.Así siempre tú RDG Packer Detector estará Actualizado.
- Loader de Plug-ins..
- Convertidor de Signaturas.
- Detector de Falseadores de Entry Point.
- De-Binder un extractor de archivos adjuntos.
- Sistema Heuristico Mejorado.
PEiD
PEiD es un programa capaz de dar información de como está empaquetado, estos software se basan en firmas que pueden buscar en bases de datos que se van actualizando, esas firmas se encuentran a lo largo del binario con el binario en si o bien mirando solo el Entry Point.
PEiD es una utilidad con la que podrás usar los archivos portables ejecutables (PE) ya que detecta 600 tipos distintos de firmas en estos archivos. Estas son algunas de las características que incluye PEiD y que le diferencian de otros programas de su clase:
- Interfaz realmente intuitiva y simple de usar.
- Máximas tasas de identificación conseguidas, conoce los paquetes más comunes, criptografía y compiladores para asegurarse de que siempre podrás realizar la acción requerida con el archivo PE.
- Capacidades 'drag and drop' e integración 'shell' (puedes definirlo como aplicación determinada para abrir archivos PE).
- Escáner y detección de archivos no reconocidos.
- Importa, exporta y previsualiza.
- Visor y controlador de tareas.
Resource Hacker
Resource Hacker (también conocido como ResHacker o ResHack) es una aplicación freeware de extracción de recursos desarrollada por Angus Johnson para Windows. Se usa para modificar elementos de programas o del sistema operativo, como iconos, extrayendo recursos de programas ejecutables (.exe), bibliotecas de enlace dinámico (.dll), y ficheros de recursos (.res).
ProtectionID
- - detection of every major PC ISO Game / Application protection
- - currently covers 543 detections, including win32/64 exe protectors & packers, .net protectors, dongles, licenses & installers
- - sector scanning CDs / DVDs for Copy Protections
- - files / folders can simply be dragged & dropped into pid
- - strong scanning routines allowing it to detect multiple protections
- - easy scanning via shell context menu
- - useful additional misc tools included
- - coded 100% in Win32 assembly language
- - fully 32bit & 64bit compliant
- - working from Win9x to Windows 8
PE Explorer Dependency Scanner
PE Explorer puede ayudarle a aprender el conjunto mínimo de archivos DLL necesarios para que un archivo EXE se puede cargar y ejecutar, y la ruta de acceso completa a los módulos cargados por el archivo EXE.
La herramienta Dependency Scanner le permite ver dependencias DLL sin ejecutar el código. Dependencias de software son módulos o piezas de código, que una aplicación requiere con el fin de cargar y funcionar correctamente. Estas dependencias se encuentran a menudo en el entorno operativo y no se incluyen en la solicitud con el fin de ahorrar espacio y tiempo. Al determinar las dependencias de un binario desconocido, su puede aprender más acerca de lo que el binario es y cómo funciona.
Herramientas Sandbox para el análisis de malware
Cuckoo Sandbox
Es un sistema de análisis de malware de código abierto. Esta aplicación permite analizar cualquier archivo sospechoso y en cuestión de segundos, Cuckoo proporcionará resultados detallados que describen lo que resultaría cuando se ejecuta dentro de un entorno aislado.Cuckoo genera un puñado de diferentes datos brutos, que incluyen:
- Las funciones nativas y API de Windows llamadas huellas.
- Las copias de los archivos creados y eliminados del sistema de ficheros.
- Volcado de la memoria del proceso seleccionado.
- Volcado completo de memoria de la máquina de análisis.
- Capturas de pantalla del escritorio durante la ejecución del análisis de malware.
- Volcado de red generado por la máquina que se utiliza para el análisis.
- El rastro del tráfico de red en formato PCAP.
- La memoria completa de la papelera de reciclaje de las máquinas.
A fin de que tales resultados sean mejor interpretados por los usuarios finales, Cuckoo es capaz de procesar y generar diferentes tipos de informes, que podrían incluir:
- Informe JSON.
- Informe HTML.
- Informe MAEC.
- Interfaz de MongoDB.
- Interfaz HPFeeds.
Lo más interesante, es que gracias a la amplia estructura modular del Cuckoo, es posible personalizar tanto el procesamiento y la fase de presentación de informes. Cuckoo proporciona todos los requisitos para integrar fácilmente un entorno aislado con los sistemas existentes, con los datos que se deseen, de la manera que desee y con el formato que desee.
Se puede utilizar para analizar:
- Ejecutables de Windows genérico
- Los archivos DLL
- Los documentos PDF
- Documentos de Microsoft Office
- URLs y archivos HTML
- Escrituras de PHP
- Los archivos CPL
- (VB) scripts de Visual Basic
- Archivos ZIP
- JAR de Java
- Los archivos de Python
Viper
Una herramienta de análisis y gestión de binarios de malware. Su objetivo fundamental es proporcionar una solución para organizar fácilmente una colección de malware y explotar las muestras, para facilitar su investigación diaria. Es similar a un Metasploit para los investigadores de malware, proporciona una interfaz de terminal que se puede utilizar para: almacenar, buscar y analizar archivos, con un entorno para crear plugins fácilmente de cualquier tipo.
Viper permite crear y operar en una colección de archivos de muestras de malware. Una colección representa un proyecto. Se puede crear tantos proyectos como se desee y cambiar fácilmente de uno a otro. Cada proyecto tiene sus propios repositorios locales de los archivos binarios, una base de datos SQLite que contiene los metadatos y un archivo histórico que contiene todos los comandos que se proporcionan a través de la Shell de Viper. De esta manera se pueden crear diferentes entornos de trabajo para cada campaña de malware, familia de malware o el entorno que se está investigando. También puede empaquetar fácilmente y compartir la carpeta del proyecto.
Las operaciones que se pueden ejecutar dentro Viper son fundamentalmente: comandos y módulos:
- Los comandos son funciones proporcionadas por el núcleo de Viper que permiten interactuar con: el repositorio de archivos (mediante la adición, la búsqueda, el etiquetado y la eliminación de archivos), con proyectos y con las sesiones. Son estáticos y no deben modificarse.
- Los módulos son plugins que se cargan dinámicamente por Viper en el arranque. Existen módulos para implementar funciones de análisis adicionales que se pueden ejecutar en un archivo abierto o en todo el repositorio, por ejemplo: el análisis de los ejecutables PE32, procesadores de documentos PDF, el análisis de los documentos de Office, archivos de agrupamiento por hash o imphash… Los módulos son la parte más desarrollada activamente de Viper gracias a las contribuciones de la comunidad.
Viper está escrito en Python y requiere Python 2.7 para funcionar correctamente. Funciona a la perfección en distribuciones basadas en Debian, como Ubuntu de plataforma de referencia. Es posible trabajar con ella en otras distribuciones Linux y en Mac OS X, pero no ha sido debidamente probado.
Más información y descarga de Viper:
http://viper.li/
FakeNet
Una herramienta que ayuda en el análisis dinámico de software malicioso. La herramienta simula una red, para que el malware interactué con un host remoto, permitiendo al analista, observar la actividad del malware, en los protocolos de red dentro de un ambiente seguro.
FakeNet está programado en python 2.7 y utiliza una variedad de servicios de Windows y bibliotecas para emular una red Windows. Carga un entorno HTTP personalizado y un servidor DNS para responder a las solicitudes. Utiliza OpenSSL para manejar conexiones en el protocolo SSL. Maneja para esta emulación de red un proveedor de servicios por niveles de Winsock (LSP) para redirigir el tráfico hacia localhost, y para escuchar el tráfico en los puertos. También crea un archivo de captura de tráfico (*.pcap) para su posterior análisis, reconstruyendo un encabezado de paquetes basado en el tráfico de las llamadas send/recv.
Características:
- Es fácil de instalar y utilizar, la herramienta se ejecuta en Windows y no requiere de las bibliotecas de terceros.
- Mantiene la ejecución del malware de forma que se puede observar gran parte de su funcionamiento.
- Apoya los protocolos más comunes utilizados por el malware, soporta DNS, HTTP y SSL
- El servidor HTTP siempre sirve un archivo, si la solicitud de malware es un jpg le sirve un formato correcto jpg, etc. Los archivos que se sirven son configurables por el usuario.
- Capacidad para redirigir todo el tráfico hacia localhost, incluyendo el tráfico destinado a una dirección IP estática.
- Extensiones en Python, incluyendo una extensión de ejemplo que implementa SMTP y SMTP a través de SSL.
- Proporciona extensiones de Python para añadir protocolos nuevos o personalizados.
Construido con la capacidad para crear un archivo de captura (*.pcap) para los paquetes redirigidos a localhost, para su posterior análisis.
Modulo que escucha el tráfico en cualquier puerto, detecta y descifra el tráfico SSL y muestra el contenido en la consola. Lleva a cabo todas las actividades en el equipo local para evitar la necesidad de una segunda máquina virtual.
Es una herramienta ideal para analizar el método de infección del malware de páginas web maliciosas. Porque permite ver e interceptar, las consultas y respuestas HTTP, HTTPS y DNS.
Más información y descarga de FakeNet:
http://sourceforge.net/
Información de modo de empleo y configuración:
http://www.aldeid.com/wiki/
Zero Wine
Por Joxean Koret. Herramienta bajo licencia GLP v2 para analizar dinámicamente el comportamiento del malware. Esta herramienta basa su funcionamiento en cargar el malware con Wine en una jaula virtual y recoge la información sobre los APIs llamados por el malware. La salida generada por Wine (usando la variable de entorno de eliminación de errores WINEDEBUG) pertenece a las llamadas de las API usadas por el malware. Con esta información, se analiza el comportamiento del malware.
Se distribuye el Zero Wine en una imagen de la máquina virtual QEMU con un sistema operativo Debian instalado. La imagen contiene software para cargar y para analizar el malware y para generar los informes basados en la información recopilada (este software se almacena en "/home/malware/zerowine"). Para correr Zero Wine se utiliza un script que carga la maquina virtual y lanza un servicio web en el puerto 8000 en dicha maquina. Para enviar archivos a analizar se utiliza la aplicación web que corre en el servidor web de la maquina virtual.
Existe una versión mejorada de este proyecto se llama Zero Wine Tryouts basado en el mismo motor pero con mejoras en el comportamiento y más opciones.
Es una excelente herramienta para analizar malware ya que nos permite ver todas las acciones que ejecuta el malware en el sistema.
Más información y descarga de Zero Wine:
http://zerowine.sourceforge.net/
Volatility Framework
Volatility es un Framework con un conjunto de herramientas desarrolladas enteramente en Python con licencia GNU. Este Framework esta pensado para extraer de una imagen de un disco los datos volátiles que estaban en memoria RAM. Estas técnicas de extracción están pensadas para que no dependan del sistema operativo del investigador, es decir podemos utilizar Windows y/o Linux.
Existen diversas herramientas para extraer la memoria RAM.
Rekall es otra de las herramientas favoritas para el análisis de memoria RAM de los forenses.
Buster Sandbox Analyzer
BSA, herramienta diseñada para analizar cambios que ocurren en el sistema, basada en Sandboxie permitiendo ejecutar ficheros en un ambiente controlado.
Una de las Principales características es que hace hook a la función NtQuerySystemInformation(ssdt Hook)
Compatible con la version 3.76 de Sandboxie, recientemente se fixeo la Injection DLL en la versión 4.09.1 la cual causaba la incompatibilidad con BSA, aun no es al 100% Compatible ,también requiere WinPCap.
Incluye la posibilidad de analizar cualquier tipo de fichero (EXE, BAT, VBS, PDF, XLS, DOC, ...) si puede ejecutarse dentro de Sandboxie con la posibilidad de añadir librerías (DLL, OCX…) o instalar otro software adicional si es necesario.
Otra de las características a destacar de BSA es que oculta los procesos de sandboxie y otros para que los crypters y RATs que tienen activado el módulo anti-sandbox no impidan su análisis. Para ello hookea a nivel de kernel ZwQuerySystemInformation
PeFrame
PEframe es una herramienta OPEN SOURCE, ideal para el Análisis Estático de Malware.Dependency Walker
Dependency Walker es una Herramienta la cual nos permite enumeran todas las funciones que se exportan de un Aplicación sin ejecutar el Fichero. En la cual podemos consultar sobre cada funcion en linea.
PeStudio - Malware Early Triage
Creada por Marc Ochsenmeier es una herramienta ideal para el análisis estático de archivos ejecutables, además es portable.Incluye una comprobación de ficheros con VirusTotal para el archivo que se esta analizando enviando el MD5 del fichero (esta opción se puede desactivar desde el fichero: PeStudioVirusTotal.xml). También detecta las APIs utilizadas.
PeStudio analiza el binario y lo clasifica en función de las cosas sospechosas que encuentra;
- Indicators (Indicadores. DEP, ASLR,
- Imported Libraries - Librerías que carga el binario
- Imported Symbols (síntesis de los eventos de ratón, etc)
- Total integración con VirusTotal
- Llamadas a las funciones y si esas funciones están clasificadas como sospechosas o no
- Strings (Unicode, ASCII; extensiones de ficheros, funciones de Windows, )
- Resources (Lenguaje (idioma))
- Signature (Detecta más de 4.000 firmas, ejemplo Packed: Armadillo, etc)
- Certificados
También contiene una versión en línea de comandos (CLI) CommandLine (PeStudioPrompt.exe), más info en winitor.com
YARA
YARA es una herramienta diseñada por Víctor Manuel Álvarez principalmente para la detección y clasificación de malware basándose en string signatures
Una herramienta diseñada para identificar y clasificar malware mediante string signatures la creación de reglas que permiten detectar strings (cadenas de texto), secuencias de instrucciones, expresiones regulares y otros patrones existentes dentro de los archivos maliciosos.
Por ejemplo, dependiendo del archivo bajo análisis es posible conocer si se encuentra empaquetado (identificar el packer) o no, si contiene información para conectarse a una determinada dirección URL o a un servidor IRC incluso hasta detectar distintas variantes de un código malicioso que se estén propagando como parte de un ataque dirigido.
YARA se puede descargar directamente desde su página web (http://code.google.com/p/yara-project/) e instalar en cualquier sistema operativo ya que es compatible con Windows, Linux y Mac OS X. De esta manera es posible ajustar la herramienta a nuestras necesidades y utilizar sus capacidades para clasificar códigos maliciosos directamente desde la línea de comando o a través de las API disponibles para distintos lenguajes de programación como Python, Ruby o C.
El concepto muy importante a tener en cuenta para la clasificación e identificación de códigos maliciosos con esta herramienta se basa en la creación de reglas. Una regla en YARA está compuesta principalmente por strings y conditions. Un string es una variable que representa a una cadena de texto, una secuencia de bytes o hasta la utilización de expresiones regulares que brindan una gran flexibilidad para poder representar patrones existentes dentro de las amenazas bajo análisis. Por otro lado, las conditions permiten especificar qué combinación de strings deben estar presentes en el archivo para que se lo clasifique como tal.
Reglas de Yara
YARA keywordsall and any ascii at condition contains entrypoint false filesize fullword for global in import include int8 int16 int32 int8be int16be int32be matches meta nocase not or of private rule strings them true uint8 uint16 uint32 uint8be uint16be uint32be wide
Herramientas de Microsoft - Sysinternals
El sitio web de Sysinternals lo crearon en 1996 Mark Russinovich y Bryce Cogswell para alojar sus utilidades de sistema avanzadas, junto con información técnica. En julio de 2006, Microsoft adquirió Sysinternals. Tanto profesionales como desarrolladores de TI encontrarán utilidades en Sysinternals para facilitar la administración y el diagnóstico de sistemas y aplicaciones de Windows, así como la solución de problemas que pudieran surgir al respecto.Autoruns
Esta herramienta, que cuenta con la lista más amplia de ubicaciones de inicio automático, muestra qué programas están configurados para ejecutarse durante el arranque del sistema o de inicio de sesión, 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 automático, y mucho más. Autoruns extiende por mucho la utilidad MSConfig incluida en Windows Me y XP.
Permite entre otras cosas comprobar qué programas se ejecutan al inicio y comparar un análisis realizado previamente para ver qué cambios que ha habido en el sistema.
ProcessExplorer
ProcessExplorer es, como su nombre indica, un explorador de procesos. Su interfaz gráfica 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 información 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 también tiene una herramienta de búsqueda muy potente que mostrará rápidamente qué procesos tienen handlers abiertos o sus DLL cargados.
Las capacidades de Process Explorer lo hacen especialmente útil para localizar problemas de DLL – versión o pérdidas de identificadores, y para dar una idea de la forma de funcionar de Windows y otras aplicaciones.
La opción Verify nos permite, poder verificar la firma del software así podemos comprobar si es legítimo o no. Si el fabricante del software ha firmado correctamente su software podremos comprobarlo con Process Explorer.
ProcessExplorer ofrece una serie de opciones para analizar malware, entre sus capacidades destacan las siguiente:
- - Process TimeLine. Posibilidad de gráficamente de forma muy visual cuando se inicia un proceso:
- - Verificación de firmas. A través de un botón de verificación es posible verificar la firma digital de un proceso, en el caso de que conlleve un certificado embebido
- - Caracterización mediante colores. A través de colores, podremos determinar de forma visual si estamos frente a un servicio, una aplicación bajo contexto "Explorador de Windows", o frente a una aplicación empaquetada o comprimida.
- - Panel inferior. A través de este panel se pueden observar las bibliotecas cargadas por un proceso especifico, así como los manejadores (handles) utilizados.
Process Monitor
Process Monitor es una herramienta de monitorización avanzada para Windows que muestra en tiempo real actividad en el sistema de archivos, el registro, y los procesos en ejecución. Combina las características de las herramientas Filemon y Regmon, y añade una amplia lista de mejoras que incluyen el filtrado avanzado y no destructivo, las propiedades de eventos integrales tales como identificadores de sesión y nombres de usuario, pilas de threads completas con soporte para símbolos integrados de cada operación, registro simultáneo en un archivo, y mucho más. Las características de Process Monitor hacen de ella una utilidad fundamental en la solución de problemas del sistema y en el conjunto de instrumentos de caza de malware.
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 también informa del nombre del proceso que posee el punto final. TCPView proporciona un subconjunto más informativo y bien presentado del programa Netstat que se incluye con Windows.
Active Registry Monitor
El Active Registry Monitor (ARM) es una utilidad diseñada para analizar los cambios hechos al registro de Windows – tomando snapshots de su estado y guardándolos en una base de datos. Posteriormente, pueden compararse dos de estas fotografías y obtener un listado de claves/datos nuevos, eliminados o, simplemente, cambiados.
WinVi
WinVi es un editor gratuito para MS Windows para la edición y la detección automática 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 análisis de malware se utiliza esta herramienta como un editor hexadecimal que puede soportar archivos de hasta 2 GB.
Técnicas de análisis de malware
Muy a menudo, cuando se realiza el análisis de malware, la única cosa que se tiene es el propio ejecutable malicioso, que no dará demasiada información, ya que está destinado a no ser comprendido por seres humanos. Con la intención de encontrarle sentido, vamos a usar una variedad de herramientas y trucos, cada uno revelando una pequeña cantidad de información.
Habrá que hacer uso de una gran variedad de herramientas con el fin de obtener una comprensión amplia del malware en cuestión. Existen dos enfoques fundamentales para el análisis de malware: los análisis estáticos y los análisis dinámicos. El análisis estático consiste en examinar el malware sin ejecutarlo, mientras que el análisis dinámico implica la ejecución del malware en entornos controlados.
Análisis estático básico
El análisis estático básico consiste en examinar el archivo ejecutable sin ver las instrucciones reales. El análisis estático puede confirmar si un archivo es malicioso, proporciona información sobre su funcionamiento, y a veces ofrece información que permitirá realizar un network footprinting simple. El análisis estático básico es sencillo y puede ser rápido, pero es en gran medida ineficaz contra el malware sofisticado, y se pueden pasar por alto funciones importantes.
Análisis Dinámico Básico
Las técnicas de análisis dinámicas básicas implican ejecutar el malware y la observación de su comportamiento en el sistema con el fin de averiguar algunos aspectos de su comportamiento, poder eliminar la infección, 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 ejecutándose sin riesgo de daño al sistema o la red. Al igual que las técnicas básicas de análisis estático, las técnicas básicas de análisis dinámico pueden ser utilizadas por la mayoría de las personas sin grandes conocimientos de programación, pero no serán eficaces con todo el malware y también se puede pasar por alto funcionalidad importante.
Fuentes:
http://tecnicaquilmes.fullblog.com.ar/herramientas-para-crear-un-laboratorio-de-malware.html
https://hard2bit.com/blog/analisis-de-malware-enfoque-y-caso-practico/
http://www.welivesecurity.com/la-es/2014/08/20/como-realizar-analisis-malware-evita-virtualizacion/
Enviar por correo electrónico
Escribe un blog
Compartir en X
Compartir con Facebook
Compartir en Pinterest
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.