XLoaderマルウェア、難読化を強化、デコイサーバー経由でC2トラフィックをマスク

XLoaderの開発者は、マルウェアのコードを大幅に強化し、コマンド‑アンド‑コントロール(C2)トラフィックを暗号化とデコイサーバーの層の後ろに隠す新しいバージョンをリリースしました。これにより、防御者による分析と検出がより困難になります。

この記事は、バージョン8.1で導入された最新の難読化変更をまとめ、現在のC2プロトコルの仕組みを説明しています。

Formbookは2016年に商用の情報盗聴トロイの木馬として最初に登場し、地下フォーラムで販売され、Webブラウザ、メールクライアント、FTPアプリケーションから認証情報を収集するために広く使用されていました。

2020年初頭、オペレータはFormbookをXLoaderとして変更し、同じコア機能を保持し、マルウェア‑アズ‑ア‑サービスとして他の脅威アクターに提供し続けています。

XLoaderは引き続き保存されたパスワードとクッキーを盗み、キーストロークをログに記録し、二次段階のペイロード用ダウンローダーとして機能します。

ThreatLabzの追跡によると、ファミリーは積極的に開発中であり、最近観察されたビルドはバージョン8.7として識別されています。

XLoaderマルウェア

バージョン8.1以降、XLoaderは既存のコード隠蔽テクニックの周囲に新しい難読化層を導入しており、これはバージョン6と7に既に存在していました。

マルウェアは引き続き暗号化された文字列、実行時にのみ復号化される暗号化されたコードブロック、およびXOR操作と組み合わせた不透明な述語に依存して整数定数を隠します。

関数復号化ルーチンは依然として「egg」を使用してメモリ内の暗号化関数の開始と終了をマークしていますが、より新しいビルドはスタック上で関数パラメータを順不同で構築し、時にはバイト単位で構築することで、単純なパターンマッチング署名を破壊します。

Image

これにより、アナリストはアセンブリレベルで関数レイアウトを再構築するか、Miasm等のフレームワークに依存して難読化されたスタック使用法をリフト・正規化する必要があります。

定数値の難読化も強化されています。以前のバリアントでは比較的単純な算術トリックを使用して小さな定数セットを偽装していましたが、最近の8.xバージョンではXOR復号化された関数の一般的なプロローグバイトも含めており、実行時にのみ解決される暗号化構造内にさらに多くの値をプッシュします。

XLoaderは内部データとネットワークペイロードを復号化するためにカスタムRC4ベースのルーチンに大きく依存しています。以前のバージョンではこの関数は認識とエミュレートが簡単でしたが、8.1以降は、ルーチン自体が難読化層にラップされています。

パラメータを直接ハードコーディングする代わりに、マルウェアは複数の埋め込み定数を含む構造を渡し、復号化関数は使用前にフィールドごとに読み込んで復号化します。

たとえば、内部置換ボックスのサイズは、エンコードされた値(0x25など)として保存され、実行時に別の定数と組み合わせて実際のS‑ボックスサイズを導出します。

Image

このテクニックは、標準的なRC4初期化パターンの識別に依存する静的分析と自動アンパックツールを複雑にします。

多層C2暗号化

XLoaderの主な目的は依然として認証情報盗難と遠隔コマンド実行ですが、そのネットワーク層は複数の暗号化キーとデコイインフラストラクチャを使用して真のC2サーバーを隠します。

内部では、マルウェアはリクエストIDを使用して認証情報流出(HTTP POST経由のID 3)とコマンド取得(PKT2メッセージとXLNGマジックヘッダー付きHTTP GET経由のID 6)を区別します。

アウトバウンドトラフィックの場合、XLoaderはハードコードされたキー、C2 URLのSHA‑1ハッシュ、および暗号化されたC2 URLシードから派生したキーを使用して複数のRC4ベースの暗号化ステップをチェーンします。その結果のデータはBase64‑エンコードされ、ランダム化されたHTTPパラメータにラップされます。

POST要求は盗まれたデータに対して同様のスキームを適用しますが、Base64アルファベットとフィールド形式(たとえば「dat=…&un=…&br=9」)を調整して、直接的なデコーディングを妨害します。

サンドボックスを回避するために、マルウェアは65の暗号化されたC2 IPアドレスを埋め込み、実行時にのみそれらを復号化します。

感染した各ホストはランダムに一度に16のアドレスを選択し、流出とPKT2の両要求をすべてに送信し、すべてのサーバーに連絡されるまでプロセスを繰り返し、防御者が各エンドポイントをアクティブにプローブして、どのサーバーが実際で、どのサーバーがデコイであるかを判断することを強制します。

被害者がPKT2要求を送信すると、XLoaderはC2 URLのSHA‑1ハッシュと派生RC4キーを使用した2段階で復号化する暗号化応答を期待し、その後XLNGマジック値でマークされたコンパクトなコマンド構造に解析します。

サポートされているコマンドはオペレータにPowerShellスクリプトとPEファイルを実行し、マルウェアを更新または削除し、ブラウザクッキーをワイプし、オンデマンドで認証情報盗難をトリガーし、さらに侵害されたシステムを再起動またはシャットダウンすることを許可します。

コード難読化、カスタム暗号化、およびC2隠蔽タクティクスへのこれらの継続的な改善により、XLoaderは分析と大規模検出が困難な弾力性のある情報盗難ツールおよびローダーのままです。

組織は、堅牢なブラウザとメール強化、疑わしいHTTPパターンのアウトバウンドトラフィック監視、およびプロキシログ内のXLoader形式RC4とBase64層の積極的な検索を優先する必要があります。

侵害の指標(IOCs)

SHA256ハッシュ 説明
316fee57d6004b1838576bb178215c99b56a0bd37a012e8650cd2898041f6785 Xloaderバージョン8.7
59db173fbff74cdab24995a0d3669dabf6b09f7332a0128d4faa68ae2526d39a Xloaderバージョン8.5
6b15d702539c47fd54a63bda4d309e06d3c0b92d150f61c0b8b65eae787680be Xloaderバージョン8.5

翻訳元: https://gbhackers.com/xloader-malware-2/

ソース: gbhackers.com