
Simuliert das Verhalten von AV/EDR für das Training zur Malware-Entwicklung.
_____ ______ _____ _____
/ ____| (_) | ____| __ \| __ \
| | _ __ _ _ __ ___ ___ ___ _ __ | |__ | | | | |__) |
| | | '__| | '_ ` _ \/ __|/ _ \| '_ \| __| | | | | _ /
| |____| | | | | | | | \__ \ (_) | | | | |____| |__| | | \ \
\_____|_| |_|_| |_| |_|___/\___/|_| |_|______|_____/|_| \_\
Entwickelt von : Matthias Ossard
https://github.com/Helixo32
CrimsonEDR ist ein Open-Source-Projekt, das entwickelt wurde, um bestimmte Malware-Muster zu identifizieren und ein Werkzeug zur Verbesserung der Fähigkeiten bei der Umgehung von Endpoint Detection and Response (EDR) bereitzustellt. Durch den Einsatz verschiedener Erkennungsmethoden ermöglicht es den Anwendern, ihr Verständnis von Sicherheitsumgehungstaktiken zu vertiefen.
| Erkennung | Beschreibung |
|---|---|
| Direct Syscall | Erkennt die Verwendung direkter Systemaufrufe, die oft von Malware eingesetzt werden, um traditionelle API-Hooks zu umgehen. |
| NTDLL Unhooking | Identifiziert Versuche, Funktionen innerhalb der NTDLL-Bibliothek zu entkoppeln, eine gängige Umgehungstechnik. |
| AMSI Patch | Erkennt Änderungen an der Anti-Malware Scan Interface (AMSI) durch Byte-Level-Analyse. |
| ETW Patch | Erkennt Byte-Level-Änderungen an der Event Tracing for Windows (ETW)-Schnittstelle, die oft von Malware manipuliert wird, um einer Erkennung zu entgehen. |
| PE Stomping | Identifiziert Fälle von PE (Portable Executable)-Stomping. |
| Reflective PE Loading | Erkennt das reflektive Laden von PE-Dateien, eine Technik, die von Malware eingesetzt wird, um statische Analysen zu umgehen. |
| Unbacked Thread Origin | Identifiziert Threads, die aus nicht unterstützten Speicherbereichen stammen, ein häufiges Anzeichen für bösartige Aktivitäten. |
| Unbacked Thread Start Address | Erkennt Threads mit Startadressen, die auf nicht unterstützten Speicher verweisen, ein mögliches Zeichen für Code-Injection. |
| API hooking | Platziert einen Hook auf die Funktion NtWriteVirtualMemory, um Speicheränderungen zu überwachen. |
| Custom Pattern Search | Ermöglicht es Benutzern, nach bestimmten Mustern zu suchen, die in einer JSON-Datei bereitgestellt werden, und erleichtert so die Identifizierung bekannter Malware-Signaturen. |
Um mit CrimsonEDR zu beginnen, folgen Sie diesen Schritten:
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 und andere Antivirenprogramme können die DLL als schädlich einstufen, da sie Bytes enthält, die zur Überprüfung verwendet werden, ob der AMSI gepatcht wurde. Stellen Sie sicher, dass Sie die DLL zur Whitelist hinzufügen oder Ihr Antivirenprogramm vorübergehend deaktivieren, wenn Sie CrimsonEDR verwenden, um Unterbrechungen zu vermeiden.
Um CrimsonEDR zu verwenden, folgen Sie diesen Schritten:
ioc.json im aktuellen Verzeichnis liegt, von dem aus die zu überwachende ausführbare Datei gestartet wird. Wenn Sie beispielsweise Ihre zu überwachende ausführbare Datei von C:\Users\admin\ aus starten, sucht die DLL nach ioc.json unter C:\Users\admin\ioc.json. Derzeit enthält ioc.json Muster, die mit msfvenom zusammenhängen. Sie können Ihre eigenen Muster einfach im folgenden Format hinzufügen:{
"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"]
]
}
Führen Sie CrimsonEDRPanel.exe mit den folgenden Argumenten aus:
-d <pfad_zur_dll>: Gibt den Pfad zur Datei CrimsonEDR.dll an.
-p <prozess_id>: Gibt die Prozess-ID (PID) des Zielprozesses an, in den Sie die DLL injizieren möchten.
Beispiel:
.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234
Hier sind einige nützliche Ressourcen, die bei der Entwicklung dieses Projekts geholfen haben:
Bei Fragen, Feedback oder Unterstützung kontaktieren Sie mich bitte über: