
C#ベースのツールで、対象のバイナリにおけるDLLハイジャックの発見と悪用を自動化します。発見されたハイジャックパスは、後でRedTeam運用においてEDRを回避するために武器化できます。
このツールは基本的に、DLLハイジャックのために実行される以下の段階を自動化します。
発見方法論:
悪用方法論:
ProcMonによって自動生成されたCSVから、潜在的に脆弱なDLLハイジャックパスを解析
PEアーキテクチャに応じて確認用DLLをハイジャックパスに1つずつコピーし、同時に対象バイナリを所定の時間実行
DLLハイジャック処理が進行中、ハイジャックシナリオから以下の出力を収集可能:
エントリポイント未発見シナリオ:
注:「エントリポイントが見つかりません」エラーはプログラムによって自動処理されます。MsgBoxを手動で閉じる必要はありません。むしろ閉じると以降のコードがクラッシュします
すべての潜在的に脆弱なDLLハイジャックパスに対してDLLハイジャック処理が完了すると、コンソールとテキストファイル(C:\DLLLogs\output_logs.txt)に以下の形式で最終出力が表示されます。
これらの確定したDLLハイジャック可能パスは、後でRedTeamエンゲージメントにおいて、正当な実行ファイル(OneDrive、Firefox、MSEdge、「お好みのLOLBIN」など)を介して悪意のあるDLLインプラントを読み込ませ、最先端のEDRをバイパスするために武器化できます。実際、George Karantzas氏とConstantinos Patsakis氏の研究論文(https://arxiv.org/abs/2108.10422)で評価されているように、多くのEDRはDLLハイジャックを検出できません。
注:前提条件iおよびiiはImpulsiveDLLHijacks.exeと同じディレクトリに配置する必要があります。
ビルドとセットアップ情報:
ImpulsiveDLLHijack
確認用DLLの場合:
セットアップ: 確認用DLL(maldll32およびmaldll64)をImpulsiveDLLHijack.exeのディレクトリにコピーし、ImpulsiveDLLHijack.exeを実行します :))

対象実行ファイル:OneDrive.exe
段階:発見

段階:悪用




段階:最終結果とログ

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