
Simulez le comportement des AV/EDR pour la formation au développement de malware.
_____ ______ _____ _____
/ ____| (_) | ____| __ \| __ \
| | _ __ _ _ __ ___ ___ ___ _ __ | |__ | | | | |__) |
| | | '__| | '_ ` _ \/ __|/ _ \| '_ \| __| | | | | _ /
| |____| | | | | | | | \__ \ (_) | | | | |____| |__| | | \ \
\_____|_| |_|_| |_| |_|___/\___/|_| |_|______|_____/|_| \_\
Développé par : Matthias Ossard
https://github.com/Helixo32
CrimsonEDR est un projet open-source conçu pour identifier des patterns malveillants spécifiques, offrant un outil pour perfectionner les compétences en contournement des solutions de détection et de réponse de terminaux (EDR). En exploitant diverses méthodes de détection, il permet aux utilisateurs d'approfondir leur compréhension des tactiques d'évasion de sécurité.
| Détection | Description |
|---|---|
| Direct Syscall | Détecte l'utilisation d'appels système directs, souvent employés par les malwares pour contourner les hooks API traditionnels. |
| NTDLL Unhooking | Identifie les tentatives de dé-hook des fonctions au sein de la bibliothèque NTDLL, une technique d'évasion courante. |
| AMSI Patch | Détecte les modifications de l'Anti-Malware Scan Interface (AMSI) via une analyse au niveau des octets. |
| ETW Patch | Détecte les altérations au niveau des octets d'Event Tracing for Windows (ETW), souvent manipulées par les malwares pour échapper à la détection. |
| PE Stomping | Identifie les cas de « piétinement » de PE (Portable Executable). |
| Reflective PE Loading | Détecte le chargement réflexif de fichiers PE, une technique utilisée par les malwares pour éviter l'analyse statique. |
| Unbacked Thread Origin | Identifie les threads provenant de régions mémoire non adossées, souvent indicateur d'activité malveillante. |
| Unbacked Thread Start Address | Détecte les threads dont l'adresse de départ pointe vers une mémoire non adossée, signe potentiel d'injection de code. |
| API hooking | Place un hook sur la fonction NtWriteVirtualMemory pour surveiller les modifications mémoire. |
| Custom Pattern Search | Permet aux utilisateurs de rechercher des patterns spécifiques fournis dans un fichier JSON, facilitant l'identification de signatures de malwares connues. |
Pour commencer avec CrimsonEDR, suivez ces étapes :
sudo apt-get install gcc-mingw-w64-x86-64
git clone https://github.com/Helixo32/CrimsonEDR
cd CrimsonEDR;
chmod +x compile.sh;
./compile.sh
Windows Defender et d'autres antivirus peuvent signaler la DLL comme malveillante en raison de son contenu contenant des octets utilisés pour vérifier si l'AMSI a été patché. Veuillez vous assurer d'ajouter la DLL à la liste blanche ou de désactiver temporairement votre antivirus lors de l'utilisation de CrimsonEDR pour éviter toute interruption.
Pour utiliser CrimsonEDR, suivez ces étapes :
ioc.json est placé dans le répertoire courant à partir duquel l'exécutable surveillé est lancé. Par exemple, si vous lancez votre exécutable à surveiller depuis C:\Users\admin\, la DLL cherchera ioc.json dans C:\Users\admin\ioc.json. Actuellement, ioc.json contient des patterns liés à msfvenom. Vous pouvez facilement ajouter les vôtres au format suivant :{
"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"]
]
}
Exécutez CrimsonEDRPanel.exe avec les arguments suivants :
-d <chemin_vers_dll> : Spécifie le chemin vers le fichier CrimsonEDR.dll.
-p <id_processus> : Spécifie l'ID de processus (PID) du processus cible dans lequel vous souhaitez injecter la DLL.
Par exemple :
.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234
Voici quelques ressources utiles qui ont aidé au développement de ce projet :
Pour toute question, retour ou assistance, veuillez me contacter via :