
Simular o comportamento de AV/EDR para treinamento de desenvolvimento de malware.
_____ ______ _____ _____
/ ____| (_) | ____| __ \| __ \
| | _ __ _ _ __ ___ ___ ___ _ __ | |__ | | | | |__) |
| | | '__| | '_ ` _ \/ __|/ _ \| '_ \| __| | | | | _ /
| |____| | | | | | | | | \__ \ (_) | | | | |____| |__| | | \ \
\_____|_| |_|_| |_| |_|___/\___/|_| |_|______|_____/|_| \_\
Desenvolvido por : Matthias Ossard
https://github.com/Helixo32
CrimsonEDR é um projeto de código aberto projetado para identificar padrões específicos de malware, oferecendo uma ferramenta para aperfeiçoar habilidades em contornar a Detecção e Resposta de Endpoint (EDR). Ao aproveitar diversos métodos de detecção, ele capacita os usuários a aprofundar sua compreensão das táticas de evasão de segurança.
| Detecção | Descrição |
|---|---|
| Syscall Direta | Detecta o uso de chamadas de sistema diretas, frequentemente empregadas por malware para contornar hooks de API tradicionais. |
| Desenganchamento de NTDLL | Identifica tentativas de desenganchar funções dentro da biblioteca NTDLL, uma técnica comum de evasão. |
| Patch do AMSI | Detecta modificações na Interface de Varredura Antimalware (AMSI) por meio de análise em nível de byte. |
| Patch do ETW | Detecta alterações em nível de byte no Rastreamento de Eventos para Windows (ETW), comumente manipulado por malware para evadir detecção. |
| Stomping de PE | Identifica instâncias de stomping de PE (Portable Executable). |
| Carregamento Reflexivo de PE | Detecta o carregamento reflexivo de arquivos PE, uma técnica empregada por malware para evitar análise estática. |
| Origem de Thread Não Respaldada | Identifica threads originadas de regiões de memória não respaldadas, frequentemente indicativo de atividade maliciosa. |
| Endereço de Início de Thread Não Respaldada | Detecta threads com endereços de início apontando para memória não respaldada, um sinal potencial de injeção de código. |
| Hooking de API | Coloca um hook na função NtWriteVirtualMemory para monitorar modificações de memória. |
| Pesquisa de Padrões Personalizados | Permite que os usuários pesquisem por padrões específicos fornecidos em um arquivo JSON, facilitando a identificação de assinaturas de malware conhecidas. |
Para começar com o CrimsonEDR, siga estes passos:
sudo apt-get install gcc-mingw-w64-x86-64
git clone https://github.com/Helixo32/CrimsonEDR
cd CrimsonEDR;
chmod +x compile.sh;
./compile.sh
O Windows Defender e outros programas antivírus podem sinalizar a DLL como maliciosa devido ao seu conteúdo conter bytes usados para verificar se o AMSI foi corrigido. Certifique-se de colocar a DLL na lista de permissões ou desativar temporariamente seu antivírus ao usar o CrimsonEDR para evitar interrupções.
Para usar o CrimsonEDR, siga estes passos:
ioc.json está colocado no diretório atual a partir do qual o executável sendo monitorado é iniciado. Por exemplo, se você iniciar seu executável para monitorar a partir de C:\Users\admin\, a DLL procurará por ioc.json em C:\Users\admin\ioc.json. Atualmente, ioc.json contém padrões relacionados ao msfvenom. Você pode facilmente adicionar seus próprios no seguinte formato:{
"IOC": [
["0x03", "0x4c", "0x24", "0x08", "0x45", "0x39", "0xd1", "0x75"],
["0xf1", "0x4c", "0x03", "0x4c", "0x24", "0x08", "0x45", "0x39"],
["0x58", "0x44", "0x8b", "0x40", "0x24", "0x49", "0x01", "0xd0"],
["0x66", "0x41", "0x8b", "0x0c", "0x48", "0x44", "0x8b", "0x40"],
["0x8b", "0x0c", "0x48", "0x44", "0x8b", "0x40", "0x1c", "0x49"],
["0x01", "0xc1", "0x38", "0xe0", "0x75", "0xf1", "0x4c", "0x03"],
["0x24", "0x49", "0x01", "0xd0", "0x66", "0x41", "0x8b", "0x0c"],
["0xe8", "0xcc", "0x00", "0x00", "0x00", "0x41", "0x51", "0x41"]
]
}
Execute CrimsonEDRPanel.exe com os seguintes argumentos:
-d <caminho_para_dll>: Especifica o caminho para o arquivo CrimsonEDR.dll.
-p <id_do_processo>: Especifica o ID do Processo (PID) do processo-alvo onde você deseja injetar a DLL.
Por exemplo:
.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234
Aqui estão alguns recursos úteis que ajudaram no desenvolvimento deste projeto:
Para perguntas, feedback ou suporte, entre em contato comigo via: