
カーネルモードルートキット技術の研究または教育のためのPoCです。 現在はWindows OSに焦点を当てています。 すべてのモジュールはx64ファミリの64ビットOSのみをサポートしています。
すべてのモジュールはWindows 11 x64でテストされています。 ドライバをテストするには、テスト用マシンで以下のオプションを使用できます。
各オプションでは、セキュアブートを無効にする必要があります。
詳細情報は各プロジェクトのディレクトリにあるREADME.mdに記載されています。 すべてのモジュールはWindows 11でテストされています。
| モジュール名 | 説明 |
|---|---|
| BlockImageLoad | Load Image Notify Callbackメソッドを使用してドライバの読み込みをブロックするPoC。 |
| BlockNewProc | Process Notify Callbackメソッドを使用して新しいプロセスをブロックするPoC。 |
| CreateToken | ZwCreateToken() APIを使用して完全な特権を持つSYSTEMトークンを取得するPoC。 |
| DropProcAccess | Object Notify Callbackを使用してプロセスハンドルアクセスを削除するPoC。 |
| ElevateHandle | DKOMメソッドを使用してハンドルアクセスを昇格するPoC。 |
| FileDirHide | ファイル/ディレクトリを隠蔽するPoC。 |
| GetFullPrivs | DKOMメソッドを使用して完全な特権を取得するPoC。 |
| GetKeyStroke | カーネルドライバでキーボード操作をログ記録するPoC。 |
| GetProcHandle | カーネルモードからフルアクセスプロセスハンドルを取得するPoC。 |
| InjectLibrary | Kernel APC Injectionメソッドを使用してDLLインジェクションを実行するPoC。 |
| MemRead | 任意のプロセスメモリを読み取るPoC。 |
| ModHide | DKOMメソッドを使用してロードされたカーネルドライバを隠蔽するPoC。 |
今後、特に以下の機能に関するPoCが追加される予定です。
Pavel Yosifovich, Windowsカーネルプログラミング 第2版 (Independently published, 2023)
Greg Hoglund, and Jamie Butler, ルートキット: Windowsカーネルを乗っ取る (Addison-Wesley Professional, 2005)
Bill Blunden, ルートキットアーセナル: システムの暗黒領域における逃避と回避 第2版 (Jones & Bartlett Learning, 2012)
Matt Hand, EDR回避 - エンドポイント検出システムを打ち破るための決定版ガイド (No Starch Press, 2023)
| ProcHide |
| DKOMメソッドを使用してプロセスを隠蔽するPoC。 |
| ProcProtect | Protected Processを操作するPoC。 |
| QueryModule | カーネルドライバのロードされたアドレス情報を取得するPoC。 |
| StealToken | カーネルモードからトークンスティーリングを実行するPoC。 |