Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-40449 — Windows の UAF に対する LPE エクスプロイト (CVE-2021-40449). | Kitploit
ツール/GitHubGitHub/hakivvi/cve-2021-40449
特権昇格メモリフォレンジック脆弱性分析エクスプロイトシェルコードペイロード開発バイナリエクスプロイト
GitHubhakivvi/cve-2021-40449

CVE-2021-40449

Windows の UAF に対する LPE エクスプロイト (CVE-2021-40449).

リポジトリを見る
48154年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2021-40449

CVE-2021-40449 のエクスプロイトです。win32kfull!GreResetDCInternal の UAF を介した Windows LPE です。

概要

UAF の脆弱性に加えて、このエクスプロイトを可能にするために他のプリミティブが使用されています。

  • SystemHandleInformation パラメータを使用した NtQuerySystemInformation() 関数を介して、ring0 でエクスプロイトの access token のアドレスを漏洩します。
  • ガジェットとして rtlSetAllBits() を使用し、エクスプロイトの access_token.privileges を 0xFF で上書きします。
  • EnumDeviceDrivers() 関数を介して ntoskrnl.exe モジュールのベースアドレスを漏洩し、ring0 上の rtlSetAllBits() のアドレスを漏洩します。
  • ガジェットのパラメータ BitMapHeader を、エクスプロイトの access_token.privileges を上書きできるように細工します。
  • NtSetInformationThread() プリミティブを介して細工した BitMapHeader を割り当て、SystemBigPoolInformation パラメータを使用した NtQuerySystemInformation() 関数を介してビッグプール内の割り当てアドレスを漏洩します。
  • 脆弱な関数と対話するために、まず EnumPrinters() を介してシステム上のプリンターを列挙し、そのうちの1つのドライバをロードし、ユーザーモードコールバック関数 DrvEnablePDEV() への呼び出しをフックします。
  • フック内で、元の DrvEnablePDEV() 関数への呼び出しをプロキシし、エクスプロイト処理を実行してから、プロキシされた呼び出しから返されたものを GDI に返します。
  • フックされた DrvEnablePDEV() 内での ResetDC() への2回目の呼び出しを介して UAF をトリガーします。
  • CreatePalette() プリミティブを使用して同じサイズの細工されたオブジェクトをスプレーすることで、解放された PDC オブジェクトを再利用します。
  • 新たに取得した SeDebugPrivilege 特権を悪用し、winlogon.exe プロセスにシェルコードを注入して NT AUTHORITY\SYSTEM を取得します。

詳細は、Kaspersky によるこの記事を参照してください。

PoC

PoC Win10 Redstone (ビルド 14393) でテスト済み。

ツールをダウンロード