LazyDLLSideload
レッドチームエンゲージメント向けの DLL プロキシ/サイドロードプロジェクト生成用の Rust ベースのツールです。PE エクスポートテーブルを自動的に解析し、ペイロードが組み込まれたコンパイル可能な Rust プロジェクトを生成します。
LazyDLLSideload は、DLL プロキシおよびサイドロードインプラント作成プロセスを自動化します。
- Windows_sys エコシステムを使用します。
- 任意の Windows DLL を解析してエクスポート関数を抽出
- 完全な Rust プロジェクトを生成
- 文字列難読化。実行時にデクリプト。
- 2 つの動作モードをサポート: サイドロードとプロキシ
- 動的呼び出しおよびプロキシロード用のシステムコール実行にdyncvokeを使用します。
モード 1: サイドロード
サイドロードモードは、元の DLL を置き換え、特定のエクスポート関数が呼び出されるとペイロードを実行する DLL を作成します。元の DLL は使用されません。これは純粋なサイドロード攻撃です。
動作方法
- ツールはターゲット DLL を解析してすべてのエクスポート関数を取得します
- すべてのエクスポートのスタブ関数を生成します (ハイジャックされたものを除く)
- ペイロードを実行するハイジャックされた関数を持つ
lib.rsを作成します - ビルド時に、必要なすべてのエクスポート付きの DLL が得られます
モード 2: プロキシモード
プロキシモードは、以下の洗練された DLL を作成します:
- すべての関数呼び出しを元の (名前変更された) DLL に転送します
- 特定の関数を 1 つインターセプト (ハイジャック) してペイロードを実行します
- 元の DLL の完全な機能を保持します
これは古典的なプロキシ手法です。元の DLL の名前が変更され、プロキシ DLL がその場所に配置され、呼び出しを転送しながら特定の関数をインターセプトします。
ダウンロード
ソース: meterpreter.org