Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DotDumper — Ein automatischer Entpacker und Logger für auf das DotNet Framework abzielende Dateien | Kitploit
Tools/GitHubGitHub/advanced-threat-research/dotdumper
Dynamische Analyse (Sandboxing)SpeicherforensikReverse EngineeringDebuggerForensikMalware-AnalyseBinäranalyse
GitHubadvanced-threat-research/dotdumper

DotDumper

Ein automatischer Entpacker und Logger für auf das DotNet Framework abzielende Dateien

Repository anzeigen
2663126vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Das DotDumper-Logo, ein Kipplaster

DotDumper

Ein automatischer Unpacker und Logger für .NET Framework-basierte Dateien! Dieses Tool wurde auf der Black Hat USA 2022 vorgestellt. Auf der Black Hat Asia 2023 wurden DotDumperGUI und DotDumperNative zusammen mit Version 1.1-stable von DotDumper veröffentlicht. Diese drei Tools sind für den gemeinsamen Einsatz gedacht, wobei DotDumper 1.1-stable die DLLs von DotDumperNative benötigt, während DotDumperGUI als grafische Benutzeroberfläche zum Öffnen und Filtern der JSON-Ausgabe von DotDumper-Durchläufen dient.

Die automatische Erkennung und Klassifizierung einer beliebigen Datei auf zuverlässige Weise wird oft als der heilige Gral der Malware-Analyse angesehen. Die Hindernisse und Mühen, dorthin zu gelangen, sind zahlreich, weshalb die Erstellung eines solchen Systems hoch geschätzt wird. Bei .NET-basierten Binärdateien zielt unser neues Open-Source-Tool DotDumper darauf ab, bei mehreren entscheidenden Schritten auf dem Weg zu helfen: Protokollierung von (In-Memory-)Aktivitäten, Dumping interessanter Speichersegmente und Extrahieren von Merkmalen aus der gegebenen Probe.

Inhaltsverzeichnis

  • Warum DotDumper?
  • Funktionen
    • Verwendung der Befehlszeilenschnittstelle
    • Protokollierung und Dumping
    • Reflexion
    • (Un-)verwaltete Hooks
    • Einfach erweiterbar
  • Sandbox-Timeout-Unterstützung
  • Unterschiede zu bekannten Tools
  • Zukünftige Arbeiten

Warum DotDumper?

Kurz gesagt, das manuelle Unpacking ist ein mühsamer Prozess, der für Analysten unverhältnismäßig viel Zeit in Anspruch nimmt. Obfuskierte Binärdateien erhöhen die Zeit, die ein Analyst für das Unpacking einer Datei aufwenden muss, weiter. Betrachtet man dies in großem Maßstab, benötigen Unternehmen zahlreiche Analysten, die täglich Malware sezieren, wahrscheinlich in Kombination mit einer skalierbaren Sandbox. Die wertvolle Zeit, die verloren geht, könnte stattdessen genutzt werden, um sich in interessante Kampagnen oder Proben zu vertiefen, um neue Bedrohungen aufzudecken, anstatt sich mit der alltäglichen, weit verbreiteten generischen Malware zu befassen. Schließlich suchen Analysten nach den wenigen Nadeln im Heuhaufen.

Welchen Unterschied macht DotDumper also? Die Ausführung einer .NET-basierten Malware-Probe über DotDumper liefert Protokolldateien von entscheidenden, kontextualisierenden und häufigen Funktionsaufrufen in drei Formaten (menschenlesbares Klartext, JSON und XML) sowie Kopien nützlicher In-Memory-Segmente. Dadurch kann ein Analyst das Funktionsaufruf-Protokoll überfliegen. Zudem können die gedumpten Dateien gescannt werden, um sie zu klassifizieren, was zusätzliche Einblicke in die Malware-Probe und die darin enthaltenen Daten bietet. Dies verkürzt die für Triage- und Incident-Response-Prozesse entscheidende Zeit und schafft Zeit für SOC-Analysten und Forscher für anspruchsvollere Analyseanforderungen.

Funktionen

Um die kontextualisierenden Funktionsaufrufe und deren Ergebnisse zu protokollieren und zu dumpen, verwendet DotDumper eine Mischung aus Reflexion und verwalteten Hooks, die alle in reinem C# geschrieben sind. Im Folgenden werden die wichtigsten Funktionen hervorgehoben und erläutert, in Kombination mit Auszügen aus den Ergebnissen von DotDumper zu einer gepackten AgentTesla-Stealer-Probe, deren Hashes unten aufgeführt sind.

Hash-TypHash-Wert
SHA-256b7512e6b8e9517024afdecc9e97121319e7dad2539eb21a79428257401e5558d
SHA-1c10e48ee1f802f730f41f3d11ae9d7bcc649080c
MD-523541daadb154f1f59119952e7232d6b

Verwendung der Befehlszeilenschnittstelle

DotDumper ist über eine Befehlszeilenschnittstelle mit einer Vielzahl von Argumenten zugänglich. Das folgende Bild zeigt das Hilfemenü. Beachten Sie, dass nicht alle Argumente besprochen werden, sondern hauptsächlich die am häufigsten verwendeten.

Das Befehlszeilenmenü von DotDumper

Die Mindestanforderung zum Ausführen einer Probe ist die Angabe des Arguments „-file“ zusammen mit einem Dateinamen oder Dateipfad. Wenn ein vollständiger Pfad angegeben wird, wird dieser verwendet. Wenn ein Dateiname angegeben wird, wird das aktuelle Arbeitsverzeichnis sowie der Ordner des DotDumper-Ausführungsverzeichnisses überprüft.

Sofern kein Verzeichnisnamen angegeben wird, wird der Ordnername „-log“ gleich dem Dateinamen der Probe ohne Erweiterung (falls vorhanden) gesetzt. Der Ordner befindet sich im selben Ordner wie DotDumper, in dem die Protokolle und gedumpten Dateien gespeichert werden.

Im Falle einer Bibliothek oder eines alternativen Einstiegspunkts in eine Binärdatei muss der Einstiegspunkt mit „-overrideEntry true“ überschrieben werden. Zusätzlich muss die vollständig qualifizierte Klasse, einschließlich des Namespace, mit „-fqcn My.NameSpace.MyClass“ angegeben werden. Dies teilt DotDumper mit, welche Klasse ausgewählt werden soll, aus der der angegebene Funktionsname (mittels „-functionName MyFunction“) abgerufen wird.

Wenn die ausgewählte Funktion Argumente erfordert, muss die Anzahl der Argumente mit „-argc“ und die Anzahl der erforderlichen Argumente angegeben werden. Die Argumenttypen und -werte sind als „string|myValue int|9“ anzugeben. Beachten Sie, dass bei Verwendung von Leerzeichen in den Werten das Argument in der Befehlszeilenschnittstelle in Anführungszeichen gesetzt werden muss, um sicherzustellen, dass es als einzelnes Argument übergeben wird.

Andere weniger häufig verwendete Optionen wie „-raceTime“ oder „-deprecated“ sind in ihren Standardeinstellungen sicher, könnten jedoch aufgrund von Änderungen im .NET Framework in Zukunft angepasst werden müssen. Sie sind derzeit in der Befehlszeilenschnittstelle verfügbar, um bei Bedarf einfache Änderungen zu ermöglichen, selbst wenn zu diesem Zeitpunkt eine ältere Version von DotDumper verwendet wird.

Protokollierung und Dumping

Protokollierung und Dumping sind die beiden Kernfunktionen von DotDumper. Um die für die Analyse benötigte Zeit zu minimieren, sollte die Protokollierung dem Analysten Kontext bieten. Dies wird erreicht, indem dem Analysten für jeden protokollierten Funktionsaufruf die folgenden Informationen bereitgestellt werden:

  • Eine Stack-Trace basierend auf dem Aufrufer der Funktion
  • Informationen zum Assembly-Objekt, von dem der Aufruf stammt, wie Name, Version und kryptografische Hashes
  • Die übergeordnete Assembly, von der der Aufruf stammt, falls es sich nicht um die ursprüngliche Probe handelt
  • Der Typ, der Name und der Wert der Funktionsargumente
  • Der Typ, der Name und der Wert des Rückgabewerts der Funktion, falls vorhanden
  • Eine Liste der auf die Festplatte gedumpten Dateien, die dem jeweiligen Funktionsaufruf entsprechen

Beachten Sie, dass für jede gedumpte Datei der Dateiname dem SHA-256-Hash der Datei entspricht.

Tool herunterladen