
BYOVD-Proof-of-Concept, das den WHQL-signierten DsArk64.sys-Treiber für Ring-0-Prozessbeendigung und Kernel-Lese-/Schreibzugriff über verschlüsselte IOCTLs und Process Hollowing missbraucht.
DsArk64.sys wird mit 360 Total Security ausgeliefert. WHQL-signiert von Microsoft. LOLDrivers: magicsword-io/LOLDrivers#308. CVE: Beantragt (MITRE).
Prozess-Kill (Ring 0)
0x80863008, Eingabe: 4-Byte rohe PIDZwOpenProcess(ALL_ACCESS) + ZwTerminateProcess aus dem Kernel aufKernel-Lesen
0x80863028, AES-128-CBC-verschlüsselte Eingabememcpy(out, kernel_addr, n), max. 512 BytesMmIsAddressValid()Kernel-Schreiben
0x80863028, gleiche Verschlüsselungmemcpy, max. 32 BytesVerschlüsselung
.data-Sektion62b456ec407f0a9a05911cb6f238a7fee59329b6d408e7fa557637e62c9eaa43[MD5(payload) 16B][payload]Der Treiber prüft, ob der aufrufende Prozess eine Qihoo-Authenticode-Signatur besitzt, bevor er Gerätezugriff gewährt. Umgangen mittels Process Hollowing:
360.cn herunterladen (kein Konto, kein CAPTCHA)CREATE_SUSPENDED)CreateRemoteThread injizieren; Shellcode ruft CreateFileW("\\.\DsArk") aufIoGetCurrentProcess()-Imagenamen, sieht Qihoo-Zertifikat, erlaubt ÖffnenDuplicateHandle des Ergebnisses zurück zum AngreiferprozessTerminateProcess des SpenderprozessesDas WinMain des Installers wird nie ausgeführt.
pycryptodome oder cryptography pip-Paket (für verschlüsselte IOCTL-Tests)8/8 bestanden:
HKLM\...\360FsFlt\daboot=1 erstelltsc create/start geladen (WHQL-signiert, kein Test-Signing)0x80863000 antwortete0x80863008 beendete notepad.exe0x80863020 erreichte Handler0x80863028 Krypto verifiziert (AES-Schlüssel/IV korrekt, MD5 akzeptiert)0xDEAD0000 abgelehnt| Datei | SHA256 |
|---|---|
| dsark64.sys | cd3d1a2e119cbbb41ec0e7d7fb17bac106735d62b33ed3cde10087af1da89403 |
| DsArk64_win10.sys | 86127dbc92e2896319d1c9117b85e6db01ff001f3a85614d5ef9088d181b044a |
X: @weezerOSINT / Telegram: @weezer