mcpField
D
detecting-dll-sideloading-attacks

detecting-dll-sideloading-attacks

github.com/mukul975セキュリティ35.2k56 回インストール8 週間前に更新
リポジトリ

detecting-dll-sideloading-attacks について

脅威ハンティングやインシデント対応でDLLサイドローディングを調べる分析担当者向けの検出ガイドです。ロードイベント、署名、パス、ハッシュ、プロセスの挙動を組み合わせて、正規アプリが読み込む不審なDLLを調査します。

主な機能

  1. 01脆弱性のある可能性があるアプリの特定
  2. 02SysmonのDLLロードイベントの確認
  3. 03DLLの署名とパスの検証
  4. 04ファイルハッシュの比較
  5. 05ホストプロセスの挙動との相関

活用シーン

  1. 01未署名DLLに関するEDRアラートの調査
  2. 02正規アプリのラッパーや異常なパスの確認
  3. 03DLLサイドローディング事案への対応
  4. 04脅威情報に基づく標的ソフトウェアの調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill detecting-dll-sideloading-attacks

インストール後、Claude Code で/detecting-dll-sideloading-attacksを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

DLL サイドローディング攻撃の検出

使用するタイミング

  • エンタープライズ環境で DLL ハイジャックの可能性を調査するとき
  • 署名済みアプリケーションによる未署名 DLL の読み込みについて、EDR アラートが発生した後
  • 正規のアプリケーションラッパーを利用した APT の永続化を探索するとき
  • インシデント対応中に、トロイの木馬化されたアプリケーションを特定するとき
  • 特定のソフトウェアを標的とした DLL サイドローディングキャンペーンが脅威インテリジェンスで示されたとき

前提条件

  • DLL の読み込みを監視できる EDR(CrowdStrike、MDE、SentinelOne)
  • ハッシュ検証機能を備えた Sysmon Event ID 7(Image Loaded)
  • アプリケーションの許可リスト設定、または DLL の整合性監視
  • 正規のアプリケーションと想定される DLL パスのソフトウェアインベントリ
  • コード署名を検証する機能

ワークフロー

  1. サイドローディングの標的を特定する:完全なパスを指定せずに DLL を読み込む、既知の脆弱なアプリケーションを調査します(LOLBAS、DLL サイドローディングのデータベース)。
  2. DLL 読み込みイベントを監視する:DLL のパスがアプリケーションの想定ディレクトリと異なる場合の読み込みを、Sysmon Event ID 7 でクエリします。
  3. DLL の署名を確認する:署名済み実行ファイルによって読み込まれた、未署名または信頼されていない DLL にフラグを付けます。
  4. パスの異常を検出する:おとりのラッパーである可能性がある、通常とは異なる場所(Temp、AppData、Public)から実行されている正規の実行ファイルを特定します。
  5. ハッシュを検証する:読み込まれた DLL のハッシュを、既知の正常なバージョンや脅威インテリジェンスのフィードと照合します。
  6. プロセスの挙動と関連付ける:疑わしい DLL の読み込み後に、ホストプロセスが通常とは異なる挙動(ネットワーク接続、子プロセスの作成)を示すか確認します。
  7. 記録して修復する:サイドローディングの事例を報告し、悪意のある DLL を隔離して、検出ルールを更新します。

主要な概念

概念説明
T1574.002DLL サイドローディング
T1574.001DLL 検索順序のハイジャック
T1574.006ダイナミックリンカーのハイジャック
T1574.008検索順序のハイジャックによるパスの傍受
DLL 検索順序Windows における DLL の読み込み優先パス
サイドローディング正規のアプリが読み込む場所に悪意のある DLL を配置すること
ファントム DLL正規のアプリが読み込もうとするものの、存在しない DLL
DLL プロキシ正規の DLL に呼び出しを転送する悪意のある DLL

ツールとシステム

ツール目的
SysmonEvent ID 7 による DLL 読み込みの監視
CrowdStrike Falconプロセスのコンテキストを含む DLL 読み込みの検出
Microsoft Defender for EndpointDLL 読み込みの異常検出
Process MonitorDLL 読み込みのリアルタイム追跡
DLL Export ViewerDLL のエクスポート関数の確認
Sigcheckデジタル署名の検証
pe-sieveプロキシ DLL の PE 解析

よくあるシナリオ

  1. 正規アプリのラッパー:攻撃者が署名済みアプリケーション(例:OneDrive updater)を一時フォルダーにコピーし、想定される依存 DLL と同じ名前の悪意のある DLL を隣に配置します。
  2. ファントム DLL の悪用:正規のアプリが存在しない DLL を探す PATH の場所に、悪意のある DLL を配置します。
  3. DLL プロキシ読み込み:悪意のある version.dll がすべてのエクスポートを実際の version.dll に転送する一方で、DllMain で悪意のあるコードを実行します。
  4. ソフトウェア更新のハイジャック:正規のアップデーターが読み込む前に、攻撃者が更新ステージングディレクトリ内の DLL を置き換えます。

出力形式

Hunt ID: TH-SIDELOAD-[DATE]-[SEQ]
Technique: T1574.002
Host Application: [Legitimate signed executable]
Sideloaded DLL: [Malicious DLL name and path]
Expected DLL Path: [Where DLL should legitimately be]
DLL Signed: [Yes/No]
App Location: [Expected/Anomalous]
Host: [Hostname]
Risk Level: [Critical/High/Medium/Low]

コメント