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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
siofra — Windows PE ローダーをシミュレートして DLL ハイジャックの脆弱性を特定し、シェルコードペイロードを含む武器化された DLL を生成し、UAC の自動昇格バイパスを検出します。 | Kitploit
ツール/GitHubGitHub/cybereason/siofra
特権昇格脆弱性スキャナーペイロード生成脆弱性分析バイナリ解析シェルコード生成バイナリエクスプロイト
GitHubcybereason/siofra

siofra

Windows PE ローダーをシミュレートして DLL ハイジャックの脆弱性を特定し、シェルコードペイロードを含む武器化された DLL を生成し、UAC の自動昇格バイパスを検出します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

概要

Siofra は、Windows プログラムにおける DLL ハイジャックの脆弱性を特定・悪用するために設計されたツールです。ディスク上の PE、またはアクティブなプロセスに対応するメモリ内のイメージファイルについて、すべての依存関係(および対応する脆弱性)を可視化するために Windows ローダーをシミュレートすることができます。さらに重要なのは、動的シェルコード生成を伴う PE 感染を介して、これらのタイプの脆弱性を悪用する DLL を簡単に生成できることです。感染した DLL は、DLL のコード(DllMain、エクスポート関数)とリソースを保持するため、それを読み込むアプリケーションの機能をシームレスに維持しつつ、研究者が実行可能ペイロードを指定して、別のプロセスとして実行するか、ターゲットにモジュールとして読み込ませることができます。さらに、このツールには、UAC バイパスの脆弱性をスキャンするために、UAC 自動昇格の条件と前述の機能を組み合わせる自動化メソッドが含まれています。

脆弱性

現時点では、このツールが公開する脆弱性は非常に多数あります。このツールをテストした際、数百のアプリケーションのうち、脆弱ではないと判明したのはほんの数個だけでした。これらの脆弱性は SafeDllSearchMode にもかかわらず悪用可能であることに注意してください。よくある誤解は、「カレントディレクトリ」(SafeDllSearchMode で修正される)と「アプリケーションディレクトリ」(.exe 自体を含むフォルダー)を混同することから生じます。現在 Windows プログラムに存在する DLL ハイジャックの脆弱性の大半は、アプリケーションディレクトリ(Windows の検索順序で最初に来る)に起因します。以下に、このツールのスキャナが生成した出力の一部を抜粋します。これらの脆弱性が最後にテストされたのは 2017 年 7 月中旬です。

  • アプリケーション名: Internet Explorer
  • テスト済み OS: Windows 10 x64 Home/Pro
  • コマンド/出力:

Siofra64.exe --mode file-scan -f "c:\Program Files\Internet Explorer\iexplore.exe" --enum-dependency --dll-hijack

======== c:\Program Files\Internet Explorer\iexplore.exe [64-bit PE] ======== iexplore.exe USER32.dll [KnownDLL] win32u.dll [Base] api-ms-win-core-privateprofile-l1-1-1.dll [API set] kernel32.dll [KnownDLL] GDI32.dll [KnownDLL] api-ms-win-gdi-internal-uap-l1-1-0.dll [API set] gdi32full.dll [Base] msvcp_win.dll [Base] api-ms-win-crt-string-l1-1-0.dll [API set] ucrtbase.dll [Base] msvcrt.dll [KnownDLL] api-ms-win-downlevel-shell32-l1-1-0.dll [API set] shcore.dll [KnownDLL] RPCRT4.dll [KnownDLL] combase.dll [KnownDLL] bcryptPrimitives.dll [Base] ADVAPI32.dll [KnownDLL] api-ms-win-eventing-controller-l1-1-0.dll [API set] sechost.dll [KnownDLL] iertutil.dll [!]

[!] Module iertutil.dll vulnerable at c:\Program Files\Internet Explorer\iertutil.dll (real path: C:\WINDOWS\system32\iertutil.dll)

  • アプリケーション名: Windows Defender
  • テスト済み OS: Windows 10 x64 Home/Pro
  • コマンド/出力:

Siofra64.exe --mode file-scan -f "c:\Program Files\Windows Defender\MpCmdRun.exe" --enum-dependency --dll-hijack

======== c:\Program Files\Windows Defender\MpCmdRun.exe [64-bit PE] ======== MpCmdRun.exe msvcrt.dll [KnownDLL] KERNEL32.dll [KnownDLL] OLEAUT32.dll [KnownDLL] msvcp_win.dll [Base] api-ms-win-crt-string-l1-1-0.dll [API set] ucrtbase.dll [Base] combase.dll [KnownDLL] RPCRT4.dll [KnownDLL] bcryptPrimitives.dll [Base] ADVAPI32.dll [KnownDLL] api-ms-win-eventing-controller-l1-1-0.dll [API set] sechost.dll [KnownDLL] OLE32.dll [KnownDLL] GDI32.dll [KnownDLL] api-ms-win-gdi-internal-uap-l1-1-0.dll [API set] gdi32full.dll [Base] USER32.dll [KnownDLL] win32u.dll [Base] SspiCli.dll [!] mpclient.dll [!] CRYPT32.dll [Base] MSASN1.dll [Base] WINTRUST.dll [Base]

[!] Module SspiCli.dll vulnerable at c:\Program Files\Windows Defender\SspiCli.dll (real path: C:\WINDOWS\system32\SspiCli.dll)

  • アプリケーション名: WMI
  • テスト済み OS: Windows 10 x64 Home/Pro
  • コマンド/出力:

Siofra64.exe --mode file-scan -f "c:\WINDOWS\System32\wbem\wmiprvse.exe" --enum-dependency --dll-hijack

======== c:\WINDOWS\System32\wbem\wmiprvse.exe [64-bit PE] ======== wmiprvse.exe msvcrt.dll [KnownDLL] FastProx.dll [!] wbemcomn.dll [!] bcrypt.dll [!] WS2_32.dll [KnownDLL] api-ms-win-eventing-obsolete-l1-1-0.dll [API set] sechost.dll [KnownDLL] RPCRT4.dll [KnownDLL] api-ms-win-core-heap-obsolete-l1-1-0.dll [API set] kernel32.dll [KnownDLL] NCObjAPI.DLL [!]

[!] Module wbemcomn.dll vulnerable at c:\WINDOWS\System32\wbem\wbemcomn.dll (real path: C:\WINDOWS\system32\wbemcomn.dll) [!] Module bcrypt.dll vulnerable at c:\WINDOWS\System32\wbem\bcrypt.dll (real path: C:\WINDOWS\system32\bcrypt.dll) [!] Module NCObjAPI.DLL vulnerable at c:\WINDOWS\System32\wbem\NCObjAPI.DLL (real path: C:\WINDOWS\system32\NCObjAPI.DLL)

  • アプリケーション名: Windows Search Indexer/Search Protocol Host
  • テスト済み OS: Windows 10 x64 Home/Pro
  • コマンド/出力:

Siofra64.exe --mode file-scan -f "c:\WINDOWS\System32\SearchProtocolHost.exe" --enum-dependency --dll-hijack --explicit-loadlibrary

======== c:\WINDOWS\System32\SearchProtocolHost.exe [64-bit PE] ======== SearchProtocolHost.exe msvcrt.dll [KnownDLL] TQUERY.DLL [!] OLEAUT32.dll [KnownDLL] msvcp_win.dll [Base] api-ms-win-crt-string-l1-1-0.dll [API set] ucrtbase.dll [Base] combase.dll [KnownDLL] RPCRT4.dll [KnownDLL] api-ms-win-core-heap-obsolete-l1-1-0.dll [API set] kernel32.dll [KnownDLL] bcryptPrimitives.dll [Base] cryptdll.dll [!] api-ms-win-security-lsalookup-l2-1-1.dll [API set] advapi32.dll [KnownDLL] api-ms-win-eventing-controller-l1-1-0.dll [API set] sechost.dll [KnownDLL] api-ms-win-shell-namespace-l1-1-0.dll [API set] windows.storage.dll [Base] api-ms-win-shlwapi-winrt-storage-l1-1-1.dll [API set] shlwapi.dll [KnownDLL] GDI32.dll [KnownDLL] api-ms-win-gdi-internal-uap-l1-1-0.dll [API set] gdi32full.dll [Base] USER32.dll [KnownDLL] win32u.dll [Base] api-ms-win-appmodel-state-l1-2-0.dll [API set] kernel.appcore.dll [Base] api-ms-win-shcore-path-l1-1-0.dll [API set] shcore.dll [KnownDLL] api-ms-win-power-base-l1-1-0.dll [API set] powrprof.dll [Base] profapi.dll [Base] msfte.dll [Potential explicit Unicode] [!] msTracer.dll [Potential explicit Unicode] [!] Msidle.dll [Potential explicit Unicode] [!] winhttp.dll [Potential explicit Unicode] [!]

[!] Module msfte.dll vulnerable at C:\WINDOWS\system32\msfte.dll (real path: Unknown) [!] Module msTracer.dll vulnerable at C:\WINDOWS\system32\msTracer.dll (real path: Unknown)

機能

このツールの機能は、ツールの実行モードのそれぞれに対応する 3 つのカテゴリに分けることができます。

感染モード

感染モードでは、32 ビットおよび 64 ビットの DLL ファイルの両方の感染コピーを生成できます。これらの感染ファイルは、プロセス初期化中に読み込まれると、ターゲットアプリケーションの実行フローをハイジャックし、ターゲットアプリケーションのエントリポイントの実行に先立って、ペイロード DLL を読み込むか、ペイロード実行可能ファイルを起動させることができます。

ファイルスキャンモード

ファイルスキャンモードでは、実行可能ファイルのパスまたはフォルダー(実行可能ファイルを再帰的に検索するかどうかはオプション)を指定できます。指定されたパスまたはフォルダーに対して、PE インポート、遅延読み込みインポート、API セット、アセンブリ依存関係、明示的に読み込まれたライブラリが再帰的に列挙・処理され、ランタイムのプロセス初期化中にそれぞれが読み込まれるパスが特定されます。この情報を使用して、ツールはハイジャックに対して脆弱なモジュールを特定できます。PE 処理およびローダーシミュレーション中に、ツールは以下を処理できます: 1. プライマリ PE インポートセクションを使用してインポートされたモジュール。 2. 遅延読み込みを介してインポートされたモジュール。 3. WinSxS アセンブリ依存関係の解決(PE マニフェストリソースが解析され、アセンブリ依存関係 ID が抽出され、WinSxS モジュールパスがカスタム実装を使用して特定されます)。 4. 明示的に読み込まれたモジュール(ランタイムに LoadLibrary を介してインポートされたもの)。 5. 上記すべてのインポートタイプの API セット解決。これは、ApiSetSchema.dll にある非公開データ構造のパーサーのカスタム実装によって実現されます(バージョン 2、4、6 のみがテストされていることに注意してください)。 6. 特定のインポートモジュールを名前で検索する機能。 7. UAC バイパス攻撃に悪用できる Windows コンポーネントの特定(UAC 自動昇格条件が指定されたターゲット PE に自動的に適用され、存在する場合はハイジャック攻撃と組み合わせて使用されます)。 8. 以下の基準に基づいて、脆弱ではないモジュール依存関係を自動的に検出およびフィルタリングする機能: * KnownDLLs * 例外("Base")DLL ステータス。Kernelbase.dll、ntdll.dll など。 * マニフェストオーバーライドセキュリティメカニズム(sysprep.exe で Microsoft が使用)

メモリスキャンモード

メモリスキャンモードでは、ツールはローカルプロセス名/ID を列挙するか、スキャンするプロセス ID を指定できます。ディスク上で指定された PID に対応するイメージファイルを解析するのではなく、ツールはプロセスに現在読み込まれているモジュールを列挙し、そのうちどれがハイジャックに対して脆弱である可能性があるかを特定します。これは、ディスク上の実行可能ファイルがパック/難読化されており、PE ヘッダーの解析によってインポートを特定できない場合に役立ちます。

使用方法

ツールをダウンロード