
إثبات مفهوم BYOVD يستغل برنامج التشغيل DsArk64.sys الموقّع من WHQL لإنهاء العمليات في الحلقة 0 والقراءة/الكتابة في النواة عبر IOCTLs المشفّرة وتفريغ العمليات.
يُشحن الملف DsArk64.sys مع 360 Total Security. موقّع من WHQL بواسطة Microsoft. LOLDrivers: magicsword-io/LOLDrivers#308. CVE: مطلوب (MITRE).
قتل العمليات (ring 0)
0x80863008، المدخل: PID خام بحجم 4 بايتZwOpenProcess(ALL_ACCESS) + ZwTerminateProcess من النواةقراءة النواة
0x80863028، مدخل مشفّر بـ AES-128-CBCmemcpy(out, kernel_addr, n)، بحد أقصى 512 بايتMmIsAddressValid()كتابة النواة
0x80863028، نفس التشفيرmemcpy، بحد أقصى 32 بايتالتشفير
.data62b456ec407f0a9a05911cb6f238a7fee59329b6d408e7fa557637e62c9eaa43[MD5(payload) 16B][payload]يتحقق السائق من أن العملية المستدعية تحمل توقيع Qihoo Authenticode قبل منح الوصول إلى الجهاز. يتم تجاوزه عبر process hollowing:
360.cn (بدون حساب، بدون CAPTCHA)CREATE_SUSPENDED)CreateRemoteThread؛ يستدعي الـ shellcode الدالة CreateFileW("\\.\DsArk")IoGetCurrentProcess()، فيرى شهادة Qihoo، ويسمح بالفتحDuplicateHandle لإعادة النتيجة إلى عملية المهاجمTerminateProcess لإنهاء العملية المانحةلا يتم تشغيل WinMain الخاص بالمثبّت أبدًا.
pycryptodome أو cryptography عبر pip (لاختبارات IOCTL المشفّرة)نجح 8/8:
HKLM\...\360FsFlt\daboot=1sc create/start (موقّع من WHQL، بدون test-signing)0x808630000x80863008 العملية notepad.exe0x80863020 إلى المعالج0x80863028 (مفتاح/IV الخاص بـ AES صحيح، وتم قبول MD5)0xDEAD0000| الملف | SHA256 |
|---|---|
| dsark64.sys | cd3d1a2e119cbbb41ec0e7d7fb17bac106735d62b33ed3cde10087af1da89403 |
| DsArk64_win10.sys | 86127dbc92e2896319d1c9117b85e6db01ff001f3a85614d5ef9088d181b044a |
X: @weezerOSINT / Telegram: @weezer