You are here: Home » Blog » Adquisición de Memoria RAM en Linux con LiME

Adquisición de Memoria RAM en Linux con LiME

LiME o Linux Memory Extractor es un módulo que se carga en el Kernel para adquirir un volcado de la memoria RAM en cualquier sistema Linux, incluído Android.

LiME puede ser descargado desde la siguiente URL https://github.com/504ensicslabs/lime 

LiME Download

 

Para el laboratorio vamos a utilizar 2 máquinas linux, una será la maquina a examinar (victima) y la otra será la máquina del analista forense (analista).

Instalación:

Instalar los headers del kernel

sudo apt-get install linux-headers-

uname -r

En la máquina victima vamos a descargar y a compilar LiME

Downloading LiME

Descomprimimos el archivo e ingresamos a la ruta correspondiente

Unzip LiME

 

Con el comando make compilamos LiME, este proceso creará un módulo con extensión .ko

LiME make

 

Con la herramienta insmod cargamos el módulo al kernel y lanzamos el volcado de memoria sobre un puerto TCP.

insmod lime-3.14-kali1-486.ko “path=tcp:4444 format=lime”

LiME Network acquiring memory

 

Este proceso creará un socket, ahora nos conectamos desde la máquina analista al socket

Selección_999(533)

 

La dirección IP es la del equipo victima, una vez finalice la conexión de netcat habrá finalizado la adquisición del volcado de memoria.

Generamos un hash del volcado de memoria.

Selección_999(534)

 

Nota: El tamaño del archivo será proporcional al tamaño de la memoria física de la maquina victima, así que se recomienda tener paciencia durante el proceso de volcado y contar con espacio en disco disponible. En este ejemplo la máquina virtual (victima) contaba con solo 1 GB de RAM aprovisionada.

Selección_999(535)

 

Si se va a repetir el proceso en la misma máquina puede que aparezca el siguiente error:

Error: could not insert module lime-3.14-kali1-486.ko: File exists

Para solucionarlo basta con remover el modulo del kernel con el comando.

rmmod lime

En este ejemplo vimos como realizar el volcado a través de la red la cuál es la práctica más recomendable, sin embargo también se podría volcar directamente a un medio extraíble.

 insmod lime-3.X.X-X-generic.ko “path=/media/dvirus/memoryRAM.lime format=lime”

Es importante evitar lanzar el volcado sobre el disco de la máquina comprometida ya que esto sobreescribe el espacio libre sobre el disco de la máquina y estaríamos contaminando la evidencia.

En próximas entradas veremos como usar volatility para analizar el volcado de memoria obtenido.

Referencias:

1. https://github.com/504ensicslabs/lime

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