
Dr.Semuexecuta executáveis em um ambiente isolado, monitora o comportamento de um processo e, com base nas Dr.Semuregras criadas por você ou pela comunidade, detecta se o processo é malicioso ou não.
whoami: @_qaz_qaz
Com Dr.Semuvocê, você pode criar regras para detectar malware com base no comportamento dinâmico de um processo.
Isolamento através do redirecionamento
Tudo acontece no modo de usuário. O Sistema de arquivos projetados do Windows (ProjFS) é usado para fornecer um virtualsistema de arquivos. Para o redirecionamento do Registro , ele clona todas as seções do Registro para um novo local e redireciona todos os acessos ao Registro.
Veja o código fonte para mais informações sobre outros redirecionamentos (isolamento de processos / objetos, etc.).
O monitoramentoDr.Semu usa o DynamoRIO (Dynamic Instrumentation Tool Platform) para interceptar um encadeamento quando está prestes a cruzar a linha do usuário-kernel. Ele tem o mesmo efeito de conectar,SSDT mas no modo de usuário e sem conectar nada.
Nesta fase,Dr.Semuproduz um arquivo JSON, que contém informações da interceptação.
Detecção
Após o término do processo, com base nasDr.Semuregras que recebemos se o executável for detectado como malware ou não.
Regras do Dr.Semu / Detecções
Regras do Dr.Semu
Estão escritas emPythonouLUA(localizadas emdr_rules) e use informações dinâmicas da interceptação e informações estáticas sobre a amostra. É trivial adicionar suporte a outros idiomas.

Exemplo ( Python): https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
Exemplo ( Lua): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
Uso
- Use
PowerShellpara ativarProjFSem umaPowerShelljanela elevada :
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
- Faça o download e extraia um arquivo zip da página de lançamentos
- Baixe
DynamoRIOe extraia naDrSemupasta e renomeie paradynamorio - Instale o Python 3 x64
DrSemu.exe --target file_pathDrSemu.exe --target files_directory
DEMO
CONSTRUIR
- Use
PowerShellpara ativarProjFSem umaPowerShelljanela elevada :
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

- Instale o Python 3 x64
- Baixe
DynamoRIOe extraia nabinpasta e renomeie paradynamorio - Criar
pe-parser-library.libbiblioteca:- Gere o projeto VS
DrSemu\shared_libs\pe_parseusando cmake-gui - Crie uma biblioteca de 32 bits em
build(\shared_libs\pe_parse\build\pe-parser-library\Release\) e uma de 64 bits embuild64 - Altere a opção da biblioteca de tempo de execução para
Multi-threaded(/MT)
- Gere o projeto VS
- Definir
LauncherCLIcomo projeto de inicialização
FAÇAM
- Resolver problemas relacionados ao isolamento
- Melhore a sincronização
- Atualize a descrição, adicione mais detalhes
- Crie uma GUI para a ferramenta
Limitações
- Versão mínima suportada do Windows
Windows 10:, versão 1809 (devido aWindows Projected File System) - Versão máxima suportada do Windows
Windows 10:, versão 1809 (DynamoRIOsuportaWindows 10versões até1809)
