You are here: Home » Blog » Creación de perfiles linux para Volatility

Creación de perfiles linux para Volatility

En el artículo anterior vimos como realizar un volcado de memoria remoto mediante el uso de la herramienta LiME para su posterior análisis. Sin embargo antes de iniciar con el análisis mediante la herramienta volatility es indispensable entender como crear el perfil específico para el sistema operativo que vamos a analizar, aunque existen repositorios con perfiles creados, nos podemos encontrar con cientos de distribciones y variedades de versiones de kernel.

En los siguientes repositorios están disponibles varios perfiles para diferentes versiones de Linux.

https://github.com/volatilityfoundation/profiles

https://github.com/KDPryor/LinuxVolProfiles

Requerimientos:

A continuación veremos los paquetes a instalar para poder crear los perfiles. Estos paquetes deben ser instalados en la máquina que requerimos analizar.

dwarfdump:
dwarfdump

 

Herranmientas para compilar:

Compiler Tools

 

Cabeceras del kernel:

Kernel Headers

La creación de perfiles consiste en generar un conjunto de definiciones de estructura (VTypes) y  el archivo System.map para una versión particular de kernel.

Instalación de Volatility (Debian / Ubuntu)

sudo apt-get install volatility

En la ruta /usr/src/ se encuentra una carpeta llamada volatility tools

cd /usr/src/volatility-tools/linux

Ejecutamos el comando make para compilar el módulo y crear el Vtype.

volatility-tools make

Al terminar el proceso de compilación se creará un archivo llamado module.dwarf, copiamos este archivo a una carpeta donde almacenemos los perfiles.

module.dwarf

ej: /root/volatility/profiles/

Copiamos el archivo a la carpeta de perfiles

cp /usr/src/volatility-tools/linux/module.dwarf /root/volatility/profiles/

Copiamos el System.map desde la carpeta /boot a nuestra ruta de perfiles

cp /boot/System.map-3.14-kali1-486 /root/volatility/profiles/

Nota: El algunas oportunidades vamos a encontrar varios System.map se recomienda copiar la última versión dependiendo el kernel instalado, para eso se recomienda usar el comando:

cp /boot/System.map-$(uname -r) /root/volatility/profiles/

Creación del perfil

Ubicamos la carpeta de plugins de volatility con el comando:

find -name overlays | grep volatility

volatility plugins folder

Creamos el perfil con el comando (todo en una sola línea, reemplazar las rutas y nombre del Zip correspondiente):

zip /usr/lib/python2.7/dist-ackages/volatility/plugins/overlays/Kali3.14.zip

      /root/volatility/profiles/module.dwarf

      /root/volatility/profiles/System.map-3.14-kali1-486

En este ejemplo llamamos Kali3.14.zip el perfil ya que es el resultado del comando uname -a

El resultado de la ejecución deberá ser algo parecido a esto:

zip profile

Validamos si el proceso fue exitoso listando el perfil creado.

volatility –info | grep NombredelPerfil

Volatility Kali Profile

 

Probamos el perfil llamandolo desde volatility y utilizado el volcado de memoria

Selección_999(548)

 

Referencias:

1. Michael Hale Ligh, Andrew Case, Jamie Levy, AAron Walters. The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory, Julio 2014

Founder of http://hotfixed.net - Co-Founder of @BusyToneGroup and @S3cT0 | Penetration Tester | Security Consultant | Linux | VoIP

http://hotfixed.net