Skip to content

R3LI4NT/RavenDoor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 

Repository files navigation

RavenDoor

RavenDoor

https://r3li4nt.github.io/tools/RavenDoor

Características v1.0:

Genera una llave (AES-256-CBC) ÚNICA para cada usuario infectado. Con este cifrado, los firewalls, sistemas IDS/IPS o herramientas de monitoreo de red no podrán detectar los comandos en texto plano que envía el atacante, evitando activar alertas. Se implemento el algoritmo AES-256 para transformar estos comandos reconocibles en flujos de bytes aleatorios, mientras que el CBC asegura que incluso comandos idénticos produzcan salidas cifradas diferentes, eliminando patrones repetitivos que podrían servir como firmas de detección.

2

Implementa distintos mecanismos de persistencia en Windows para que el ejecutable se vuelva a iniciar automáticamente tras reinicios o cierres de sesión. A través del método indicada (registry, startup, scheduled o service), el programa obtiene la ruta de su propio ejecutable y la registra para ejecutarse al inicio del sistema: puede crear una clave en el registro de usuario (Run), copiarse en la carpeta Startup, crear una tarea programada al iniciar sesión (intentando ejecutarse como SYSTEM) o instalarse como servicio de Windows con inicio automático. Si un método falla, el código intenta otros alternativos como respaldo.

Se desarrollo un C2 (Command & Control) CLI en Python para escuchar las conexiones entrantes, gestiona múltiples clientes, permite seleccionar un cliente y enviarle comandos interactivos. La comunicación esta cifrada con AES-256 en modo CBC, usando una clave compartida pasada por parámetro y un IV que el cliente envía en el handshake.

USO:

python3 raven_client.py --key [KEY]
1

El archivo ravendoor_key.txt es generado en la ruta AppData\Roaming\Microsoft\Windows y es envíado al canal de telegram para su posterior uso.

telegram

Características v2.0:

Extrae una DLL embebida en el ejecutable, la escribe en disco en una ubicación discreta y la inyecta en procesos legítimos del sistema (como explorer.exe, notepad.exe, etc). Prioriza el uso de indirect syscalls para las operaciones críticas, con fallback automático a WinAPI para garantizar compatibilidad. Una vez inyectada, la DLL establece su propia conexión con el C2, permitiendo mantener el control incluso si el proceso principal es detectado o finaliza.

process_injection process_injection process_injection

Módulo auxiliar para gestionar artefactos en disco: extrae y oculta archivos embebidos, crea copias de DLLs legítimas para técnicas de sideloading, limpia rastros temporales y detecta entornos de análisis (sandbox) mediante identificación de procesos típicos (vboxservice.exe, vmtoolsd.exe) o características de hardware, permitiendo abortar la ejecución en contextos no deseados.

Implementa una técnica de ofuscación temporal que evita patrones de espera predecibles. En lugar de usar Sleep(), emplea NtDelayExecution, una llamada directa al kernel que reduce la dependencia de APIs más monitoreadas. Además, introduce jitter dinámico, haciendo que cada pausa tenga una duración variable dentro de un rango configurable, dificultando la detección basada en comportamiento. Durante los períodos de inactividad, el módulo puede proteger regiones críticas de memoria cambiando sus permisos (PAGE_NOACCESS) y cifrando su contenido temporalmente, restaurando ambos al despertar. Esto reduce la superficie de ataque y minimiza la exposición de datos sensibles mientras el proceso no está activo.

Implementa un método de ejecución de llamadas al sistema que evita las rutas tradicionales de las APIs de Windows, reduciendo la visibilidad ante soluciones de seguridad. En lugar de usar funciones como GetProcAddress, localiza manualmente ntdll.dll recorriendo la estructura PEB del proceso, analiza su tabla de exportaciones para obtener las direcciones de funciones clave y extrae los números de syscall directamente desde el código de estas. Luego, en lugar de ejecutar la syscall de forma directa, redirige el flujo de ejecución hacia la instrucción syscall dentro de ntdll.dll, haciendo que el origen de la llamada parezca legítimo. Esto evita los hooks en capas de usuario, no deja rastros de imports estáticos y dificulta la detección por parte de sistemas de monitoreo, permitiendo que las operaciones críticas pasen desapercibidas.

Incluye una utilidad en Python que ofusca automáticamente las credenciales del bot de Telegram. El script toma el token y el chat ID como entrada y genera código Rust con múltiples capas de ofuscación: codificación hexadecimal, XOR con clave fija, desplazamiento de caracteres o fragmentación. Esto evita que las credenciales aparezcan en texto plano dentro del binario final, dificultando el análisis estático.

token-generate

Tiene contratado un servicio VPS seguro con ubicación en un país conflictivo. El hecho de que se utilice un VPS localizado en un país con este tipo de contexto puede proporcionarle cierta cobertura jurídica y operativa, ya que las agencias de inteligencia pueden enfrentar mayores dificultades para requerir datos y coordinar acciones, lo que introduce demoras y fricción en el proceso investigativo. No obstante, esto no imposibilita el rastreo, sino que, en todo caso, puede dificultar el trabajo de las agencias y alargar los tiempos necesarios para avanzar en la investigación.

VPS-Server

Implementa un sistema de detección de entornos de análisis basado en puntuación que combina múltiples indicadores del sistema: procesos relacionados a virtualización o monitoreo, presencia de drivers y artefactos característicos, claves de registro, información de hardware y comportamiento de recursos (memoria, CPU, disco y resolución). También incluye detección de debuggers y herramientas de sandbox.

Cada señal suma a un puntaje global; al superar un umbral predefinido, el módulo asume que se encuentra en un entorno controlado y aborta la ejecución de forma silenciosa. Este enfoque evita depender de un único indicador y reduce falsos positivos en entornos legítimos.

Además del tradicional C2 CLI, se ha desarrollado un C2 Web que permite controlar los equipos infectados de forma más flexible mediante un sistema multi-usuario por roles (Administrador y Operador). El Administrador tiene control total sobre el servidor C2 y puede crear y gestionar operadores, cada uno con su propia clave AES única, lo que garantiza que los operadores solo puedan ver y controlar los clientes que utilizan su clave específica, logrando un completo aislamiento entre diferentes operadores dentro de la misma infraestructura.

capture-1 capture-2 capture-3

RavenDoor

Correo de contacto:

Developer: R3LI4NT

Releases

No releases published

Packages

 
 
 

Contributors