
Исследование BYOVD в Windows для DCRCVDrv.sys и Alinubx.sys, обратная разработка их примитивов ядра, поверхностей IOCTL и возможностей обнаружения.
Два подписанных драйвера. Один опасный примитив ядра. 0xCr0ssCrush — это исследовательский проект по Windows BYOVD, охватывающий драйверы DCRCVDrv.sys и Alinubx.sys, эксплуатируемые загрузчиком Cruciferra malware-as-a-service: их интерфейсы, их примитивы ядра, их происхождение, а также способы обнаружения и защиты от их злоупотребления.
Исследовательский стенд и аналитический пакет для двух уязвимых подписанных драйверов:
Репозиторий воспроизводит собственную тактику избыточности операторов: если один драйвер отклоняется хостом, стенд переключается на другой.
Оба драйвера были задокументированы Threat Response Unit компании eSentire в августе 2026 года как компоненты загрузчика Cruciferra malware-as-a-service, который завершает процессы AV/EDR перед доставкой полезной нагрузки. Это не гипотетические примитивы — они эксплуатируются в реальных атаках, они подписаны, и ни один из файлов не присутствовал в принудительном блок-листе уязвимых драйверов Microsoft на момент этого исследования.
Запуск в контролируемой лаборатории: выбор драйвера, проверка хеша, разрешение цели и путь IOCTL завершения процесса на лабораторном хосте Windows 11. Точная процедура описана в docs/reproduction.md.
0xCr0ssCrush не претендует на обнаружение лежащих в основе уязвимых драйверов. Его вклад — воспроизводимая сравнительная исследовательская реализация, охватывающая два недавно эксплуатируемых подписанных драйвера Windows, их открытые интерфейсы, примитивы ядра, происхождение, поведение в среде и возможности защитного обнаружения.
В ходе нашего исследования не было выявлено ни одной публично индексируемой реализации, соответствующей обоим интерфейсам драйверов.
Независимое подтверждение выводов:
Полная матрица и поверхность IOCTL в docs/ioctl-reference.md.
Подписанный драйвер от MOCOMSYS (DCRC), содержащий строки WFP callout и
монитор дочерних процессов. Открытое устройство \\.\DCRCVDRV_U принимает
IOCTL завершения из пользовательского режима. Анализ:
\\.\DCRCVDRV_U0x2205C0Подробности в docs/dcrcv-analysis.md.
Подписанный драйвер от CnCrypt со строками WFP/ALE callout. Открытое
устройство \\.\Alinubx принимает IOCTL завершения, принимающий PID и
код завершения.
\\.\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 и остановка процесса — это два разных наблюдения; руководство по воспроизведению делает это явным.
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. В настоящее время проверено на Windows 11 24H2 (сборка 26100) с отключённым HVCI. Никаких общих заявлений о совместимости не делается.
Привязано к конкретному снимку и воспроизводимо: 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
Этот проект существует для исследований и защиты. Загружайте эти драйверы только на системах, которыми вы владеете или которые уполномочены тестировать; загрузка их в других местах незаконна в большинстве юрисдикций. См. SECURITY.md и THREAT_MODEL.md.