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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ImpulsiveDLLHijack — C#ベースのツールで、対象バイナリにおけるDLL Hijackの発見と悪用のプロセスを自動化します。発見されたHijackパスは、後にRed Team OperationsにおいてEDRを回避するために武器化することができます。 | Kitploit
ツール/GitHubGitHub/knight0x07/impulsivedllhijack
特権昇格永続化メカニズムエクスプロイトレッドチーミングバイナリエクスプロイト
GitHubknight0x07/impulsivedllhijack

ImpulsiveDLLHijack

C#ベースのツールで、対象バイナリにおけるDLL Hijackの発見と悪用のプロセスを自動化します。発見されたHijackパスは、後にRed Team OperationsにおいてEDRを回避するために武器化することができます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

ImpulsiveDLLHijack

C#ベースのツールで、対象のバイナリにおけるDLLハイジャックの発見と悪用を自動化します。発見されたハイジャックパスは、後でRedTeam運用においてEDRを回避するために武器化できます。

1. 方法論的アプローチ:

このツールは基本的に、DLLハイジャックのために実行される以下の段階を自動化します。

  • 発見 - 潜在的に脆弱なDLLハイジャックパスの発見
  • 悪用 - 確認用DLLがハイジャックされたパスから読み込まれたことを確認し、100%悪用可能なDLLハイジャックであることを確認

発見方法論:

  • ImpulsiveDLLHijack.exeに対象のバイナリパスを指定
  • ProcMonの自動化と、対象バイナリの実行により、潜在的に脆弱なDLLハイジャック可能パスを発見

悪用方法論:

  • ProcMonによって自動生成されたCSVから、潜在的に脆弱なDLLハイジャックパスを解析

  • PEアーキテクチャに応じて確認用DLLをハイジャックパスに1つずつコピーし、同時に対象バイナリを所定の時間実行

  • DLLハイジャック処理が進行中、ハイジャックシナリオから以下の出力を収集可能:

    • 脆弱なハイジャック可能パスにある確認用DLLが対象バイナリに読み込まれた場合、コンソールに「DLLハイジャック成功 -> DLL名: <DLL名> | <対象バイナリ名>」と表示
    • 脆弱なハイジャック可能パスにある確認用DLLが対象バイナリに読み込まれなかった場合、コンソールに「DLLハイジャック失敗 -> <DLLパス>」と表示

    エントリポイント未発見シナリオ:

    • 脆弱なハイジャック可能パスにある確認用DLLが、デフォルトのエントリポイント「DllMain」と異なり「エントリポイントが見つかりません」というエラーが出たが、対象バイナリに読み込まれなかった場合、コンソールに「DLLハイジャック成功 -> [エントリポイント未発見 - 手動解析が必要!]: <ハイジャックパス>」と表示(エントリポイントが正しければハイジャック可能だったことを示す)
    • 脆弱なハイジャック可能パスにある確認用DLLが、デフォルトのエントリポイント「DllMain」と異なり「エントリポイントが見つかりません」エラーが出ても、対象バイナリに実行された場合、コンソールに「DLLハイジャック成功 -> [エントリポイント未発見]: <ハイジャックパス>」と表示(エントリポイントが正しくなくてもハイジャック成功)

注:「エントリポイントが見つかりません」エラーはプログラムによって自動処理されます。MsgBoxを手動で閉じる必要はありません。むしろ閉じると以降のコードがクラッシュします

  • すべての潜在的に脆弱なDLLハイジャックパスに対してDLLハイジャック処理が完了すると、コンソールとテキストファイル(C:\DLLLogs\output_logs.txt)に以下の形式で最終出力が表示されます。

    • <DLLハイジャックパス> --> DLLハイジャック成功(ハイジャックが成功した場合)
    • <DLLハイジャックパス> --> DLLハイジャック失敗(ハイジャックが失敗した場合)
    • <DLLハイジャックパス> --> DLLハイジャック成功 [エントリポイント未発見 - 手動解析が必要](エントリポイントは見つからなかったが手動解析後に成功する可能性がある場合)
    • <DLLハイジャックパス> --> DLLハイジャック成功 [エントリポイント未発見](エントリポイントが見つからなくてもハイジャックが成功した場合)
    • <DLLハイジャックパス> --> コピー:パスへのアクセスが拒否されました(アクセス拒否)

これらの確定したDLLハイジャック可能パスは、後でRedTeamエンゲージメントにおいて、正当な実行ファイル(OneDrive、Firefox、MSEdge、「お好みのLOLBIN」など)を介して悪意のあるDLLインプラントを読み込ませ、最先端のEDRをバイパスするために武器化できます。実際、George Karantzas氏とConstantinos Patsakis氏の研究論文(https://arxiv.org/abs/2108.10422)で評価されているように、多くのEDRはDLLハイジャックを検出できません。

2. 前提条件:

  • Procmon.exe -> https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
  • カスタム確認用DLL:
    • これらは、特定されたハイジャックパスからDLLが正常に読み込まれたかどうかをツールが確認するためのDLLファイル
    • 上記のMalDLLプロジェクトからコンパイル(または私を信頼する場合はプリコンパイル済みバイナリを使用)
    • 32ビットDLLのファイル名:maldll32.dll
    • 64ビットDLLのファイル名:maldll64.dll
    • NuGetパッケージをインストール:PeNet -> https://www.nuget.org/packages/PeNet/(ImpulsiveDLLHijackプロジェクトのコンパイル時の前提条件)

注:前提条件iおよびiiはImpulsiveDLLHijacks.exeと同じディレクトリに配置する必要があります。

  • ビルドとセットアップ情報:

    • ImpulsiveDLLHijack

      • Visual Studioでリポジトリをクローン
      • Visual Studioでプロジェクトを読み込んだら、「プロジェクト」→「NuGetパッケージの管理」→パッケージを参照し、「PeNet」をインストール -> https://www.nuget.org/packages/PeNet/
      • プロジェクトをビルド!
      • ImpulsiveDLLHijack.exeはbinディレクトリ内に生成されます。
    • 確認用DLLの場合:

      • Visual Studioでリポジトリをクローン
      • x86とx64の両方でプロジェクトをビルド
      • x86のリリースをmaldll32.dll、x64のリリースをmaldll64.dllにリネーム
    • セットアップ: 確認用DLL(maldll32およびmaldll64)をImpulsiveDLLHijack.exeのディレクトリにコピーし、ImpulsiveDLLHijack.exeを実行します :))

3. 使い方:

usage

4. 例:

  • 対象実行ファイル:OneDrive.exe

  • 段階:発見

first

  • 段階:悪用

    • 成功したDLLハイジャック:

    success_one

    • 失敗したDLLハイジャック:

    unsuccessful

    • エントリポイントが一致しないためDLLが読み込まれない。手動解析により成功する可能性があります :)

    entrypoint_not_found

    • エントリポイントが一致しなくてもDLLハイジャック成功!

    entry_pointnot found - but dll is executed

  • 段階:最終結果とログ

    • C:\DLLLogs\output_logs.txt:

    output_logs

ありがとうございました。フィードバックをいただけると大変ありがたいです! - knight!

ツールをダウンロード