Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Formbook-Payload-Extraction-XOR-Decryption-Net-Assembly-Analysis — Formbookのリバースエンジニアリング分析。.NETアセンブリ操作とXOR復号化を利用する情報窃取型マルウェア。x32dbgを用いて完全なペイロードを抽出。XOR復号化ループ、CLR初期化、SQLExpressのおとり、キーロガー/クリップボードAPIを含む。 | Kitploit
ツール/GitHubGitHub/kaandemir993/formbook-payload-extraction-xor-decryption-net-assembly-analysis
静的分析動的分析 (サンドボックス)リバースエンジニアリングデバッガ情報収集マルウェア分析デジタルフォレンジックバイナリ解析論文と研究
GitHubkaandemir993/formbook-payload-extraction-xor-decryption-net-assembly-analysis

Formbook-Payload-Extraction-XOR-Decryption-Net-Assembly-Analysis

Formbookのリバースエンジニアリング分析。.NETアセンブリ操作とXOR復号化を利用する情報窃取型マルウェア。x32dbgを用いて完全なペイロードを抽出。XOR復号化ループ、CLR初期化、SQLExpressのおとり、キーロガー/クリップボードAPIを含む。

リポジトリを見る
6122日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

1. x32dbg – 暗号化された構成の復号とメモリ割り当て

x32dbgのメモリダンプにより、Formbookが構成データを復号し、NtAllocateVirtualMemoryを使用してそのためのメモリを割り当てていることが明らかになりました。

主な観察結果:

  • NtAllocateVirtualMemory – 復号されたペイロード用のメモリを割り当てます。
  • mov edx, dword ptr ds:[esi+1C] – ESIレジスタから暗号化データのサイズを取得します。
  • push 0x1000 – MEM_COMMITを使用してメモリを割り当てます。
  • push 0 – 割り当てタイプまたは保護フラグを指定します。
  • mov edx, dword ptr ds:[esi+4] – 別の構成値を取得します。
  • lea ecx, [ebp-4] – ローカル変数へのポインタをロードします。
  • test ecx, ecx – ポインタが有効かどうかを確認します。
  • mov ecx, [esi+1C] – 暗号化データのサイズを再度取得します。
  • push 0x1000 – MEM_COMMITフラグを繰り返します。
  • push 0 – 割り当てフラグを繰り返します。

ダンプの下部セクション:

  • ConnectionStrings – C2アドレス用の.NET構成キー。
  • system.data、DbProviderFactories – .NET構成セクション(おとりである可能性が高い)。
  • system.serviceModel – .NETサービスモデルセクション。
  • <DbProviderFactories /> – 空のXML要素(おとり)。

これが重要な理由:

  • 構成の復号: Formbookはメモリ内で構成を復号します。
  • C2アドレス: ConnectionStringsにはC2 URLが含まれている可能性が高いです。
  • 回避: .NET構成キーワードを使用することで検出を回避します。

視覚的参照:

Formbook Encrypted Configuration & Memory Allocation NtAllocateVirtualMemoryとConnectionStringsの復号を示すx32dbgビュー。

2. x32dbg – .NETアセンブリ操作、XOR復号、CLR初期化

このx32dbgビューは、Formbookが.NETアセンブリ操作、XORベースの復号、およびCLR(Common Language Runtime)初期化を使用してペイロードを実行していることを明らかにしています。

主な観察結果:

  • xor eax, eax – EAXをクリアし、XORベースの復号を示します。
  • call 0x6C6E7F60 – 復号または処理関数を呼び出します。
  • call 0x6C6EE8B0 – 別の処理関数を呼び出します。
  • DllCanUnloadNowInternal – .NETアセンブリのロード/アンロードを管理します。
  • PublicKeyToken=31bf3856ad364e35 – Microsoftアセンブリを偽装します。
  • system.serviceModel – .NETサービスモデル構成(C2通信)。
  • System.Web – .NET Web構成(HTTPベースのC2)。
  • clr.NGenCreateNGenWorker – .NET Native Image Generatorワーカーを作成します。
  • clr.GetCLRFunction – CLR関数を取得します。
  • return to clr.Initialize – .NETランタイムを初期化します。

これが重要な理由:

  • XOR復号: xor eax, eaxとそれに続くcall関数は、XORベースの復号を確認します。
  • .NET実行: FormbookはCLRを使用してペイロードを実行します。
  • 偽装: PublicKeyTokenにより、Microsoftアセンブリのように見せかけます。
  • C2構成: system.serviceModelとSystem.WebはC2設定を保存します。

視覚的参照:

Formbook .NET Assembly, XOR Decryption & CLR XOR復号、DllCanUnloadNowInternal、CLR初期化を示すx32dbgビュー。

3. x32dbg – SQLExpressのおとりとCLR初期化

このx32dbgビューは、FormbookがSQLExpress関連の文字列をおとりとして使用し、.NET CLRを初期化してペイロードを実行していることを明らかにしています。

主な観察結果:

  • L"ce=..\SQLEXPR" – おとりの文字列であり、SQLデータ窃取とは関係ありません。マルウェアを正規のSQL Server Expressコンポーネントに見せかけるために使用されます
  • clr.InitializeFusion – .NET Fusionアセンブリローダーを初期化します。これは.NETペイロードをメモリにロードするために使用されます。
  • clr.GetCLRFunction – マネージドコードを実行するためのCLR関数を取得します。
  • clr.NGenCreateNGenWorker – .NET Native Image Generatorワーカーを作成し、JITコンパイルなしでペイロードを実行できるようにします。
  • return to clr.InitializeFusion+1751 – CLR初期化ルーチンに戻ります。

これが重要な理由:

  • 偽装: SQLEXPR文字列は、セキュリティツールによる検出を回避するためのおとりです。
  • .NET実行: FormbookはCLRを使用してペイロードをメモリ内で直接ロードして実行します
  • 回避: CLR初期化は、マルウェアが静的解析を回避するのに役立ちます。

視覚的参照:

Formbook SQLExpress Decoy & CLR Initialization L"ce=..\SQLEXPR"、clr.InitializeFusion、CLR関数を示すx32dbgビュー。

4. x32dbg – ペイロードの開始とXOR復号ループ

このx32dbgビューは、標準のPE DOSスタブメッセージの後に位置するFormbookのペイロードの開始を明らかにしています。マルウェアはXOR復号ループを使用して、メモリ内でペイロードを復号します。

主要なアセンブリ命令:

  • This program cannot be run in DOS mode – 標準のPE DOSスタブメッセージ。
  • xor dword ptr ds:[edi], eax – EDIのデータをEAXでXORします(復号)。
  • mov al, byte ptr ds:[edi+1] – EDI+1からALにバイトをロードします。
  • xor al, byte ptr ds:[edx+1] – ALをEDX+1のバイトでXORします(復号キー)。
  • mov byte ptr ds:[edi], al – 復号されたバイトをEDIに書き戻します。
  • call ntdll.77DDE45C – RtlIsCurrentThreadAttachExemptを呼び出します(アンチデバッグ)。
  • cmp dword ptr ds:[esi+4], 0 – カウンタ(ESI+4)がゼロかどうかを確認します。
  • sub dword ptr ds:[esi+4], eax – カウンタをデクリメントします。
  • test edx, edx – EDXがゼロかどうかをテストします。
  • jne ntdll.77DDF9F4 – ゼロでない場合にループバックします(復号ループ)。

これが重要な理由:

  • ペイロードの開始: ペイロードは標準のPE DOSスタブの後に始まります。
  • XOR復号: FormbookはXORを使用してメモリ内でペイロードを復号します。
  • アンチデバッグ: RtlIsCurrentThreadAttachExemptを呼び出してデバッガを回避します。
  • ループ: 復号ループはカウンタがゼロになるまで続きます。

視覚的参照:

Formbook Payload XOR Decryption Loop 標準のPE DOSスタブメッセージ後のXOR復号ループを示すx32dbgビュー。

5. Binary Ninja – キーロガー、クリップボード、特権昇格API

抽出されたペイロードのBinary Ninja分析により、Formbookがキーロギング、クリップボードハイジャック、特権昇格に使用するAPIの包括的なリストが明らかになりました。

観察された主要API:

  • クリップボードハイジャック: SetClipboardData、GetClipboardData – クリップボードデータを窃取および置換します。
  • キーロガー: SetWindowsHookExW、SetWindowsHookExA – キーボードフックをインストールします。
  • プロセス操作: NtSetInformationProcess、NtCreateThreadEx、NtTerminateProcess。
  • 特権昇格: NtAdjustPrivilegesToken – トークン特権を調整します。
  • システム制御: NtShutdownSystem、SystemParametersInfoA/W。
  • 永続化: MsInstallProductW/A – 永続化のために製品をインストールします。
  • 実行: CreateProcessInternalW – 新しいプロセスを作成します。

これが重要な理由:

  • キーロギング: すべてのキーストローク(パスワード、メッセージ)をキャプチャします。
  • クリップボード窃取: コピーされた暗号通貨アドレスとパスワードを窃取します。
  • 特権昇格: より深いシステムアクセスのために高い特権を取得します。
  • 永続化: MsInstallProductW/Aは、マルウェアが起動時に実行されることを保証します。

視覚的参照:

Formbook Keylogger & Clipboard APIs キーロガー、クリップボード、特権昇格APIを示すBinary Ninjaビュー。

結論

この分析により、暗号化された構成、.NETアセンブリ操作、XOR復号、キーロギング/クリップボードハイジャックを使用する高度な情報窃取マルウェアであるFormbookが明らかになりました。

主なポイント:

  • 暗号化された構成: NtAllocateVirtualMemoryを使用してメモリ内で構成を復号します。
  • .NETアセンブリ操作: DllCanUnloadNowInternalとPublicKeyTokenを使用してMicrosoftアセンブリを偽装します。
  • CLR初期化: clr.InitializeFusionとclr.NGenCreateNGenWorkerを使用して.NETペイロードを実行します。
  • SQLExpressのおとり: 検出を回避するためにおとりとしてL"ce=..\SQLEXPR"を使用します。
  • ペイロード復号: PE DOSスタブ後にXOR復号ループを使用します。
  • キーロギングとクリップボード窃取: SetWindowsHookExW、SetClipboardData、GetClipboardDataを使用します。
  • 特権昇格: 昇格されたアクセスのためにNtAdjustPrivilegesTokenを使用します。

検出の推奨事項:

  • メモリ内のNtAllocateVirtualMemoryとConnectionStringsを監視します。
  • 異常なプロセスからのDllCanUnloadNowInternalとCLR初期化を検出します。
  • SetWindowsHookExWとSetClipboardDataの呼び出しを監視します。
  • NtAdjustPrivilegesTokenとNtCreateThreadExの使用を確認します。

サンプルのダウンロード

分析されたFormbookサンプルは、独自の分析を行いたい方向けにMalwareBazaarで入手可能です:

🔗 Formbook Sample on MalwareBazaar

使用ツール: x64dbg、Binary Ninja

ツールをダウンロード