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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/nccgroup/driverbuddy
脆弱性分析リバースエンジニアリングバイナリ解析
GitHubnccgroup/driverbuddy

DriverBuddy

DriverBuddyは、Windowsカーネルドライバーのリバースエンジニアリングを支援するIDA Pythonスクリプトです。

リポジトリを見るウェブサイト
38377446年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

クイックスタート

DriverBuddy のインストール手順

  1. DriverBuddy フォルダと DriverBuddy.py ファイルを IDA のプラグインフォルダ(C:\Program Files (x86)\IDA 6.8\plugins など、IDA をインストールした場所)にコピーします

DriverBuddy の使用手順

  1. IDA を起動し、Windows カーネルドライバを開きます
  2. Edit->Plugins に移動して Driver Buddy を選択するか、ctrl-alt-d を押します
  3. Output ウィンドウで DriverBuddy の解析結果を確認します
  4. IOCTL をデコードするには、対象の IOCTL をハイライトして ctrl-alt-i を押します

DriverBuddy

DriverBuddy は、Windows カーネルドライバのリバースエンジニアリングに伴う面倒な作業の一部を自動化するための IDAPython プラグインです。 このプラグインには、以下のような便利な機能が多数含まれています。 その例は次のとおりです。

  • ドライバの種類の識別
  • DispatchDeviceControl および DispatchInternalDeviceControl 関数の特定
  • WDF および WDM ドライバの一般的な構造体の設定
    • IRP や IO_STACK_LOCATION などの構造体の識別とラベル付けを試行
    • 通常はラベル付けされない WDF 関数呼び出しにラベルを付与
  • 既知の IOCTL コードの発見とデコード
  • 誤用されやすい関数のフラグ付け

DispatchDeviceControl の特定

DispatchDeviceControl 関数を自動的に特定できることは、 ドライバのリバースエンジニアリング中に時間を節約できる作業です。 この関数は、受信したすべての DeviceIoControl コードを、 そのコードに対応する特定のドライバ関数にルーティングするために使用されます。 この関数を自動的に識別することで、各ドライバの有効な DeviceIoControl コードを はるかに迅速に見つけられるようになります。 さらに、クラッシュが原因でドライバの潜在的な脆弱性を調査する場合、 この関数の位置が分かれば、クラッシュした DeviceIoControl コードに関連する特定の関数呼び出しに焦点を絞り込むのに役立ちます。

WDM 構造体のラベル付け

すべての WDM ドライバ間で共有されるドライバ構造体がいくつかあります。 IO_STACK_LOCATION、IRP、DeviceObject 構造体など、これらの構造体を自動的に識別できると、 リバースエンジニアリングのプロセス中に時間を節約できます。 DriverBuddy は、これらの構造体の多くを特定して識別しようと試みます。

WDF 関数のラベル付け

WDM ドライバと同様に、すべての WDF ドライバ間で共有される関数と構造体がいくつかあります。 これらの関数と構造体を自動的に識別することで、リバースエンジニアリングのプロセス中に 時間を節約し、これらの関数が使用されているドライバの未識別領域に コンテキストを提供します。

DeviceIoControl コードのデコード

ドライバをリバースエンジニアリングしていると、解析の一環として IOCTL コードに遭遇することはよくあります。 これらのコードは、デコードされるとリバースエンジニアに有用な情報を明らかにし、 脆弱性が存在する可能性が高いドライバの特定の部分に 注目を集めることができます。

今後の予定:

  1. refcount の問題を見つけるために、何らかの obref および deref チェックを追加する
  2. 出力の磨き込み、GUI?
  3. 現在の機能の強化・磨き込み
    • DispatchDeviceControl ファインダーの信頼性の向上
    • フラグが立てられた理由に関する短い説明を書く
    • MSDN ドキュメントインポーター

ストレッチゴール:

  1. IOCTL を自動的に見つける
  2. IRP のテイント解析(別名: sysbuf/inbuf のエイリアシングとサイズの追跡)
  3. 他の一般的な構造体の識別
  4. 未初期化変数など

クレジット

  • 私たちは Satoshi Tanda 氏の IOCTL デコーダを使用しています。元はこちら: https://github.com/tandasat/WinIoCtlDecoder。
  • WDF 関数構造体は Red Plait 氏の成果 (http://redplait.blogspot.ru/2012/12/wdffunctionsidc.html) に基づいており、Nicolas Guigo 氏によって IDA Python に移植され、その後私たちが更新しました。

ライセンス

このソフトウェアは MIT License の下で公開されています。LICENSE を参照してください。

ツールをダウンロード