Dr.Semu ejecuta ejecutables en un entorno aislado, monitorea el comportamiento de un proceso y, según las reglas Dr.Semu creadas por usted o la comunidad, detecta si el proceso es malicioso o no.

[La herramienta está en la etapa de desarrollo temprano]
Con Dr.Semu puede crear reglas para detectar malware en función del comportamiento dinámico de un proceso.
Todo sucede desde el modo de usuario. El sistema de archivos proyectados de Windows (ProJFS) se utiliza para proporcionar un sistema de archivos virtual . Para la redirección del registro, clona todas las colmenas de registro a una nueva ubicación y redirige todos los accesos de registro.
Consulte el código fuente para obtener más información sobre otras redirecciones (aislamiento de procesos/objetos, etc.).
Dr.Semu usa Dynamorio (plataforma de herramienta de instrumentación dinámica) para interceptar un hilo cuando está a punto de cruzar la línea del kernel de usuario. Tiene el mismo efecto que enganchar SSDT pero desde el modo de usuario y sin enganchar nada.
En esta fase, Dr.Semu produce un archivo JSON, que contiene información de la intercepción.
Después de terminar el proceso, según las reglas Dr.Semu que recibimos si el ejecutable se detecta como malware o no.
Dr.Semu Reglas/Detecciones
Están escritos en Python o LUA (ubicado bajo dr_rules ) y usan información dinámica de la intercepción e información estática sobre la muestra. Es trivial agregar el apoyo de otros idiomas.

Ejemplo ( Python ): https://gist.github.com/secrary/ac89321b8a7bde9998a6e3139be49eb72
Ejemplo ( Lua ): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa33
PowerShell para habilitar ProjFS en una ventana elevada PowerShell : Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
Descargar y extraer un archivo zip de la página de versiones
Descargar DynamoRIO y extraer en la carpeta DrSemu y cambiar el nombre de dynamorio
Instale Python 3 x64
DrSemu.exe --target file_path
DrSemu.exe --target files_directory

PowerShell para habilitar ProjFS en una ventana elevada PowerShell : Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

Instale Python 3 x64
Descargar DynamoRIO y extraer en la carpeta bin y cambiar el nombre de dynamorio
Construir pe-parser-library.lib Biblioteca:
DrSemushared_libspe_parse usando CMake-Guibuild ( shared_libspe_parsebuildpe-parser-libraryRelease ) y uno de 64 bits en build64Multi-threaded ( /MT ) Establezca LauncherCLI como proyecto de inicio
Windows 10 , versión 1809 (debido al Windows Projected File System )Windows 10 , versión 1809 ( DynamoRIO admite versiones Windows 10 hasta 1809 )