
Windows BYOVD研究:DCRCVDrv.sysとAlinubx.sysのリバースエンジニアリングによるカーネルプリミティブ、IOCTLサーフェス、検出機会の調査。
2つの署名済みドライバ。1つの危険なカーネルプリミティブ。0xCr0ssCrushは、 Cruciferraマルウェア・アズ・ア・サービス型ローダーによって悪用された DCRCVDrv.sysおよびAlinubx.sysドライバを対象とするWindows BYOVD研究プロジェクトであり、 それらのインターフェース、カーネルプリミティブ、来歴、そして悪用を検出・防御する方法を扱います。
2つの脆弱な署名済みドライバを対象とした研究用ハーネスおよび分析パッケージです:
このリポジトリは、攻撃者自身が用いる冗長化戦術を再現します。一方の ドライバがホストに拒否された場合、ハーネスはもう一方にフォールバックします。
両ドライバは、2026年8月にeSentireのThreat Response Unitによって、 Cruciferraマルウェア・アズ・ア・サービス型ローダーの構成要素として文書化されました。 このローダーはペイロード配信前にAV/EDRプロセスを終了させます。 これらは仮説上のプリミティブではなく、実際に野生で悪用されており、署名済みであり、 本研究時点でMicrosoftの強制適用される脆弱なドライバのブロックリストに どちらのファイルも存在していませんでした。
制御されたラボ環境での実行:ドライバの選択、ハッシュ検証、ターゲットの 解決、およびWindows 11ラボホスト上での終了IOCTLパス。正確な手順については docs/reproduction.mdを参照してください。
0xCr0ssCrushは、基盤となる脆弱なドライバの発見を主張するものではありません。 その貢献は、最近悪用された2つの署名済みWindowsドライバを対象とした、 再現可能な比較研究実装であり、公開されたインターフェース、カーネルプリミティブ、来歴、 環境依存の挙動、および防御的検出の機会を網羅しています。
両ドライバのインターフェースに一致する公開インデックス済みの実装は、 我々の調査中には確認されませんでした。
調査結果を独立に裏付ける資料:
完全なマトリクスとIOCTLサーフェスはdocs/ioctl-reference.mdにあります。
MOCOMSYS(DCRC)による署名済みドライバで、WFPコールアウト文字列と
子プロセスモニターを備えています。公開されたデバイス\\.\DCRCVDRV_Uは、
ユーザーモードからの終了IOCTLを受け付けます。分析:
\\.\DCRCVDRV_U0x2205C0詳細はdocs/dcrcv-analysis.mdにあります。
CnCryptによる署名済みドライバで、WFP/ALEコールアウト文字列を備えています。公開された
デバイス\\.\Alinubxは、PIDと終了ステータスを受け取る終了IOCTLを
受け付けます。
\\.\Alinubx0x222024{ pid: DWORD, exit_status: DWORD }詳細はdocs/alinubx-analysis.mdにあります。
両ドライバは同じプリミティブファミリーを公開しています:
primitive_family: PROCESS_CONTROL
primitive: PROCESS_TERMINATION
機械可読な分類は metadata/drivers.json に格納されているため、リポジトリを再構築することなく追加のドライバーを加えることができます。
完全なディスパッチ分析(観測された追加の DCRCVDrv.sys サーフェスを含む)は docs/ioctl-reference.md にあります。
この解説内のすべての主張には証拠ラベルが付いています:
[CONFIRMED] directly established from code/disassembly
[CORROBORATED] observed here and independently supported
[INFERRED] likely but not fully proven
[UNRESOLVED] current evidence insufficient
逆アセンブリの注釈付き抜粋(インポートキャプチャ、IOCTL ディスパッチ、終了ヘルパー、文字列)は analysis/ に含まれているため、解析を再追跡できます。
ビルド後、ハッシュ検証なしでドライバを決してロードしないでください - ハーネス自体がこれを強制します:
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
ドキュメントの手順とラボの衛生管理については、docs/reproduction.mdを参照してください。
IOCTL が受理されたこととプロセスが停止したことは、2 つの別個の観測結果です。再現ガイドではこの点を明示しています。
Sigma、YARA、およびテレメトリのガイダンス:
detection/
|-- sigma/driver_load_win_cruciferra_byovd.yml
|-- yara/cruciferra_drivers.yar
+-- telemetry/README.md
検出戦略については docs/detection.md を参照してください。
観測された状態はビルドごとに lab/test-matrix に記録され、Verified / Not tested / Blocked / Unknown としてマークされています。現在、HVCI を無効にした Windows 11 24H2 (ビルド 26100) で検証済みです。包括的な互換性の主張は 行っていません。
スナップショット固有かつ再現可能: docs/blocklist-status.md。
リポジトリ内のすべてのサンプルに対するハッシュ固有の来歴:
metadata/
|-- drivers.json # driver registry
+-- samples.json # sample registry (acquisition, verification)
scripts/validate_metadata.py によりドキュメントに対して検証済みです。 詳細は docs/driver-provenance.md を参照してください。
|-- README.md / WRITEUP.md / THREAT_MODEL.md / RESEARCH_NOTES.md
|-- CHANGELOG.md / SECURITY.md / LICENSE
|-- docs/ analysis, IOCTL reference, provenance, detection
|-- src/ research harness
|-- analysis/ annotated disassembly artifacts
|-- detection/ sigma / yara / telemetry
|-- lab/ test matrix and manifests
|-- metadata/ machine-readable driver and sample registry
|-- scripts/ metadata validation
+-- .github/ CI and release workflows
プルリクエストを歓迎します。チェック項目、証拠ラベル、スタイルルールについては CONTRIBUTING.md を参照してください。