Process-Dump: vuelca PE de Windows de memoria a disco

Una tarea recurrente de un analista de malware es volcar el código desempaquetado o inyectado de la memoria a disco para su posterior análisis estático con alguna herramienta como IDA o OllyDBG.

Con Process Dump 1.5 podrás hacerlo fácilmente en Windows y desde la línea de comandos. Funciona en 32 y 64 bits, utiliza un enfonque de importación y reconstrucción agresivo y permite volcar regiones de memoria sin cabeceras PE (en esos casos se generarán automáticamente junto con las tablas de importación).

Process Dump soporta también la creación y uso de una base de datos de hashes "limpios", por lo que el volcado de archivos limpios como kernel32.dll se puede omitir.

A continuación veremos algunos ejemplos de uso.

- Volcar todos los módulos de todos los procesos (ignorando los módulos limpios conocidos):

     pd64.exe -system

- Volcar todos los módulos de un identificador de proceso específico:

   pd64.exe -pid 0x18A

- Volcar todos los módulos de un nombre de proceso:

   pd64.exe -p .chrome.

- Crear una base de datos de hashes "limpios". Estos hashes serán usados para excluir algunos módulos del volcado con el siguiente comando:

    pd64.exe -db gen

- Volcar el código de una dirección específica en el PID PID 0x1a3:

    pd64.exe -pid 0x1a3 -a 0xffb4000
   
    Esto genererá dos ficheros (de 32 y 64 bits) con la cabeceras del PE y tabla de importación generada que pueden ser cargados para analizarlos con IDA: notepad_exe_x64_hidden_FFB40000.exe notepad_exe_x86_hidden_FFB40000.exe
   
Descargar archivo ejecutable para Windows 32 y 64 bit: pd_latest (100.32 KB)
o puede construirse utilizando Visual Studio aquí.

Fuentes

http://split-code.com/processdump.html
https://github.com/glmcdona/Process-Dump

Comentarios