Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
DotDumper — Un desempaquetador y registrador automático para archivos dirigidos a DotNet Framework | Kitploit
Herramientas/GitHubGitHub/advanced-threat-research/dotdumper
Análisis Dinámico (Sandboxing)Forensia de MemoriaIngeniería InversaDepuradoresAnálisis ForenseAnálisis de MalwareAnálisis de Binarios
GitHubadvanced-threat-research/dotdumper

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 →

DotDumper

Un desempaquetador y registrador automático para archivos dirigidos a DotNet Framework

Ver Repositorio
2663117hace 3 añosRevisado por Kitploit
Compartir
El logotipo de DotDumper, un camión de descarga

DotDumper

¡Un desempaquetador y registrador automático para archivos orientados a DotNet Framework! Esta herramienta fue presentada en Black Hat USA 2022. En Black Hat Asia 2023, se publicaron DotDumperGUI y DotDumperNative, junto con la versión 1.1-estable de DotDumper. Estas tres herramientas están diseñadas para usarse juntas, donde DotDumper 1.1-estable requiere que las DLL de DotDumperNative estén presentes, mientras que DotDumperGUI está destinado a ser una interfaz gráfica de usuario para abrir y filtrar la salida JSON de las ejecuciones de DotDumper.

La detección y clasificación automática de cualquier archivo dado de manera confiable a menudo se considera el santo grial del análisis de malware. Las pruebas y tribulaciones para lograrlo son muchas, por lo que la creación de un sistema de este tipo es muy valorada. Cuando se trata de binarios orientados a DotNet, nuestra nueva herramienta de código abierto DotDumper tiene como objetivo asistir en varios pasos cruciales en el camino: registrar la actividad (en memoria), volcar segmentos de memoria interesantes y extraer características de la muestra dada.

Tabla de contenidos

  • ¿Por qué DotDumper?
  • Características
    • Uso de la interfaz de línea de comandos
    • Registro y volcado
    • Reflexión
    • Hooks (no) administrados
    • Fácilmente extensible
  • Soporte de tiempo de espera del sandbox
  • Diferencias con herramientas conocidas
  • Trabajo futuro

¿Por qué DotDumper?

En resumen, el desempaquetado manual es un proceso tedioso que consume una cantidad desproporcionada de tiempo para los analistas. Los binarios ofuscados aumentan aún más el tiempo que un analista debe dedicar para desempaquetar un archivo dado. Al escalar esto, las organizaciones necesitan numerosos analistas que diseccionen malware a diario, probablemente en combinación con un sandbox escalable. El valioso tiempo perdido podría usarse para profundizar en campañas o muestras interesantes para descubrir nuevas amenazas, en lugar del malware genérico mundano que está ampliamente extendido. Al fin y al cabo, los analistas buscan las pocas agujas en el pajar.

Entonces, ¿qué diferencia hace DotDumper? Ejecutar una muestra de malware basada en DotNet a través de DotDumper proporciona archivos de registro de llamadas a funciones cruciales, contextualizadoras y comunes en tres formatos (texto plano legible para humanos, JSON y XML), así como copias de segmentos de memoria útiles. De esta manera, un analista puede ojear el registro de llamadas a funciones. Además, los archivos volcados pueden escanearse para clasificarlos, proporcionando información adicional sobre la muestra de malware y los datos que contiene. Esto reduce el tiempo vital para los procesos de triaje y respuesta a incidentes, y libera tiempo de los analistas de SOC e investigadores para necesidades de análisis más sofisticadas.

Características

Para registrar y volcar las llamadas a funciones contextualizadoras y sus resultados, DotDumper utiliza una combinación de reflexión y hooks administrados, todo escrito en C# puro. A continuación, se destacarán y explicarán las características clave, junto con extractos de los resultados de DotDumper de una muestra empaquetada del ladrón AgentTesla, cuyos hashes se muestran a continuación.

Tipo de hashValor hash
SHA-256b7512e6b8e9517024afdecc9e97121319e7dad2539eb21a79428257401e5558d
SHA-1c10e48ee1f802f730f41f3d11ae9d7bcc649080c
MD-523541daadb154f1f59119952e7232d6b

Uso de la interfaz de línea de comandos

DotDumper es accesible a través de una interfaz de línea de comandos, con una variedad de argumentos. La imagen de abajo muestra el menú de ayuda. Tenga en cuenta que no se discutirán todos los argumentos, sino los más utilizados.

El menú de la interfaz de línea de comandos de DotDumper

El requisito mínimo para ejecutar una muestra dada es proporcionar el argumento -file, junto con un nombre de archivo o ruta de archivo. Si se proporciona una ruta completa, se utiliza. Si se proporciona un nombre de archivo, se verifica el directorio de trabajo actual, así como la carpeta de la ubicación del ejecutable de DotDumper.

A menos que se proporcione un nombre de directorio, el nombre de la carpeta -log se establece igual al nombre del archivo de la muestra sin la extensión (si la hay). La carpeta se ubica en la misma carpeta donde reside DotDumper, que es donde se guardarán los registros y los archivos volcados.

En el caso de una biblioteca, o un punto de entrada alternativo a un binario, se debe sobrescribir el punto de entrada usando -overrideEntry true. Además, se debe proporcionar la clase completamente calificada, que incluye el espacio de nombres, usando -fqcn Mi.NameSpace.MiClase. Esto le dice a DotDumper qué clase seleccionar, que es donde se recupera el nombre de la función proporcionada (usando -functionName MiFunción).

Si la función seleccionada requiere argumentos, se debe proporcionar el número de argumentos usando -argc y la cantidad de argumentos requeridos. Los tipos y valores de los argumentos deben proporcionarse como string|miValor int|9. Tenga en cuenta que cuando se usan espacios en los valores, el argumento en la interfaz de línea de comandos debe encapsularse entre comillas para garantizar que se pase como un solo argumento.

Otras opciones de uso menos frecuente, como -raceTime o -deprecated, son seguras en su configuración predeterminada, pero podrían requerir ajustes en el futuro debido a cambios en el marco DotNet. Actualmente están expuestas en la interfaz de línea de comandos para permitir cambios fácilmente, si es necesario, incluso si se está utilizando una versión anterior de DotDumper cuando llegue el momento.

Registro y volcado

El registro y el volcado son las dos características principales de DotDumper. Para minimizar la cantidad de tiempo que lleva el análisis, el registro debe proporcionar contexto al analista. Esto se hace proporcionando al analista la siguiente información para cada llamada a función registrada:

  • Un seguimiento de pila basado en el llamante de la función
  • Información sobre el objeto ensamblado de donde se originó la llamada, como el nombre, la versión y los hashes criptográficos
  • El ensamblado padre, del cual se origina la llamada si no es la muestra original
  • El tipo, nombre y valor de los argumentos de la función
  • El tipo, nombre y valor del valor de retorno de la función, si lo hay
  • Una lista de archivos que se vuelcan al disco que corresponden con la llamada a función dada

Tenga en cuenta que para cada archivo volcado, el nombre del archivo es igual al hash SHA-256 del archivo.

Descargar herramienta