
Investigación de BYOVD en Windows sobre DCRCVDrv.sys y Alinubx.sys, ingeniería inversa de sus primitivas de kernel, superficies IOCTL y oportunidades de detección.
Dos controladores firmados. Una primitiva de kernel peligrosa. 0xCr0ssCrush es un proyecto de investigación BYOVD para Windows que abarca los controladores DCRCVDrv.sys y Alinubx.sys abusados por el cargador de malware como servicio Cruciferra: sus interfaces, sus primitivas de kernel, su procedencia y cómo detectar y defenderse contra su abuso.
Un arnés de investigación y paquete de análisis para dos controladores firmados vulnerables:
El repositorio reproduce la propia táctica de redundancia de los operadores: si un controlador es rechazado por el host, el arnés recurre al otro.
Ambos controladores fueron documentados por la Threat Response Unit de eSentire en agosto de 2026 como componentes del cargador de malware como servicio Cruciferra, que termina procesos de AV/EDR antes de la entrega del payload. No son primitivas hipotéticas: se abusan en el mundo real, están firmadas, y ninguno de los dos archivos estaba presente en la lista de bloqueo de controladores vulnerables aplicada por Microsoft en el momento de esta investigación.
Ejecución en laboratorio controlado: selección de controlador, validación de hash, resolución del objetivo y la ruta del IOCTL de terminación en un host de laboratorio con Windows 11. Consulte docs/reproduction.md para el procedimiento exacto.
0xCr0ssCrush no reclama el descubrimiento de los controladores vulnerables subyacentes. Su contribución es una implementación de investigación comparativa reproducible que abarca dos controladores firmados de Windows abusados recientemente, sus interfaces expuestas, primitivas de kernel, procedencia, comportamiento ambiental y oportunidades de detección defensiva.
No se identificó durante nuestra investigación ninguna implementación indexada públicamente que coincida con ambas interfaces de controlador.
El respaldo independiente de los hallazgos:
Matriz completa y superficie de IOCTL en docs/ioctl-reference.md.
Controlador firmado de MOCOMSYS (DCRC) que contiene cadenas de callout de WFP y un
monitor de procesos hijos. El dispositivo expuesto \\.\DCRCVDRV_U acepta un
IOCTL de terminación desde modo usuario. Análisis:
\\.\DCRCVDRV_U0x2205C0Detalles en docs/dcrcv-analysis.md.
Controlador firmado de CnCrypt con cadenas de callout de WFP/ALE. El dispositivo
expuesto \\.\Alinubx acepta un IOCTL de terminación que toma un PID y un
código de salida.
\\.\Alinubx0x222024{ pid: DWORD, exit_status: DWORD }Detalles en docs/alinubx-analysis.md.
Ambos controladores exponen la misma familia de primitivas:
primitive_family: PROCESS_CONTROL
primitive: PROCESS_TERMINATION
La clasificación legible por máquina se encuentra en metadata/drivers.json, de modo que se pueden añadir controladores adicionales sin reestructurar el repositorio.
El análisis completo del despacho (incluida la superficie adicional observada de DCRCVDrv.sys) está en docs/ioctl-reference.md.
Cada afirmación del informe lleva una etiqueta de evidencia:
[CONFIRMED] directly established from code/disassembly
[CORROBORATED] observed here and independently supported
[INFERRED] likely but not fully proven
[UNRESOLVED] current evidence insufficient
Los extractos de desensamblado anotados (captura de importaciones, despacho de IOCTL, helper de terminación, cadenas) se incluyen en analysis/ para que el análisis pueda recorrerse de nuevo.
Compila y luego nunca cargues un controlador sin validación de hash: el propio arnés lo impone:
cargo build --release --target x86_64-pc-windows-gnu
crosscrush.exe -d -n "notepad.exe" # dry run, no IOCTLs
crosscrush.exe -n "notepad.exe" -k dcrc # single driver
Procedimiento paso a paso e higiene del laboratorio en docs/reproduction.md.
IOCTL-accepted y process-stopped son dos observaciones distintas; la guía de reproducción lo deja explícito.
Guía de Sigma, YARA y telemetría:
detection/
|-- sigma/driver_load_win_cruciferra_byovd.yml
|-- yara/cruciferra_drivers.yar
+-- telemetry/README.md
Estrategia de detección en docs/detection.md.
El estado observado se registra por compilación en lab/test-matrix y se marca como Verificado / No probado / Bloqueado / Desconocido. Actualmente verificado en Windows 11 24H2 (compilación 26100) con HVCI deshabilitado. No se hacen afirmaciones de compatibilidad generalizadas.