
WHQL署名済みのDsArk64.sysドライバを悪用し、暗号化されたIOCTLとプロセスホローイングを通じてリング0でのプロセス終了とカーネル読み書きを行うBYOVDの概念実証。
DsArk64.sys は 360 Total Security に同梱されています。Microsoft による WHQL 署名済み。LOLDrivers: magicsword-io/LOLDrivers#308。CVE: 申請中 (MITRE)。
プロセス強制終了 (リング0)
0x80863008、入力: 4バイトの生PIDZwOpenProcess(ALL_ACCESS) + ZwTerminateProcess を呼び出すカーネル読み取り
0x80863028、AES-128-CBC 暗号化入力memcpy(out, kernel_addr, n)、最大512バイトMmIsAddressValid() のみカーネル書き込み
0x80863028、同じ暗号化memcpy、最大32バイト暗号化
.data セクションに埋め込まれている62b456ec407f0a9a05911cb6f238a7fee59329b6d408e7fa557637e62c9eaa43[MD5(payload) 16B][payload]ドライバはデバイスアクセスを許可する前に、呼び出し元プロセスがQihoo Authenticode署名を持っているか確認します。プロセスホロウイングによりバイパス:
360.cn から任意の360インストーラーをダウンロード (アカウント不要、CAPTCHAなし)CREATE_SUSPENDED)CreateRemoteThread 経由でシェルコードを注入; シェルコードは CreateFileW("\\.\DsArk") を呼び出すIoGetCurrentProcess() のイメージ名を確認し、Qihoo証明書を認識してオープンを許可DuplicateHandle で攻撃者プロセスに戻すTerminateProcessインストーラーの WinMain は決して実行されません。
pycryptodome または cryptography pipパッケージ (暗号化IOCTLテスト用)8/8 成功:
HKLM\...\360FsFlt\daboot=1 を作成sc create/start でドライバをロード (WHQL署名済み、テスト署名なし)0x80863000 が応答0x80863008 が notepad.exe を終了0x80863020 がハンドラに到達0x80863028 の暗号検証 (AESキー/IVが正しく、MD5が受理)0xDEAD0000 が拒否| File | SHA256 |
|---|---|
| dsark64.sys | cd3d1a2e119cbbb41ec0e7d7fb17bac106735d62b33ed3cde10087af1da89403 |
| DsArk64_win10.sys | 86127dbc92e2896319d1c9117b85e6db01ff001f3a85614d5ef9088d181b044a |
X: @weezerOSINT / Telegram: @weezer