GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar y utilizar la herramienta forense de memoria de volatilidad

Una de las partes importantes del análisis de malware es el análisis de la memoria de acceso aleatorio (RAM). Ayuda a identificar procesos maliciosos en ejecución, actividades de red, conexiones abiertas, etc. en el sistema comprometido. Este artículo trata sobre la herramienta de seguridad de código abierto "Volatility" para el análisis de memoria volátil. Se puede usar para el análisis de RAM de sistemas de 32/64 bits y admite el análisis de sistemas Windows, Linux, Mac y Android. Volatility Framework se implementa en el lenguaje de secuencias de comandos Python y se puede usar fácilmente en los sistemas operativos Linux y Windows. Se utiliza para analizar volcados de emergencia, volcados sin procesar, volcados de VMware y VirtualBox. Las técnicas de extracción se realizan de manera completamente independiente del sistema que se está investigando y brindan una visibilidad completa del estado de tiempo de ejecución del sistema. Por lo tanto, este artículo trata sobre el análisis forense del volcado de memoria RAM utilizando la herramienta de volatilidad. El complemento de volatilidad "malfind" ayuda a volcar el proceso malicioso y lo analiza. Otro complemento de la volatilidad es "cmdscan", que también se usa para enumerar los últimos comandos en la máquina comprometida. En esta investigación forense, se utilizarán recursos en línea como el sitio web “virustotal” y “payload security” para verificar los resultados. Al final, se utilizarán Windows Defender y Malware Bytes para escanear los programas maliciosos.

Soporte de formato de memoria

El siguiente formato de memoria es compatible con la última versión de Volatility [1].

  • Memoria física sin procesar/acolchada
  • Firewire (IEEE 1394)
  • Testigo experto (EWF)
  • Volcado por caída de Windows de 32 y 64 bits
  • Hibernación de Windows de 32 y 64 bits
  • Archivos MachO de 32 y 64 bits
  • Volcados de núcleo de Virtualbox
  • Estado guardado de VMware (.vmss) e instantánea (.vmsn)
  • Formato HPAK (FastDump)
  • Volcados de memoria QEMU

Instalación

La herramienta Volatility está disponible para los sistemas operativos Windows, Linux y Mac. Para los sistemas operativos Windows y Mac, los ejecutables independientes están disponibles y se pueden instalar en Ubuntu 16.04 LTS usando el siguiente comando.

apt-get install volatility

Análisis de memoria

En este tutorial, el análisis forense del volcado de memoria sin procesar se realizará en la plataforma Windows utilizando el ejecutable independiente de la herramienta Volatility. Es común en el proceso de investigación que el investigador forense pueda encontrar varios programas maliciosos en el disco duro comprometido. Por lo tanto, el análisis de la memoria se vuelve muy importante en tales eventos porque un programa malicioso o malware puede estar ejecutándose en el sistema comprometido.

Verificación de integridad

El hash MD5 del volcado de memoria del sistema malicioso se proporciona a continuación. Se calcula para verificar la imagen adquirida antes de iniciar el análisis forense.

MD5:               ee043142485a83f4d49a3a7899408500             

Análisis de volatilidad

La herramienta Volatility se usa para determinar si la PC está infectada o no. Como sabemos, el programa malicioso se puede extraer de los procesos en ejecución desde el volcado de memoria. Entonces, en primer lugar, se requiere identificar los "perfiles" admitidos para la imagen de memoria volcada. Como se muestra a continuación, el siguiente comando se utiliza para identificar los "perfiles" de la imagen.

"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" imageinfo -f memdump3.raw

Por lo tanto, los siguientes dos perfiles son sugeridos por el comando "imageinfo".

Win7SP0x86 , Win7SP1x86

Ahora, el comando mencionado a continuación se usa para obtener una lista de procesos en ejecución en el volcado de memoria.

"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pslist -f memdump3.raw

parte-1                                                                                 

parte-2

El complemento "pslist" de la herramienta de volatilidad muestra los procesos en el volcado de memoria. Como se muestra en el resultado anterior, pocos programas son como “0KqEC12.exe ” y “rdpclip.exe ” son nuevos en el sistema operativo Windows. Estas pueden ser aplicaciones maliciosas o nuevas para el sistema operativo Windows. Del mismo modo, varios "iexplore.exe ” programas también parecen sospechosos.

Entonces, el propósito del siguiente comando es mostrar los procesos en formato de árbol (principal/secundario). Esto mostrará la vinculación del proceso con el proceso principal. Nos ayudará a identificar el proceso padre del programa malicioso.

 "E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pstree -f memdump3.raw

parte-1

parte-2

Como se muestra en el resultado anterior de “pstree ” complemento de la herramienta Volatility, los procesos se muestran con sus PID y PPID. Hemos resaltado los programas maliciosos para una mayor investigación de la máquina víctima. Ahora, “malfind El complemento (que se usa para detectar archivos DLL maliciosos en el proceso) de Volatility se usará contra los procesos resaltados.

ID de proceso:1120 (svchost.exe)

El siguiente comando con malfind switch se utiliza para volcar las DLL maliciosas en el directorio de "salida".

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1120 -p 1120 -f memdump3.raw

Como se muestra a continuación, el complemento malfind no encuentra ningún dll.

ID de proceso:1788 (rdpclip.exe)

Vuelva a ejecutar el mismo comando con PID 1788 para extraer la DLL del proceso. Sin embargo, el complemento no encuentra ninguna DLL.

E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1788 -p 1788 -f memdump3.raw

ID de proceso:2104 (explorer.exe)

Como se muestra a continuación, el siguiente comando se ejecuta con PID "2104" y malfind extrajo las DLL del proceso.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2104 -p 2104 -f memdump3.raw

La salida del complemento malfind muestra el volcado de archivos DLL extraídos del proceso malicioso.

Id. de proceso:2240(0kqEC12.exe)

El complemento malfind se ejecuta en PID "2240", lo que parece sospechoso para el sistema operativo Windows.

E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2240 -p 2240 -f memdump3.raw

La salida del complemento malfind para PID "2240" se muestra a continuación.

ID de proceso:2840 (iexplore.exe)

El resultado de la herramienta de volatilidad contra el PID "2840" se muestra a continuación.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2840 -p 2840 -f memdump3.raw

Este proceso también parece malicioso porque también usa el mismo nombre que el proceso de Windows "iexplorer".

ID de proceso:2364 (iexplore.exe)

Del mismo modo, malfind se ejecuta contra el programa malicioso "iexplore" con PID "2364".

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2364 -p 2364 -f memdump3.raw

El volcado de malfind contra PID "2364" se muestra a continuación.

ID de proceso:3728 (iexplore.exe)

Como se muestra a continuación, el complemento de volatilidad para descargar programas maliciosos se ejecuta contra el PID "3728"

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-3728 -p 3728 -f memdump3.raw

La siguiente instantánea muestra el volcado del complemento malfind contra el PID "3728".

Resultados del escaneo

Los volcados de los programas maliciosos se escanean usando Windows Defender y Malware bytes.

 Defensor de Windows

El resultado del escaneo de Windows Defender se muestra a continuación y se identifica como "Trojan:Win32/EyeStye.N"  y  "Trojan:Win32/EyeStye.plugin"

Los detalles de los troyanos se dan a continuación.

Este troyano registra las pulsaciones de teclas, monitorea la actividad de Internet y roba ciertas credenciales de inicio de sesión, luego envía los datos capturados a un atacante remoto para obtener ganancias financieras. Puede descargar malware adicional, reducir la seguridad del navegador web y usar un rootkit para ocultar su actividad maliciosa [2]. El malware utiliza la inyección de código para dificultar la detección y eliminación. Cuando se ejecuta "EyeStye.N", puede inyectar código en procesos en ejecución como cmd.exe y explorer.exe.

Nuestro análisis muestra que el programa malicioso se inyecta en el programa "explorer.exe", que es el padre de los programas maliciosos "iexplore.exe".

 MalwareBytes

La siguiente instantánea muestra que MalwareBytes también detectó archivos DLL extraídos como maliciosos y los denominó "Trojan.Grabber".

  Historial de comandos (historial de CMD)

  Otro complemento de las herramientas de volatilidad es "cmdscan", que busca el historial de comandos ejecutados en la máquina. El resultado del siguiente comando muestra el historial de comandos ejecutados en la PC comprometida.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 cmdscan -f memdump3.raw

El resultado de "cmdscan" muestra que el atacante ejecutó varios comandos en el símbolo del sistema y ejecutó el programa malicioso "iexplorer.exe" y "ieplore.exe". Otro sospechoso que se muestra en el resultado anterior es "_lt112.spn". Se busca en los recursos en línea y el resultado muestra que está vinculado con el programa de malware.

archivo _lt112.spn

El analista buscó "_lt112.spn ” en Internet y lo encontré en los siguientes sitios.

  • https://malwr.com/analysis/ODMwYzM1NGViZDkwNDc4YTllYWU4ZTVlMTE1YzJmNGQ/

  • https://www.hybrid-analysis.com/sample/1416ff3fca01d4d4854799f2d3880fb6e100de3f7fa1c54465d4d6b9cf9b5d96?environmentId=100

 Conexión de red

Como sabemos que la conexión de red se puede encontrar en el análisis de la memoria, el complemento "netscan" se ejecuta contra la imagen de la memoria y el resultado muestra que el programa malicioso "iexplore" abrió varias conexiones en la máquina de la víctima.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 netscan -f memdump3.raw

Parte-1

Parte 2

Parte-3

Entonces, el análisis detallado de la memoria muestra que la PC está comprometida con el malware que se ejecuta como "explorer.exe" e "iexplore.exe" en la máquina víctima. También muestra que el programa malicioso “iexplore.exe” se está conectando en el puerto 80 desde la máquina de la víctima.

 Referencias

  1. http://www.volatilityfoundation.org/24
  2. https://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Trojan:Win32/EyeStye.N


Linux
  1. Cómo instalar y usar telnet en Kali Linux

  2. Cómo instalar y usar Helm en Kubernetes

  3. Cómo instalar y usar Flatpak en Linux

  4. Cómo instalar y usar Traceroute en Linux

  5. Cómo instalar y usar la herramienta de línea de comandos Mosh Linux

Cómo instalar y usar R en Ubuntu

Cómo instalar y usar la herramienta Pigz en Linux

Cómo instalar y usar el comando fd en Linux

Cómo instalar y usar Nu Shell en Linux

Cómo instalar y usar la herramienta de monitoreo de recursos Bpytop en Ubuntu 20.04

Cómo instalar y usar Docker en AlmaLinux 8