Founding:高度な回避のための次世代ローダー生成ツール

Image

Founding は、.bin、.exe、または .dll 形式のシェルコードを処理し、高度な難読化または暗号化の技術を適用して、洗練された実行手法を備えたステルス性の高いバイナリを生成するツールです。

機能

コア機能(すべてのコンパイルで適用)

  • 動的 API ハッシュ化
    検出回避のため、実行時に API 関数の一意なハッシュ値を生成します。
  • IAT カモフラージュ
    バイナリの正当性を高めるために、選択した Windows API 関数を呼び出します。
  • 最小 CRT
    Import Address Table を精密に制御するため、CRT ライブラリを削除します。
  • ウォーターマーク
    DOS Stub、Checksum、PE セクション、またはファイルオーバーレイにカスタムのウォーターマークを埋め込みます。
  • リソースファイル
    真正性のため、cleanmgr.exe に似たファイルプロパティを埋め込みます。
  • プレアンブル 0xFC 0x48
    静的解析を回避するため、シェルコードの先頭に xFCx48 を付加します。

暗号化と難読化

  • IPv4/IPv6/MAC/UUID 難読化をサポートします。
  • XORRC4AES 暗号化を提供します。
  • 追加の難読化のためのペイロード・パディングを含みます。
  • 実行ごとにランダムな暗号鍵を生成します。

ジェネレーターの種類

  • Raw
    .bin ペイロードを直接処理します。
  • Donut
    AMSI バイパスなしで Donut を使用して .bin を作成します。
  • Clematis
    garble による難読化と圧縮を伴う .bin のために Clematis を使用します。
  • Powershell-donut
    PS2EXE と Donut を使用して .exe を .bin に変換します。

実行タイプ

  • APC
    非同期プロシージャコール(APC)で実行します。
  • Early-Bird-Debug
    リモートデバッグまたはサスペンドされたプロセスで APC を使用します。
  • EnumThreadWindows
    EnumThreadWindows のコールバック関数を活用します。
  • Local-Mapping-Inject
    サスペンドされたスレッドでローカルマッピングを実行します。
  • Early-Cascade
    ペイロード実行のために ntdll!SE_DllLoaded をフックします。
  • Fibers
    新しいスレッドを作成せずに実行コンテキストを切り替えます。
  • Process-Hypnosis
    デバッグされた子プロセスでペイロードを実行し、その後デタッチします。
  • Tp-Alloc
    スレッドプール API(TpAllocWait/TpSetWait)を使用してシェルコードをキューに入れます。
  • Local-Hollowing
    PE を複製し、サスペンドされたメインスレッドで実行します。

オプション機能

間接 Syscall

  • Hells-Hall
    オプションフラグを含め、すべての実装を間接 Syscall(HellsHall)に変更します。
  • Syswhispers3
    オプションフラグを含め、すべての実装を間接 Syscall(SysWhispers3)に変更します。

コンパイラ

  • Clang-LLVM
    静的解析を回避するために Clang-LLVM の難読化を使用します。

AMSI バイパス

  • Amsi-Opensession
    AmsiOpenSession をパッチして無効な引数を返すようにします。
  • Amsi-Scanbuffer
    AmsiScanBuffer をパッチして無効な引数を返すようにします。
  • Amsi-Signature
    AmsiSignature をパッチして無効な文字列を返し、シグネチャ値を破損させます。
  • Amsi-Codetrust
    WldpQueryDynamicCodeTrust をパッチして無効な引数を返すようにします。

アンフック

  • Unhooking-Createfile
    CreateFileMappingA でマップされた ntdll.dll から、すべての関数のフックを解除します。
  • Unhooking-Knowndlls
    KnownDlls ディレクトリの ntdll.dll から、すべての関数のフックを解除します。
  • Unhooking-Debug
    新しいデバッグプロセスから新しい NTDLL をコピーし、ntdll.dll からすべての関数のフックを解除します。
  • Hookchain
    IAT を変更して関数呼び出しを迂回させ、呼び出しをインターセプトして処理できるようにします。

ETW バイパス

  • Etw-Eventwrite
    EDR テレメトリを無効化するため、EtwEventWriteFullEtwEventWriteEtwEventWriteEx をパッチします。
  • Etw-Trace-Event
    EDR テレメトリを無効化するため、NtTraceEvent をパッチします。
  • Etw-pEventWriteFull
    EDR テレメトリを無効化するため、プライベート関数 EtwpEventWriteFull をパッチして無効なパラメータを返すようにします。

サンドボックス回避

  • Api-Hammering
    ランダムなファイルを作成し、ランダムデータを読み書きして、実行を 10 秒遅延させます。
  • Delay-Mwfmoex
    MsgWaitForMultipleObjectsEx を使用して実行を 10 秒遅延させます。
  • Fibonacci
    フィボナッチ数を計算して実行を 10 秒遅延させます。
  • Mouse-Clicks
    20 秒間クリックを記録し、クリックが 1 回未満の場合はサンドボックス環境だと判断します。
  • Resolution
    サンドボックス環境向けに解像度をチェックします。
  • Processes
    システムで動作しているプロセスが 50 未満かを確認し、サンドボックス環境だと判断します。
  • Hardware
    プロセッサが 2 未満、RAM が 2GB 未満、マウントされた USB が 2 未満かを確認し、サンドボックス環境だと判断します。

ペイロード制御

  • Check-Running
    実行ファイルがすでに動作中かを確認し、動作中であれば重複実行を防止します。
  • Self-Delete
    実行中にペイロードが自己削除するようにします。削除に失敗した場合は、ファイル内容を削除してサイズを 0 バイトに減らします。

その他

  • Dll
    任意のエクスポート関数名(既定: runme)で DLL を作成し、バックグラウンドで rundll32 を実行します。
  • Dll-Stealthy
    任意のエクスポート関数名(既定: runme)で、よりステルス性の高い DLL を作成します。
  • Service
    サービスとして実行される実行ファイルを作成します。
  • Inflate
    ランダムなポルトガル語の単語で実行ファイルを膨張させ、サイズを増やします。
  • Sign
    証明書で最終的な実行ファイルに署名します。
  • No-Window
    ターミナルウィンドウを開かずに実行します。
  • No-Print
    出力を一切表示せずに実行し、実装からすべての printf を削除します。
  • Decoy
    ペイロードと同時に実行されるデコイファイル(例:PDF)を埋め込みます。

ダウンロード&使用方法

翻訳元: https://meterpreter.org/founding-the-next-gen-loader-generator-for-advanced-evasion/

ソース: meterpreter.org