Que-es-Acquire-Volatile-Memory-for-Linux-Behackerpro-Ciberseguridad

¿Qué es Acquire Volatile Memory for Linux?

 

Acquire Volatile Memory for Linux (AVML por sus siglas en inglés) , es una herramienta desarrollada por el equipo de Microsoft, que permite realizar la adquisición del contenido de la memoria volátil, para llevarla a un almacenamiento no volátil. Esta herramienta es de carácter portable, lo cual facilita su utilización durante una de las tareas de adquisición de memoria.

 

¿Para qué sirve AVML?

 

AVML es una herramienta escrita en rust  sirve para obtener el contenido de la memoria volátil de un sistema Linux; una de las ventajas de esta herramienta, es que no necesita conocer de entrada la distribución basada en Linux o kernel que se está utilizando. Posterior a la adquisición del contenido de la memoria, podría analizarse el archivo resultante con las utilidades del framework volatility 

 

Puede entregar una salida utilizando el formato LiME y guardar las imágenes obtenidas en ubicaciones externas utilizando por ejemplo, Azure Blob Store.

 

¿Tengo que compilarlo e “instalarlo” como en el caso de otras herramientas?

 

Puede utilizar avml como una herramienta portable, basta tan solo con descargarla y ejecutarla, es decir, no tiene que compilar o instalar nada; lo cual es una gran ventaja ya que se reduce el “ruido” introducido en la imagen de la memoria obtenidoaposteriormente.  Puede descargarla de la sección Releases del github de Microsoft – imagen 1

 

También, puede ser compilada e instalada en distribuciones como Ubuntu, CentOS, RHEL, Debian y Oracle Linux.

 

AVML-Behackerpro-Ciberseguridad

imagen 1

 

Para obtener la versión portable, descargue el paquete avml, como puede ver en la imagen 2

 

AVML-Behackerpro-Ciberseguridad-img1

imagen 2

 

¿Fuentes de memoria?

 

La utilidad adquiere información de los siguientes archivos:

 

  • /dev/mem

  • /proc/kcore

  • /dev/crash

 

A continuación encontrará una breve descripción de cada archivo:

 

El archivo /dev/mem, es un archivo de dispositivo de caracteres que es una imagen de la memoria principal del computador; en la imagen 3, puede apreciar entre otras, la letra “c”, al inicio de la segunda línea (lo cual muestra que si es un archivo de dispositivo de caracteres)

 

AVML-Behackerpro-Ciberseguridad-img3

imagen 3

 

El archivo /proc/kcore representa la memoria física del sistema y está almacenado en el formato core.

 

/dev/crash utilizado para crear un kernel dump.

 

Datos importantes a considerar

 

  • Pruebe la herramienta en entornos controlados y, comprenda su funcionamientos antes de utilizarla en entornos de producción

  • No almacene la imagen obtenida en el equipo, máquina o sistema objeto del análisis.

  • Utilice otra máquina totalmente diferente para efectuar el análisis de la imagen adquirida

  • Calcule el hash de la imagen utilizando una función hash aceptable

  • Realice al menos tres copias de la imagen y realice su análisis solo en una de ellas.

 

Demostración

 

En el siguiente escenario se utilizó una máquina virtual con las características descritas en la tabla:

Hipervisor

VMware® Workstation 15 Pro

Sistema operativo VM

Debian GNU/Linux buster

Kernel

Linux debian 4.19.0-16-amd64

Memoria

4 GB

tabla 1

Nota: En este caso se descargó avml en la máquina objetivo del análisis, sin embargo, lo adecuado habría sido, traer la versión portable ya debidamente acondicionada en un pendrive debidamente preparado

 

En primer lugar se descargó avml en su versión 0.3.0, ver imagen 4

 

AVML-Behackerpro-Ciberseguridad-img4

 

Imagen 4

 

Ubique dentro del sistema Linux el paquete descargado, ver imagen 5

 

AVML-Behackerpro-Ciberseguridad-img5

imagen 5

 

A continuación utilice el comando file, para determinar el tipo de archivo (paso opcional), ver imagen 6:

 

AVML-Behackerpro-Ciberseguridad-img6

imagen 6

AVML-Behackerpro-Ciberseguridad-img7

imagen 7

 

Asígnele permisos de ejecución al paquete, con el comando $chmod +x, ver imagen 8

 

AVML-Behackerpro-Ciberseguridad-img8

imagen 8

 

Una vez asignado el permiso de ejecución, lo primero que se debe hacer antes de utilizar la herramienta, es ver el manual o obtener ayuda sobre la aplicación; puede hacerlo mediante la instrucción (ver imagen 9)

 

$./avml  –help 

 

AVML-Behackerpro-Ciberseguridad-img9

imagen 9

 

Posteriormente, voy a obtener la imagen de la memoria, el nombre del archivo de la imagen debe reflejar algunas de las condiciones relativas al sistema operativo y kernel; tenga en cuenta que debe ejecutar el comando con un usuario que tenga permisos de root, de no ser así va a obtener un error en la ejecución, ver imagen 10

 

AVML-Behackerpro-Ciberseguridad-img10

imagen 10 – Error al no utilizar “sudo” o el super usuario

 

tenga en cuenta que si no se le especifica ninguna fuente de información (–source), el itera entre las opciones que tiene disponibles; otro dato importante, si quiere obtener la salida en formato LiME, no utilice compresión, en la imagen 11, podrá observar la ejecución de la aplicación de forma correcta, para obtener la imagen en un archivo llamado “imagendelamemoria.dmp ver imagen 11

 

AVML-Behackerpro-Ciberseguridad-img11

imagen 11

 

A continuación se puede ver el archivo relacionado con la imagen obtenida, ver imagen 12

 

AVML-Behackerpro-Ciberseguridad-img12

imagen 12

 

Por último, calcule el hash de la imagen obtenida utilizando la función sha256 o superior

 

A partir de este momento, usted está listo para iniciar el análisis de la imagen de la memoria volátil obtenida utilizando avml, RECUERDE, la imagen se debe almacenar en un lugar diferente a la máquina objetivo de análisis y, el análisis de la imagen, debe realizarse en su estación forense u otro máquina diferente a la máquina objetivo

 

Recursos

https://github.com/microsoft/avml

https://www.rust-lang.org/

https://man7.org/linux/man-pages/man4/mem.4.html

The Art of Memory Forensics

 
 

¿Te gustó este post? por favor déjanos tus comentarios! Sé un buen HackerPro y comparte con tu comunidad! Suscríbete a Behackerpro

Otras Entradas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *