
Simula il comportamento di AV/EDR per la formazione sullo sviluppo di malware.
_____ ______ _____ _____
/ ____| (_) | ____| __ \| __ \
| | _ __ _ _ __ ___ ___ ___ _ __ | |__ | | | | |__) |
| | | '__| | '_ ` _ \/ __|/ _ \| '_ \| __| | | | | _ /
| |____| | | | | | | | | \__ \ (_) | | | | |____| |__| | | \ \
\_____|_| |_|_| |_| |_|___/\___/|_| |_|______|_____/|_| \_\
Sviluppato da : Matthias Ossard
https://github.com/Helixo32
CrimsonEDR è un progetto open-source progettato per identificare pattern di malware specifici, offrendo uno strumento per affinare le capacità di aggiramento dei sistemi Endpoint Detection and Response (EDR). Sfruttando diversi metodi di rilevamento, consente agli utenti di approfondire la comprensione delle tattiche di elusione della sicurezza.
| Rilevamento | Descrizione |
|---|---|
| Direct Syscall | Rileva l'uso di chiamate di sistema dirette, spesso impiegate dal malware per bypassare gli hook API tradizionali. |
| NTDLL Unhooking | Identifica i tentativi di unhooking delle funzioni all'interno della libreria NTDLL, una comune tecnica di evasione. |
| AMSI Patch | Rileva modifiche all'Anti-Malware Scan Interface (AMSI) tramite analisi a livello di byte. |
| ETW Patch | Rileva alterazioni a livello di byte di Event Tracing for Windows (ETW), comunemente manipolate dal malware per eludere il rilevamento. |
| PE Stomping | Identifica istanze di PE (Portable Executable) stomping. |
| Reflective PE Loading | Rileva il caricamento riflessivo di file PE, una tecnica impiegata dal malware per evitare l'analisi statica. |
| Unbacked Thread Origin | Identifica thread che hanno origine da regioni di memoria non supportate, spesso indicative di attività malevola. |
| Unbacked Thread Start Address | Rileva thread con indirizzi di inizio che puntano a memoria non supportata, un potenziale segno di code injection. |
| API hooking | Inserisce un hook sulla funzione NtWriteVirtualMemory per monitorare le modifiche alla memoria. |
| Custom Pattern Search | Consente agli utenti di cercare pattern specifici forniti in un file JSON, facilitando l'identificazione di firme malware note. |
Per iniziare con CrimsonEDR, segui questi passaggi:
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 e altri programmi antivirus potrebbero segnalare la DLL come dannosa a causa del suo contenuto contenente byte utilizzati per verificare se l'AMSI è stato patchato. Assicurati di mettere la DLL in whitelist o disabilitare temporaneamente l'antivirus quando usi CrimsonEDR per evitare interruzioni.
Per utilizzare CrimsonEDR, segui questi passaggi:
ioc.json sia posizionato nella directory corrente da cui viene lanciato l'eseguibile monitorato. Ad esempio, se lanci il tuo eseguibile da monitorare da C:\Users\admin\, la DLL cercherà ioc.json in C:\Users\admin\ioc.json. Attualmente, ioc.json contiene pattern relativi a msfvenom. Puoi facilmente aggiungere i tuoi nel seguente 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"]
]
}
Esegui CrimsonEDRPanel.exe con i seguenti argomenti:
-d <path_to_dll>: Specifica il percorso del file CrimsonEDR.dll.
-p <process_id>: Specifica il Process ID (PID) del processo target in cui si desidera iniettare la DLL.
Per esempio:
.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234
Ecco alcune risorse utili che hanno aiutato nello sviluppo di questo progetto:
Per domande, feedback o supporto, contattami tramite: