Rust での回避: LazyDLLSideload プロキシジェネレーターでステルスを自動化

Image

LazyDLLSideload

レッドチームエンゲージメント向けの DLL プロキシ/サイドロードプロジェクト生成用の Rust ベースのツールです。PE エクスポートテーブルを自動的に解析し、ペイロードが組み込まれたコンパイル可能な Rust プロジェクトを生成します。

LazyDLLSideload は、DLL プロキシおよびサイドロードインプラント作成プロセスを自動化します。

  • Windows_sys エコシステムを使用します。
  • 任意の Windows DLL を解析してエクスポート関数を抽出
  • 完全な Rust プロジェクトを生成
  • 文字列難読化。実行時にデクリプト。
  • 2 つの動作モードをサポート: サイドロードプロキシ
  • 動的呼び出しおよびプロキシロード用のシステムコール実行にdyncvokeを使用します。

モード 1: サイドロード

サイドロードモードは、元の DLL を置き換え、特定のエクスポート関数が呼び出されるとペイロードを実行する DLL を作成します。元の DLL は使用されません。これは純粋なサイドロード攻撃です。

動作方法

  1. ツールはターゲット DLL を解析してすべてのエクスポート関数を取得します
  2. すべてのエクスポートのスタブ関数を生成します (ハイジャックされたものを除く)
  3. ペイロードを実行するハイジャックされた関数を持つ lib.rs を作成します
  4. ビルド時に、必要なすべてのエクスポート付きの DLL が得られます

モード 2: プロキシモード

プロキシモードは、以下の洗練された DLL を作成します:

  1. すべての関数呼び出しを元の (名前変更された) DLL に転送します
  2. 特定の関数を 1 つインターセプト (ハイジャック) してペイロードを実行します
  3. 元の DLL の完全な機能を保持します

これは古典的なプロキシ手法です。元の DLL の名前が変更され、プロキシ DLL がその場所に配置され、呼び出しを転送しながら特定の関数をインターセプトします。

ダウンロード

翻訳元: https://meterpreter.org/evasion-in-rust-automate-your-stealth-with-the-lazydllsideload-proxy-generator/

ソース: meterpreter.org