
CVE-2025-3464: 特権のないLPEエクスプロイト for ASUS AsIO3.sys - TOCTOU認証バイパス + PreviousModeデクリメント
このエクスプロイトはWindows 11 22H2以前でのみ動作します。MicrosoftはPreviousModeの不正操作を修正しました。
ASUS AsIO3.sysドライバ向けのローカル特権昇格エクスプロイトです。NT AUTHORITY\SYSTEMを取得します。
このエクスプロイトは、認証バイパス (CVE-2025-3464) とデクリメントプリミティブを連鎖させ、任意のローカルユーザーからSYSTEMへ権限を昇格させます。
| プロパティ | 値 |
|---|---|
| CVE | CVE-2025-3464 |
| タイプ | ローカル特権昇格 |
| ドライバ | AsIO3.sys (ASUS) |
| テスト済み | Windows 11 22H2 (Build 22621) |
AsIO3.sysドライバは、呼び出し元プロセスの実行可能パスにAsusCertServiceが含まれているかどうかを確認し、SHA256ハッシュを検証することで検証を行います。このチェックは、NTFSハードリンクを使用したTime-of-Check-Time-of-Use (TOCTOU) 競合状態に対して脆弱です。
攻撃フロー:
AsusCertServiceを含むパスにエクスプロイト実行可能ファイルを指すハードリンクを作成AsusCertService.exeを指すよう入れ替え注: ドライバはサブストリングマッチによってパスがAsusCertServiceを含むかどうかのみをチェックします。任意のユーザー書き込み可能なパス(例: C:\Users\Public\AsusCertService\)が使用可能なため、管理者権限なしで悪用可能です。
ドライバは、ユーザー制御のポインタに対してObfDereferenceObjectを呼び出すIOCTLを公開しています。これは(ObjectPtr - 0x30)で8バイトのアトミックデクリメントを実行し、任意のデクリメントプリミティブを提供します。
PreviousModeを介した悪用:
NtQuerySystemInformation(SystemHandleInformationEx) を使用してKTHREADアドレスを漏洩KTHREAD + 0x232 (PreviousModeフィールド)NtReadVirtualMemory/NtWriteVirtualMemoryがカーネルメモリにアクセス可能# Compile (Linux cross-compile)
x86_64-w64-mingw32-gcc -O2 -o AsIO3_FullExploit.exe AsIO3_FullExploit.c -lntdll -lshlwapi
AsIO3_FullExploit.exe
前提条件:
構造体オフセット (Windows 11 22H2)
KTHREAD + 0x232 = PreviousMode KTHREAD + 0x220 = Process (EPROCESS pointer) EPROCESS + 0x440 = UniqueProcessId EPROCESS + 0x448 = ActiveProcessLinks EPROCESS + 0x4B8 = Token
注: オフセットはバージョン固有です。対象のWindowsビルドを確認してください。Windows 23H2ではPREVIOUS_MODE_MISMATCH (0x1f9)が発生します。これはPreviousModeトリックに対する緩和策です。
技術的注意事項
参考文献
免責事項
このコードは、認可されたセキュリティ研究および教育目的のみで提供されます。所有するシステム、またはテストする明示的な許可を得たシステムに対してのみ使用してください。コンピュータシステムへの不正アクセスは違法です。