send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Analizando el volcado con Volatility

  • 1 Respuestas
  • 2494 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado hdbreaker

  • *
  • Underc0der
  • Mensajes: 412
  • Actividad:
    0%
  • Reputación 0
  • HD_Breaker
    • Ver Perfil
    • Security Signal
    • Email
  • Skype: hdbreaker96
  • Twitter: @SecSignal
« en: Enero 07, 2015, 05:14:38 am »
Analizando el volcado con Volatility


Este post pretende ser una extensión del aporte Análisis Dinámico de Spy-Net, los invito a repasar los antiguos post para no perder el hilo del tema

Análisis Estático Spy-Net:
You are not allowed to view links. Register or Login

Análisis Dinámico Spy-Net:
You are not allowed to view links. Register or Login

En este post retomaremos desde el momento en que generamos el volcado de memoria con DumpIT, pero esta vez analizaremos su contenido con Volatility, un framework desarrollado especificamente para el Análisis de Volcados de Memoria, Gracias a [Q]3rv[0] por la recomendación

Este framework nos permitira rapidamente aislar las secciones de memoria de un proceso comprometido para reducir la cantidad de memoria a analizar. Lo que resalta de este framework es que al estar totalmente programado en python permite utilizarlo con la distribución que mas nos guste, en mi caso usare un Ubuntu 14.04 un poco tuneado por mi, ganando estabilidad y teniendo todas las herramientas que me permitirán potenciar el alcance de Volatility

Instalacion de Volatility:

Descargamos la versión mas reciente de Volatility desde la fuente original del proyecto:

You are not allowed to view links. Register or Login


Luego lo descomprimimos, nos movemos a su ubicación y ejecutamos:

"sudo python setup.py install"

Aguardamos la finalización y listo, hora de trabajar con Volatility.

Volatility

Primero: Damos una leida a todo lo que nos ofrece este gran framework: "vol.py -h"


(la verdad es que no me da la pantalla para mostrar toda la ayuda, va a depender de su mano explorar un poco más)

Lo sorprendente de este framework es la cantidad de plugins que posee para extender el alcance del Forense.

Ahora que conocen un poco sobre Volatility, retomemos el Análisis.

Obtenemos un volcado de memoria con DumpIT (mem.raw) tal como vimos en el post anterior, una vez listo lo copiamos a linux, y procemos a analizarlo.

vol.py -f mem.raw imageinfo (esto nos devuelve el profile correspondiente a nuestro volcado)


Una vez indentificado el profile en nuestro caso: Win7SP0x86 pasaremos a recuperar los procesos que se encontraban en ejecución en ese momento:

vol.py -f mem.raw --profile=Win7SP0x86 pslist


Al final de la imagen podemos apreciar explorer.exe, el cual es el proceso que identificamos realizaba la conexión al host remoto.
A este proceso lo detectamos con CurrPorts, pero podemos identificarlo mucho mas rápido y sin necesidad de instalar un programa externo
ejecutando el comando: "netstat -b" (Gracias Turka por el TIP)


(Como se puede apreciar el host/ip, puerto y proceso que realiza la conexión)

Con volatility aislaremos todas las secciones de memoria que pertenecen a explorer.exe generando un Subvolcado de la memoria, para eso nos ayudaremos del plugin: memdump 
Para esto necesitaremos el PID de explorer.exe que nos arrojo pslist (1344)

vol.py -f mem.raw --profile=Win7SP0x86 -p 1344 memdump -D ./ (Esto nos generar un Subvolcado PID.dmp)


Con esto hemos reducido el peso de 268 Mb a 203 Mb (esto significa, muchisimas lineas menos que analizar :) )


Pero recordemos que al final, en este caso, solo analizamos las cadenas de texto dentro de la memoria, por lo cual en este subvolcado todavía hay mucho codigo binario que no nos interesa, para reducirlo aun más nos ayudaremos de una poderosa herramienta de linux, que ya muchos deben conocer: strings

strings 1344.dmp >> explorer.txt


El resultado es sorprendente son solo 6 Mb de Strings para analizar, y no solo eso... con la ayuda de grep podemos obtener resultados filtrados a la velocidad de un chasquido.

Memorandum:

¿Que buscar?
no-ip, ddns, explorer.exe, update.exe, Juego.exe, Claves de Registros, etc


La verdad es con la primer busqueda nos va demaciado bien:

cat explorer.txt | grep no-ip


Conclusión:

Con el Framework Volatility hemos reducido el proceso de busqueda de información a menos de 5 minutos (realmente me tomo 5 minutos de reloj encontrar esta información) cuando analizando todo el volcado desde un editor hexadecimal tariamos mucho mas (recuerden que este volcado es de 256 Mb imaginen un volcado de 4 u 8 Gb), con este metodo corremos el riesgo de perder caracteres binarios especiales, que sean importantes para el malware y no necesariamente sean un string, pero es un framework muy poderoso y recomendable!

Happy Hunting :)
« Última modificación: Enero 07, 2015, 05:20:12 am por hdbreaker »

Ser Libres es un Privilegio por el cual pocos estamos dispuestos a correr el riesgo

Desconectado Turka

  • *
  • Underc0der
  • Mensajes: 101
  • Actividad:
    0%
  • Reputación 0
  • Turca por herencia.
    • Ver Perfil
  • Skype: turka.xd
« Respuesta #1 en: Enero 07, 2015, 11:10:57 am »
De nada por el TIP :)

Excelente paper  ;)

Saludos
Turka

 

¿Te gustó el post? COMPARTILO!



Analizando Un Troyano Qué se expande en facebook "SEMITUTORIAL NOVATO"

Iniciado por M1CR0B110

Respuestas: 1
Vistas: 1961
Último mensaje Agosto 14, 2013, 09:48:38 pm
por Psymera