Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
KDU — Windowsカーネルドライバーユーティリティ。脆弱な署名済みドライバーを悪用(BYOVD)してDSEをバイパスし、未署名ドライバーをロードし、保護されたプロセスをハイジャックし、プロセスメモリをダンプします。 | Kitploit
ツール/GitHubGitHub/hfiref0x/kdu
防御ツール特権昇格永続化メカニズム脆弱性分析エクスプロイトリバースエンジニアリングシェルコードマルウェア分析レッドチーミングペイロード開発バイナリエクスプロイト
2.8k55257日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
hfiref0x/kdu

KDU

Windowsカーネルドライバーユーティリティ。脆弱な署名済みドライバーを悪用(BYOVD)してDSEをバイパスし、未署名ドライバーをロードし、保護されたプロセスをハイジャックし、プロセスメモリをダンプします。

リポジトリを見る

KDU

Build status Visitors

カーネルドライバユーティリティ

システム要件

  • x64 Windows 7/8/8.1/10/11;
  • 管理者権限が必要です。

目的と機能

このツールの目的は、大規模なセットアップやローカルデバッガを必要とせずに、Windowsカーネル/コンポーネントを簡単に調査する方法を提供することです。 機能:

  • 任意のPPLまたは任意のプロセスハンドルによる保護プロセスのハイジャック(いずれもEPROCESSオブジェクトの変更を通じて);
  • ドライバ署名強制のオーバーライド(DSEFixに類似);
  • ドライバ署名強制をバイパスするためのドライバローダー(TDL/Strykerに類似);
  • 機能の「プロバイダ」として使用される様々な脆弱なドライバのサポート。

使用方法

KDU -list
KDU -listcsv
KDU -diag
KDU -prv ProviderID
KDU -ps ProcessID
KDU -pse Commandline
KDU -psw Commandline
KDU -pho ProcessID
KDU -dmp ProcessID
KDU -dse value
KDU -map filename
  • -list - 現在利用可能なプロバイダを一覧表示します;
  • -listcsv [file] - 利用可能なプロバイダをCSV形式で一覧表示し、オプションでファイルに書き込みます;
  • -diag - トラブルシューティング用のシステム診断を実行します;
  • -prv - オプション、脆弱なドライバプロバイダを選択します;
  • -ps - 指定されたProcessIDのプロセスオブジェクトを変更し、あらゆる保護をダウングレードします;
  • -pse - プログラムをProtectedProcessLight-AntiMalware (PPL)として起動します;
  • -psw - プログラムをProtectedProcessLight-WinTcb (PPL)として起動します;
  • -pho - 任意のプロセスをフルアクセスで開きます
    • -pht - このプロセス内のすべてのスレッドもフルアクセスで開きます
    • -phc - フラグを継承するコマンドライン(子プロセス)、デフォルトはpowershell
    • -phe - 子プロセスもpplとして起動します
  • -dmp - 指定されたプロセスの仮想メモリをダンプします;
  • -dse - ユーザー定義の値をシステムDSE状態フラグに書き込みます;
  • -map - ドライバをカーネルにマップし、そのエントリポイントを実行します; このコマンドには以下に示す依存関係があります;
    • -scv version - オプション、シェルコードバージョンを選択、デフォルトは1;
    • -drvn name - ドライバオブジェクト名(シェルコードバージョン3でのみ有効);
    • -drvr name - オプション、ドライバレジストリキー名(シェルコードバージョン3でのみ有効)。

例:

  • kdu -ps 1234
  • kdu -map c:\driverless\mysuperhack.sys
  • kdu -dmp 666
  • kdu -prv 1 -ps 1234
  • kdu -prv 1 -map c:\driverless\mysuperhack.sys
  • kdu -prv 6 -scv 3 -drvn DrvObj -map c:\install\e3600bm.sys
  • kdu -prv 6 -scv 3 -drvn edrv -drvr e3600bl -map c:\install\e3600bl.sys
  • kdu -dse 0
  • kdu -dse 6
  • kdu -pse "C:\Windows\System32\notepad.exe C:\TEMP\words.txt"
  • kdu -psw "C:\Windows\System32\cmd.exe"
  • kdu -pho 1234 -pht -phe 3
  • kdu -listcsv "c:\kdu\out.csv"

Windows 11 24H2での実行*

Windows 10 20H2での実行*

Windows 8.1でのコンパイルと実行*

完全にパッチ適用されたWindows 7 SP1での実行(プリコンパイル版)*

Windows 10 19H2での実行(プリコンパイル版、SecureBoot有効)*

ほとんどのスクリーンショットはバージョン1.0Xのものです。

-mapコマンドの制限事項

標準のカーネルローダーを関与させず、既にロードされているモジュールをシェルコードで上書きするという特殊なロード方法のため、いくつかの制限があります:

  • ロードされるドライバは「ドライバレス」として実行されるよう特別に設計されていなければなりません;

つまり、DriverEntryで指定されたパラメータは有効ではないため使用できません。また、任意のドライバをロードできるわけではなく、特別に設計されたもののみ、あるいはシェルコードルーチンを変更する必要があります。

  • 対象ドライバに対するSEHサポートはありません;

x64にはSEHコードがありません。代わりに、PEヘッダ内のポインタで記述されたtry/except/finally領域のテーブルがあります。例外が発生した場合、BSODになる可能性があります。

  • ドライバのアンロードはできません;

マップされたコードは自身をアンロードできません; ただし、マップされたコードによって割り当てられたすべてのリソースを解放することはできます。 DRIVER_OBJECT->DriverUnloadはNULLに設定する必要があります。

  • 解決されるのはntoskrnlインポートのみで、それ以外はすべて自分で行う必要があります;

プロジェクトが別のモジュール依存関係を必要とする場合、このローダー部分を書き直す必要があります。

  • いくつかのWindowsプリミティブは、動的コードによる使用がPatchGuardによって禁止されています。

特殊なロード方法のため、マップされたドライバはPsLoadedModulesList内に存在しません。つまり、そのようなコードによって登録されたコールバックは、そのハンドラがこのリスト外のメモリに配置されることになります。PatchGuardがこれを検出し、システムをクラッシュさせる可能性があります。

一般に、カーネル内でやってはいけないことを知りたい場合は、https://github.com/hfiref0x/KDU/tree/master/Source/Examples/BadRkDemo を参照してください。禁止事項の例がいくつか含まれています。

カーネルトレースに関する注意

このツールは、MmUnloadedDriversやPiDDBCacheTableのWindows内部構造を変更しません(今後も変更しません)。その理由は:

  • KDUはサードパーティのセキュリティソフトウェアや様々な怪しいソフトウェア(例: アンチチート)を回避するようには設計されていません;
  • これらのデータは、次のWindows 10メジャーアップデートでPatchGuard保護の対象となる可能性があります。

自己責任で使用してください。一部の怠惰なAVはこのツールをhacktool/マルウェアとしてフラグを立てるかもしれません。

サポートされているプロバイダ

すべてのメタデータを含む完全なリストはこちら:

  • https://github.com/hfiref0x/KDU/blob/master/Help/providers.md

今後、さらにプロバイダが追加される可能性があります。

仕組み

正規のソフトウェアに含まれる既知の脆弱な(または設計上のワームホール)ドライバを使用して、読み書きプリミティブで任意のカーネルメモリにアクセスします。

コマンドに応じて、KDUはTDL/DSEFixとして動作するか、カーネルモードのプロセスオブジェクト(EPROCESS)を変更します。

-mapモードでは、KDUは利用可能なほとんどのプロバイダに対して、デフォルトでSysInternals Process Explorerのサードパーティ署名済みドライバを使用し、そのIRP_MJ_DEVICE_CONTROLルーチン内に小さなローダーシェルコードを配置してハイジャックします。

シェルコードバージョン

KDUはシェルコードを使用して入力ドライバをマップし、そのDriverEntryを実行します。KDUにはいくつかのシェルコードバリアントが埋め込まれています。シェルコードV1、V2、V3はサードパーティの被害者ドライバ(Process Explorerなど)と共に使用されます。

ビルドと注意事項

KDUは完全なソースコード付きで提供されます。 ソースからビルドするには、Microsoft Visual Studio 2019以降が必要です。ドライバビルドには、Microsoft Windows Driver Kit 10以上が必要です。

完全な動作バイナリには、kdu.exe(メイン実行ファイル)とdrv64.dll(ドライバデータベース)が含まれます。これらは同じディレクトリに配置し、kdu.exeに対してR/Wアクセスを有効にする必要があります。すべてのバイナリはシステムゾーンからブロック解除する必要があります。

ユーティリティと注意事項

GenAsIo2Unlockは、AsIO2ドライバを扱うために必要な「ロック解除」リソースを生成するための特別なユーティリティです。このユーティリティの完全なソースはSource\Utils\GenAsIo2Unlockに含まれています。

バグと非互換性の報告

KDUをサードパーティソフトウェアやOSで使用中にバグや非互換性が発生した場合は、お気軽にissueを登録してください。ただし、この非互換性があなた自身の行動に起因する場合、そのような報告は無視されます。

アンチチート、アンチマルウェアの非互換性は無視されます。それはあなた自身の責任です。

免責事項

このプログラムを使用すると、BSODでコンピュータがクラッシュする可能性があります。コンパイル済みバイナリとソースコードは、役立つことを願ってAS-ISで提供されますが、いかなる種類の保証もありません。KDUは完全にバグだらけの脆弱なドライバに依存しているため、仮想マシン上でのみ使用することを強く推奨します。

変更履歴

https://github.com/hfiref0x/KDU/tree/master/CHANGELOG.txt

サードパーティコードの使用

  • TinyAES, https://github.com/kokke/tiny-AES-c
  • whirlpool, https://github.com/mabako/mta-whirlpool

参考文献

ツールをダウンロード