ポータブル実行可能ファイル(PE)ペイロードをPNG画像内に隠し、ほぼメモリ内で実行される多段階のPureRATキャンペーンであり、防御者による検出とフォレンジックスを大幅に困難にしています。
このキャンペーンはステガノグラフィ、PowerShellベースのローダー、UAC回避、プロセスハロウイング、仮想化対策チェックを組み合わせて、侵害されたシステム上で隠密を保ちます。
攻撃は正当なドキュメントまたはアプリケーションを開く代わりに、隠されたPowerShellコマンドを実行する武器化された.LNKファイルで始まります。
このスクリプトは実行ポリシーをバイパスした隠されたウィンドウでPowerShellを実行し、リモートサーバーから難読化されたVBSファイル(tryinggim.vbs)をダウンロードし、現在のユーザー権限を継承してStart-Processを使用してシステムの一時フォルダから起動します。
第2段階のVBSローダーは静的解析を挫折させ検出を回避するために、ジャンクデータと難読化で大幅に埋め込まれています。
ランダムな名前でC:\Users\Public\Downloadsにコピーして、WMI(Win32_ProcessStartup with ShowWindow=0)を使用してユーザーから完全に隠されたさらなるペイロードを生成します。
永続性のため、スクリプトは毎分実行されるTask Schedulerジョブを作成し、ローダーと後続のステージがユーザー対話なしで繰り返し実行されることを保証します。
PNGステガノグラフィ経由のファイルレスPE配信
次のステージは従来の実行可能ファイルをディスクにドロップせずにコアペイロードを配信するPowerShellローダーです。
ハードコードされたドメインに接続してPNGファイルを取得します(「0xptimized_MSI.png」)。見た目は無害に見えますが、画像データ内のカスタムマーカー間に埋め込まれたbase64エンコードされたPEペイロードが含まれています。
スクリプトは隠されたblobの開始と終了インデックスを見つけ、データを抽出し、文字置換を実行し、結果の配列を反転させ、base64でデコードして.NETアセンブリを表すバイト配列にします。
2番目のPNG(「GeneratedPay.png」)もダウンロードされ、デコードされたアセンブリは[System.Reflection.Assembly]::Load()を介してメモリに直接ロードされ、そのMainメソッドが呼び出され、2番目の画像が引数として渡され、すべての悪意あるロジックをPowerShellのプロセスメモリ内に保持します。
VBScript第2段階ペイロードはインフェクションチェーンの中心であり、最も悪意のある活動がその内で発生します。
このローダーは正当なTask Scheduler .NETラッパーを悪用して高頻度のタスクを作成し、conhost.exeを–headlessフラグで使用して、後続のペイロードをダウンロードして起動する追加の隠されたPowerShellコマンドを実行します。
より耐久性のある永続性のために、DLLはHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runの下にRunキーを設定し、ユーザーログオン時の実行を保証します。
また、cmstp.exeを使用して高度なUAC回避を実装します。PreSetupCommandsセクションが自動昇格特権の下でPowerShellベースのレジストリ変更を実行する一時INFファイルを生成し、その後Windows APIコールとシミュレートされたキープレスを使用してcmstp窓の確認を自動化します。
アンチVM チェックとプロセス
完全に有効化される前に、マルウェアはサンドボックスとアナリストVMを回避するための環境チェックを実行します。VMwareアーティファクトの検索やQEMU仮想マシンに関連するMACアドレスを含みます。
デコードされたDLL(0xptimized_MSI.pngから)は.NET Reactorで保護された.NETモジュールです。リバースエンジニアリングを複雑にしますが、標準ツールで展開できます。
環境が安全と判断された場合、復号化されたPEペイロードはアーキテクチャについて検査され、適切なシステムディレクトリ(32ビットの場合はSysWOW64、64ビットの場合はSystem32)にステージングされ、RunPE/プロセスハロウイングルーチンを使用して実行されます。
このルーチンでは、正当なMsbuild.exeプロセスが一時停止状態で作成され、その元のメモリがアンマップされ、メインスレッドを再開する前に新しく割り当てられたメモリ空間に悪意あるペイロードが注入されます。
プロセスメモリのみが変更され、ディスク上のMsbuild.exeは完全で署名されたままであるため、マルウェアはシグネチャベースおよび評判ベースのツールに対する強力な防御回避の恩恵を受けます。
最終ステージは.NETベースのPureRATペイロードであり、再びモジュール型のエクスプロイテーション後フレームワークとして機能する.NET Reactorで保護されています。
その初期活動は詳細なWMIを通じたホストフィンガープリンティングとシステムAPIに焦点を当て、インストール済みセキュリティ製品、ハードウェア識別子、OSバージョンとアーキテクチャ、ユーザーアカウント、および権限レベルに関する情報を収集します。
ダウンロード可能なプラグインを通じて、オペレータはキーロギング、リモートデスクトップアクセス、ウェブカメラとマイク監視、およびオンデマンド追加認証情報盗聴などの機能を有効にすることができ、PureRATを静的なワンサイズフィッツオールインプラントではなく柔軟な動的ローダーに変えます。
このキャンペーンは、攻撃者がどのように益々無害に見えるPNGファイルと信頼されたWindowsバイナリを武器化して、多段階のファイルレスRAT感染を配信しているかを強調しています。
防御者は疑わしい.LNK開始PowerShellアクティビティ、頻繁なTask Schedulerの作成、異常なcmstp.exe使用法、Msbuild.exeのようなバイナリへのプロセスハロウイング、ならびに画像トラフィックと常駐メモリ.NETアセンブリの深い検査を監視して、同様のPureRAT操作を検出する必要があります。
翻訳元: https://gbhackers.com/purerat-hides-pe-payloads/