
Recherche Windows BYOVD sur DCRCVDrv.sys et Alinubx.sys, rétro-ingénierie de leurs primitives noyau, surfaces IOCTL et opportunités de détection.
Deux pilotes signés. Une primitive noyau dangereuse. 0xCr0ssCrush est un projet de recherche Windows BYOVD couvrant les pilotes DCRCVDrv.sys et Alinubx.sys abusés par le loader malware-as-a-service Cruciferra : leurs interfaces, leurs primitives noyau, leur provenance, et comment les détecter et se défendre contre leur abus.
Un harnais de recherche et un package d'analyse pour deux pilotes signés vulnérables :
Le dépôt reproduit la propre tactique de redondance des opérateurs : si un pilote est refusé par l'hôte, le harnais se rabat sur l'autre.
Les deux pilotes ont été documentés par la Threat Response Unit d'eSentire en août 2026 comme composants du loader malware-as-a-service Cruciferra, qui termine les processus AV/EDR avant la livraison de la charge utile. Ce ne sont pas des primitives hypothétiques - elles sont abusées dans la nature, elles sont signées, et aucun des deux fichiers n'était présent dans la blocklist de pilotes vulnérables appliquée par Microsoft au moment de cette recherche.
Exécution en laboratoire contrôlé : sélection du pilote, validation du hash, résolution de la cible, et le chemin IOCTL de terminaison sur un hôte de laboratoire Windows 11. Voir docs/reproduction.md pour la procédure exacte.
0xCr0ssCrush ne revendique pas la découverte des pilotes vulnérables sous-jacents. Sa contribution est une implémentation de recherche comparative reproductible couvrant deux pilotes Windows signés récemment abusés, leurs interfaces exposées, leurs primitives noyau, leur provenance, leur comportement environnemental et les opportunités de détection défensive.
Aucune implémentation publiquement indexée correspondant aux deux interfaces de pilotes n'a été identifiée lors de nos recherches.
Les soutiens indépendants aux conclusions :
Matrice complète et surface IOCTL dans docs/ioctl-reference.md.
Pilote signé de MOCOMSYS (DCRC) portant des chaînes de callout WFP et un
moniteur de processus enfant. Le device exposé \\.\DCRCVDRV_U accepte un
IOCTL de terminaison depuis le mode utilisateur. Analyse :
\\.\DCRCVDRV_U0x2205C0Détails dans docs/dcrcv-analysis.md.
Pilote signé de CnCrypt avec des chaînes de callout WFP/ALE. Le device
exposé \\.\Alinubx accepte un IOCTL de terminaison prenant un PID et un
statut de sortie.
\\.\Alinubx0x222024{ pid: DWORD, exit_status: DWORD }Détails dans docs/alinubx-analysis.md.
Les deux pilotes exposent la même famille de primitives :
primitive_family: PROCESS_CONTROL
primitive: PROCESS_TERMINATION
La classification lisible par machine se trouve dans metadata/drivers.json afin que des pilotes supplémentaires puissent être ajoutés sans restructurer le dépôt.
L'analyse complète de la répartition (y compris la surface supplémentaire observée de DCRCVDrv.sys) se trouve dans docs/ioctl-reference.md.
Chaque affirmation de l'analyse porte une étiquette de preuve :
[CONFIRMED] directly established from code/disassembly
[CORROBORATED] observed here and independently supported
[INFERRED] likely but not fully proven
[UNRESOLVED] current evidence insufficient
Les extraits de désassemblage annotés (capture d'import, répartition IOCTL, assistant de terminaison, chaînes) sont inclus sous analysis/ afin que l'analyse puisse être rejouée.
Compilez, puis ne chargez jamais un pilote sans validation de hachage - le harnais lui-même l'impose :
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
Procédure pas à pas et hygiène de laboratoire dans docs/reproduction.md.
IOCTL-accepted et process-stopped sont deux observations distinctes ; le guide de reproduction le précise explicitement.
Recommandations Sigma, YARA et télémétrie :
detection/
|-- sigma/driver_load_win_cruciferra_byovd.yml
|-- yara/cruciferra_drivers.yar
+-- telemetry/README.md
La stratégie de détection se trouve dans docs/detection.md.
L'état observé est consigné par build dans lab/test-matrix et marqué comme Vérifié / Non testé / Bloqué / Inconnu. Actuellement vérifié sur Windows 11 24H2 (build 26100) avec HVCI désactivé. Aucune affirmation de compatibilité générale n'est faite.