Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Process-Dump — Herramienta de Windows para volcar archivos PE de malware desde la memoria al disco para su análisis. | Kitploit
Herramientas/GitHubGitHub/glmcdona/process-dump
Forensia de MemoriaIngeniería InversaAnálisis ForenseAnálisis de MalwareAnálisis de Binarios
GitHubglmcdona/process-dump

Process-Dump

Herramienta de Windows para volcar archivos PE de malware desde la memoria al disco para su análisis.

Ver Repositorio
1.9k283hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Process Dump

Process Dump es una herramienta de línea de comandos de ingeniería inversa para Windows que permite volcar componentes de memoria de malware de vuelta al disco para su análisis. A menudo, los archivos de malware están empaquetados y ofuscados antes de ejecutarse para evitar los escáneres antivirus; sin embargo, cuando estos archivos se ejecutan, suelen desempaquetar o inyectar una versión limpia del código malicioso en la memoria. Una tarea común para los investigadores de malware al analizar muestras es volcar este código desempaquetado desde la memoria al disco para escanearlo con productos antivirus o analizarlo con herramientas de análisis estático como IDA.

Process Dump funciona en sistemas operativos Windows de 32 y 64 bits y puede volcar componentes de memoria de procesos específicos o de todos los procesos en ejecución. Permite crear y usar una base de datos de hashes limpios, de modo que se pueda omitir el volcado de archivos limpios como kernel32.dll. Sus principales características incluyen:

  • Vuelca código de un proceso específico o de todos los procesos.
  • Encuentra y vuelca módulos ocultos que no están cargados correctamente en los procesos.
  • Encuentra y vuelca fragmentos de código sueltos incluso si no están asociados a un archivo PE. Construye una cabecera PE y una tabla de importación para los fragmentos.
  • Reconstruye las importaciones mediante un enfoque agresivo.
  • Puede ejecutarse en modo de monitor de volcado cercano ('-closemon'), donde los procesos se pausan y se vuelcan justo antes de que terminen.
  • Es multihilo, por lo que al volcar todos los procesos en ejecución lo hace con bastante rapidez.
  • Puede generar una base de datos de hashes limpios. Genérela antes de que una máquina se infecte con malware para que Process Dump solo vuelque los nuevos componentes maliciosos del malware.

Mantengo una versión compilada oficial en mi sitio web aquí: https://split-code.com/processdump.html

Instalación

Puede descargar la última versión compilada de Process Dump aquí:

  • https://github.com/glmcdona/Process-Dump/releases

Compilación del código fuente

Está diseñado para Visual Studio 2019 y funciona con la edición Community gratuita. Simplemente abra el archivo del proyecto con VS2019 y compile, ¡debería ser así de fácil!

Argumentos de línea de comandos

Process Dump se puede utilizar para volcar todo el código desconocido de la memoria (bandera '-system'), volcar procesos específicos, o ejecutarse en un modo de monitoreo que vuelca todos los procesos justo antes de que terminen.

Antes del primer uso de esta herramienta, en una estación de trabajo limpia, la base de datos de hashes de exclusión limpia se puede generar mediante:

  • pd -db genquick
  • pd -db gen

Ejemplos de uso:

  • pd -system
  • pd -pid 419
  • pd -pid 0x1a3
  • pd -pid 0x1a3 -a 0x401000 -o c:\dump\ -c c:\dump\test\clean.db
  • pd -p chrome.exe
  • pd -p "(?i).*chrome.*"
  • pd -closemon

Los argumentos de línea de comandos se pueden agrupar de la siguiente manera:

Opciones generales de volcado

Opciones de base de datos de hashes limpios

Opciones de salida

OpciónDescripción
-vModo detallado donde se imprimirán más detalles para depuración.
-nhNo se imprime ningún encabezado en la salida.

Opciones avanzadas

Ejemplos de uso

Claro, aquí hay una versión más simplificada de la información:

Uso en entornos sandbox

Al usar Process Dump en un sandbox automatizado o para investigación manual de antimalware, los siguientes pasos pueden ser útiles. Asegúrese de ejecutar todos los comandos como Administrador en un entorno limpio.

  • Construir la base de datos de hashes limpios: Ejecute pd64.exe -db gen o, para un proceso más rápido pero menos completo, use pd64.exe -db genquick. Dependiendo de su situación, es posible que desee tomar una instantánea de su máquina virtual después de crear esta base de datos de hashes limpios para no tener que repetirlo cada vez.

  • Iniciar el monitor de terminación de Process Dump: Mantenga pd64.exe -closemon ejecutándose en segundo plano. Volcará todos los procesos intermedios utilizados por el malware.

  • Ejecutar el archivo de malware: Monitoree la instalación del malware. pd64.exe volcará automáticamente cualquier proceso que intente cerrarse.

  • Volcar el malware en ejecución de la memoria: Cuando esté listo, use pd64.exe -system para volcar todos los procesos.

Los componentes volcados se encontrarán en el directorio de trabajo de pd64.exe. Para cambiar la ruta de salida, use la bandera -o.

Notas sobre la convención de nombres de módulos volcados:

  • 'hiddemodule' en el nombre del archivo en lugar del nombre del módulo indica que el módulo no estaba registrado correctamente en el proceso.
  • 'codechunk' en el nombre del archivo significa que es un volcado reconstruido a partir de una región ejecutable suelta. Puede ser, por ejemplo, código inyectado que no tenía una cabecera PE. Los codechunks se vuelcan dos veces, una con una cabecera x86 reconstruida y otra con una cabecera x64 reconstruida.

Ejemplos de nombres de archivos volcados:

  • notepad_exe_PID2990_hiddenmodule_16B8ABB0000_x86.dll
  • notepad_exe_PID3b5c_notepad.exe_7FF6E6630000_x64.exe
  • notepad_exe_PID2c54_codechunk_17BD0000_x86.dll
  • notepad_exe_PID2c54_codechunk_17BD0000_x64.dll

Historial de versiones

Versión 2.1 (12 de febrero de 2017)

  • Se corrigió un error por el cual la última sección en algunos casos se rellenaba con ceros. Gracias a megastupidmonkey por reportar este problema.
  • Se corrigió un error por el cual las direcciones base de 64 bits se truncaban a una dirección de 32 bits. Ahora mantiene correctamente la dirección base completa de 64 bits del módulo. Gracias a megastupidmonkey por reportar este problema.
  • Se abordó un problema por el cual el monitor de volcado de cierre de procesos causaba un bloqueo en csrss.exe.
  • Se detuvo que Process Dump enganchara su propio proceso en el modo de monitor de cierre.

Versión 2.0 (18 de septiembre de 2016)

  • Se añadió la nueva bandera '-closemon' que ejecuta Process Dump en un modo de monitoreo. Pausará y volcará cualquier proceso justo cuando se cierre. Está diseñado para funcionar bien con sandboxes de análisis de malware, para asegurar el volcado del malware de la memoria antes de que el proceso malicioso se cierre.
  • Se actualizó Process Dump para que sea multihilo. Los comandos que vuelcan u obtienen hashes de múltiples procesos ejecutarán hilos separados por operación. El número predeterminado de hilos es 16, lo que acelera significativamente el procesamiento de volcado general de Process Dump.
  • Se actualizó Process Dump para volcar fragmentos de código no adjuntos encontrados en la memoria. Estos se identifican como regiones ejecutables en la memoria que no están adjuntas a un módulo y no tienen una cabecera PE. También requiere que el fragmento de código haga referencia al menos a 2 importaciones para considerarse válido y así reducir el ruido. Al volcarse, se recrea una cabecera PE junto con una tabla de importación. Los fragmentos de código son completamente compatibles con la base de datos de hashes limpios.
  • Se añadieron banderas para controlar la ruta del archivo de la base de datos de hashes limpios, así como la carpeta de salida para los archivos volcados.
  • Corrección al generar la base de datos de hashes limpios desde la ruta del usuario que causaba un bloqueo.
  • Corrección a la bandera '-g' que fuerza la generación de cabeceras PE. Antes, incluso si esta bandera estaba configurada, los volcados de sistema (-system) ignoraban esta bandera al volcar un proceso.
  • Varias mejoras de rendimiento.
  • Proyecto actualizado a VS2015.

Versión 1.5 (21 de noviembre de 2015)

  • Se corrigió un error por el cual regiones de memoria muy grandes causaban que Process Dump se colgara.
  • Se corrigió un error por el cual algunos módulos en direcciones altas no se encontraban en Windows de 64 bits.
  • Ahora se muestra más información de depuración en el modo detallado.

Versión 1.4 (18 de abril de 2015)

  • Se añadió un nuevo enfoque agresivo de reconstrucción de importaciones. Ahora parchea todos los DWORD y QWORD en el módulo con la correspondiente coincidencia de exportación.
  • Se añadió la bandera '-a (dirección a volcar)' para volcar una dirección específica. Generará cabeceras PE y construirá una tabla de importación para la dirección.
  • Se añadió la bandera '-ni' para omitir el nuevo algoritmo de reconstrucción de importaciones.
  • Se añadió la bandera '-g' para forzar la generación de una nueva cabecera PE incluso si ya existe una al volcar un módulo. Esto es útil si, por ejemplo, la cabecera PE tiene un formato incorrecto.
  • Varias correcciones de errores.

Versión 1.3 (10 de octubre de 2013)

  • Mejora en el manejo de cabeceras PE con secciones que especifican tamaños y direcciones virtuales inválidos.
  • Mejor metodología de volcado de módulos para volcar secciones virtuales a secciones de disco.

Versión 1.1 (8 de abril de 2013)

  • Se corrigió un problema de compatibilidad con Windows XP.
  • Se corrigió un error por el cual process dump imprimía que estaba volcando un módulo pero en realidad no lo volcaba.
  • Se implementó la bandera de volcado '-pid '.

Versión 1.0 (2 de abril de 2013)

  • Versión inicial.
Descargar herramienta
OpciónDescripción
-systemVuelca todos los módulos que no coinciden con la base de datos de hashes limpios de todos los procesos accesibles en el directorio de trabajo.
-pid <pid>Vuelca todos los módulos que no coinciden con la base de datos de hashes limpios del PID especificado en el directorio de trabajo actual. Use un prefijo '0x' para especificar un PID hexadecimal.
-closemonSe ejecuta en modo monitor. Cuando algún proceso esté terminando, Process Dump volcará primero ese proceso.
-p <nombre de proceso regex>Vuelca todos los módulos que no coinciden con la base de datos de hashes limpios del nombre de proceso que coincida con el filtro, en el directorio de trabajo actual.
-a <dirección base del módulo>Vuelca un módulo en la dirección base especificada desde el proceso.
-o <ruta>Establece la carpeta raíz de salida predeterminada para los componentes volcados.
OpciónDescripción
-db genProcesa automáticamente algunas carpetas comunes, así como todos los procesos en ejecución, y agrega los hashes de los módulos encontrados a la base de datos de hashes limpios. Agregará todos los archivos de forma recursiva en: %WINDIR%, %HOMEPATH%, C:\Program Files\, C:\Program Files (x86)\, así como todos los módulos en todos los procesos en ejecución. Estos hashes limpios se agregarán al archivo clean.hashes en el directorio de la aplicación. Durante futuros comandos de volcado de procesos, estos módulos conocidos no se volcarán. Se recomienda ejecutar este comando una vez en un sistema limpio antes de usar la herramienta para no volcar demasiados módulos de la memoria.
-db genquickIgual que el anterior, pero solo agrega los hashes de todos los módulos en todos los procesos a la base de datos de hashes limpios. Esta es una forma mucho más rápida de construir la base de datos de hashes limpios, pero será menos completa.
-db add <dir>Agrega todos los archivos en el directorio especificado de forma recursiva a la base de datos de hashes limpios.
-db rem <dir>Elimina todos los archivos en el directorio especificado de forma recursiva de la base de datos de hashes limpios.
-nrDeshabilita la recursividad en los comandos de agregar o eliminar directorios de la base de datos de hashes.
-db cleanLimpia la base de datos de hashes limpios.
-db ignoreIgnora la base de datos de hashes limpios al volcar un proceso esta vez. Todos los módulos se volcarán incluso si se encuentra una coincidencia.
-cdb <ruta de archivo>Ruta completa al archivo de base de datos de hashes limpios que se usará en esta ejecución si desea anular el valor predeterminado de clean.hashes.
-edb <ruta de archivo>Ruta completa al archivo de base de datos de hashes de punto de entrada para esta ejecución.
-esdb <ruta de archivo>Ruta completa al archivo de base de datos de hashes cortos de punto de entrada para esta ejecución.
OpciónDescripción
-gFuerza la generación de cabeceras PE desde cero, ignorando las cabeceras existentes.
-eprecFuerza la reconstrucción del punto de entrada, incluso si parece existir uno válido.
-niDeshabilita la reconstrucción de importaciones.
-ncDeshabilita el volcado de regiones de código sueltas.
-ntDeshabilita el multihilo.
-nepDeshabilita el hashing del punto de entrada.
-t <número de hilos>Establece el número de hilos a utilizar (predeterminado 16).
ComandoDescripción
pd64.exe -db genquickConstruye rápidamente la base de datos de módulos limpios basada en los procesos en ejecución actuales. Process Dump en tareas posteriores solo volcará módulos no reconocidos.
pd64.exe -systemVuelca todos los módulos y fragmentos ocultos de todos los procesos ignorando los módulos limpios.
pd64.exe -closemonEjecuta el modo monitor de terminación. Esto volcará todos los procesos cuando intenten terminar.
pd64.exe -pid 0x18AVuelca módulos y fragmentos ocultos de un ID de proceso específico.
pd64.exe -p .\*chrome.\*Vuelca módulos y fragmentos ocultos por nombre de proceso.
pd64.exe -db genConstruye una base de datos de hashes limpios de módulos conocidos. Esto se utiliza para evitar volcar módulos buenos conocidos en tareas posteriores.
pd64.exe -pid 0x1a3 -a 0xffb4000Vuelca código desde una dirección específica en el PID. Esto generará dos archivos para análisis, con cabeceras PE reconstruidas de 32 y 64 bits: notepad_exe_x64_hidden_FFB40000.exe y notepad_exe_x86_hidden_FFB40000.exe.