Dr.Semu Dr.Semu

[Das Tool befindet sich in der frühen Entwicklungsphase]
Mit Dr.Semu können Sie Regeln erstellen, um Malware basierend auf dynamischem Verhalten eines Prozesses zu erkennen.
Alles geschieht vom Benutzermodus. Windows Projected Dateisystem (ProJFS) wird verwendet, um ein virtual Dateisystem bereitzustellen. Für die Umleitung von Registrierung kloniert sie alle Registrierungs -Nesselsucht an einen neuen Standort und leitet alle Registrierungszugriffe um.
Weitere Informationen zu anderen Umleitungen (Prozess/Objektisolation usw.) finden Sie im Quellcode.
Dr.Semu verwendet Dynamorio (Dynamic Instrumentation Tool-Plattform), um einen Thread abzufangen, wenn er die Benutzer-Kernel-Linie überqueren soll. Es hat den gleichen Effekt wie das Haken von SSDT , jedoch aus dem Benutzermodus und ohne etwas zu hängen.
In dieser Phase erstellt Dr.Semu eine JSON -Datei, die Informationen aus der Abfangen enthält.
Nach Beendigung des Prozesses, basierend auf den Dr.Semu -Regeln, die wir erhalten, wenn die ausführbare Datei als Malware erkannt wird oder nicht.
Dr.Semu Regeln/Erkennungen
Sie sind in Python oder LUA (unter dr_rules ) geschrieben und verwenden dynamische Informationen aus dem Abfangen und statischen Informationen über das Beispiel. Es ist trivial, andere Sprachen zu unterstützen.

Beispiel ( Python ): https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
Beispiel ( Lua ): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
PowerShell , um ProjFS in einem erhöhten PowerShell -Fenster zu ermöglichen: Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
Laden Sie eine ZIP -Datei von der Releases -Seite herunter und extrahieren Sie eine ZIP -Datei
Laden Sie DynamoRIO herunter und extrahieren Sie in DrSemu -Ordner und werden in dynamorio umbenennen
Installieren Sie Python 3 x64
DrSemu.exe --target file_path
DrSemu.exe --target files_directory

PowerShell , um ProjFS in einem erhöhten PowerShell -Fenster zu ermöglichen: Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

Installieren Sie Python 3 x64
Laden Sie DynamoRIO herunter und extrahieren Sie in bin -Ordner und werden in dynamorio umbenennen
Bauen Sie pe-parser-library.lib -Bibliothek:
DrSemushared_libspe_parse mit CMake-Guibuild ( shared_libspe_parsebuildpe-parser-libraryRelease ) und 64-Bit unter build64Multi-threaded ( /MT ) Setzen Sie LauncherCLI als Startprojekt
Windows 10 , Version 1809 (aufgrund des Windows Projected File System )Windows 10 , Version 1809 ( DynamoRIO unterstützt Windows 10 -Versionen bis 1809 )