
Simula el comportamiento de AV/EDR para el entrenamiento en desarrollo de malware.
_____ ______ _____ _____
/ ____| (_) | ____| __ \| __ \
| | _ __ _ _ __ ___ ___ ___ _ __ | |__ | | | | |__) |
| | | '__| | '_ ` _ \/ __|/ _ \| '_ \| __| | | | | _ /
| |____| | | | | | | | | \__ \ (_) | | | | |____| |__| | | \ \
\_____|_| |_|_| |_| |_|___/\___/|_| |_|______|_____/|_| \_\
Desarrollado por : Matthias Ossard
https://github.com/Helixo32
CrimsonEDR es un proyecto de código abierto diseñado para identificar patrones de malware específicos, ofreciendo una herramienta para perfeccionar habilidades en la evasión de la Detección y Respuesta en el Endpoint (EDR). Al aprovechar diversos métodos de detección, permite a los usuarios profundizar su comprensión de las tácticas de evasión de seguridad.
| Detección | Descripción |
|---|---|
| Direct Syscall | Detecta el uso de llamadas directas al sistema, a menudo empleadas por malware para eludir los hooks tradicionales de API. |
| NTDLL Unhooking | Identifica intentos de desenganchar funciones dentro de la biblioteca NTDLL, una técnica común de evasión. |
| AMSI Patch | Detecta modificaciones en la Interfaz de Análisis Antimalware (AMSI) mediante análisis a nivel de bytes. |
| ETW Patch | Detecta alteraciones a nivel de bytes en el Seguimiento de Eventos para Windows (ETW), comúnmente manipulado por malware para evadir la detección. |
| PE Stomping | Identifica casos de eliminación de encabezados PE (Portable Executable). |
| Reflective PE Loading | Detecta la carga reflectiva de archivos PE, una técnica empleada por malware para evitar el análisis estático. |
| Unbacked Thread Origin | Identifica hilos originados en regiones de memoria no respaldadas, a menudo indicativo de actividad maliciosa. |
| Unbacked Thread Start Address | Detecta hilos con direcciones de inicio que apuntan a memoria no respaldada, una posible señal de inyección de código. |
| API hooking | Coloca un hook en la función NtWriteVirtualMemory para monitorear modificaciones en la memoria. |
| Custom Pattern Search | Permite a los usuarios buscar patrones específicos proporcionados en un archivo JSON, facilitando la identificación de firmas de malware conocidas. |
Para comenzar con CrimsonEDR, sigue estos pasos:
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 y otros programas antivirus pueden marcar la DLL como maliciosa debido a que su contenido contiene bytes utilizados para verificar si el AMSI ha sido parcheado. Asegúrate de incluir la DLL en la lista blanca o deshabilitar temporalmente tu antivirus al usar CrimsonEDR para evitar interrupciones.
Para usar CrimsonEDR, sigue estos pasos:
ioc.json esté ubicado en el directorio actual desde el cual se lanza el ejecutable que se está monitoreando. Por ejemplo, si lanzas tu ejecutable para monitorear desde C:\Users\admin\, la DLL buscará ioc.json en C:\Users\admin\ioc.json. Actualmente, ioc.json contiene patrones relacionados con msfvenom. Puedes agregar fácilmente los tuyos propios en el siguiente 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"]
]
}
Ejecuta CrimsonEDRPanel.exe con los siguientes argumentos:
-d <ruta_dll>: Especifica la ruta al archivo CrimsonEDR.dll.
-p <id_proceso>: Especifica el ID del proceso (PID) del proceso objetivo donde deseas inyectar la DLL.
Por ejemplo:
.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234
Estos son algunos recursos útiles que contribuyeron al desarrollo de este proyecto:
Para preguntas, comentarios o soporte, comunícate conmigo a través de: