ACRStealer バリアントがシステムコール回避、TLS C2、セカンダリペイロードを展開

新しい研究により、新しいACRStealer バリアントが現在HijackLoaderの最終ペイロードとして積極的に展開されており、低レベルのシステムコール、AFDベースのネットワーキング、TLS C2、および柔軟なセカンダリペイロード配信を使用して検出を回避し、データ窃盗を最大化していることが明らかになりました。

新たに観察されたサンプルは、HijackLoaderが以前Amatera Stealer系統にリンクされていたリブランド化されたACRStealer バリアントをドロップしていることを確認しており、これは昨年からマルウェア・アズ・ア・サービスとして提供されています。

これは、ACRStealerがもはや単なる再利用されたコードではなく、複雑なローダーチェーンで使用されている積極的に保守・リパッケージされたモジュールであることを示しています。

G DATAの最近のインフラストラクチャ分析は、ACRStealerがLummaStealerなどの他のスティーラーとともにPiviGamesエコシステム経由で配布されており、ゲーミング焦点の感染チェーンでの足跡を拡大していることをさらに強調しています。

実際には、この モジュール統合により、ACRStealerは既存の配信フレームワークにプラグイン可能な柔軟な最終ペイロードを希望する脅威アクターにとって魅力的になっています。

観察されたペイロードは最初に報告されたリブランド化されたACRStealerであり、Proofpointが昨年の前半に報告しました。

キャンペーン テレメトリは、USA、モンゴル、ドイツでの感染を示しており、アクティビティはplaytogga[.]comなどの一般的なサービスへのトラフィックとpivigames[.]blogからのダウンロードに混在しています。

ACRStealer バリアント

EDR監視とユーザーモードフックを回避するために、新しいバリアントは従来のWin32 APIの代わりにNTDLLおよびWoW64システムコールに大きく依存しています。

Image

プロセス環境ブロックをウォークしてntdll.dllを見つけ、エクスポート アドレス テーブルを解析し、djb2スタイル変形を使用して関数名をハッシュし、後で直接システムコール呼び出し用にグローバル変数にアドレスとシステム サービス番号の両方を保存します。

その後、システムコールはWow64トランジションゲート経由で実行され、ファイルアクセスやプロセス操作などの機密操作が上位レベルのAPIフックをバイパスするために許可されます。

C2セットアップでは、ACRStealerはWindows補助機能ドライバー(AFD)とNTSocketsを悪用することでWinsockを完全に回避しています。

ネイティブパス \Device\Afd\Endpointを構築し、OBJECT_ATTRIBUTEおよびUNICODE_STRING構造を準備し、NtCreateFileを呼び出してユーザーモードからAFDエンドポイントを開きます。

AF_INET/SOCK_STREAM/IPPROTO_TCPのプロトコル値と組み合わせた細工された「AfdOpenPacketXX」構造は、再びws2_32.socketに触れずにRaw TCP IPv4ソケットを作成します。

AFDエンドポイントの準備ができたら、マルウェアはハードコードされたIP 157[.]180[.]40[.]106とポート443を手動で解析し、NtDeviceIoControlFileを使用してAFD経由で接続相当を実行し、標準HTTPSトラフィックのように見えるRaw TCPセッションを確立します。

分析中、IPは反応がありませんでしたが、ロジックは明らかにライブエンドポイントを期待しており、到達不可能な場合は正常に終了します。

接続が成功した場合、ACRStealerは平文TCPチャネルをSSPIを使用してTLSにアップグレードします。Microsoftの統合セキュリティ プロトコル プロバイダーでAcquireCredentialsHandleAを呼び出し、その後、ターゲット名playtogga[.]comを使用してInitializeSecurityContextAをループ実行し、SSPIステータスがSEC_I_CONTINUE_NEEDED (0x90312)である間続行してハンドシェイクを完了します。

その後、Host: playtogga[.]comを含む「/」へのHTTP POSTリクエストと48バイトのバイナリボディを構築し、設定に従ってこれを平文HTTPで送信するか、EncryptMessageを使用して最初に暗号化して完全なTLSラップ流出として送信するかを決定します。

HTTP 200レスポンスに基づいて、スティーラーはハードコードされた32バイトキーを使用してAES-256で受信データを復号化するか、短く睡眠してリカバリ再接続ルーチンを試行し、ビーコンのようなループを実装します。

この層状の設計により、オペレーターはHTTPSのように見えるトラフィックに混在しながら、低レベルの制御を保持する柔軟性を得られます。

ターゲット指定データ窃盗とゲーマーフォーカス

内部的には、スティーラーのタスクは8つの短い設定キーによって駆動され、各キーは整数、配列、ブール値、または文字列などのタイプにマップされています。

Image

GetArrayFieldなどのヘルパーは各キーのオブジェクト配列を返します。その後のタスク処理は、辞書スタイルのフィールド(p, tp, n, f, r)を持つ要素を反復処理して、名前、ターゲット パス、引数、ファイル リスト、および再帰フラグを導出します。

NtOpenFileおよびNtQueryDirectoryFileなどのNTシステムコールを使用して、ACRStealerはUSERPROFILEからユーザーディレクトリをウォークし、NtDelayExecutionを介した短い睡眠間で低実行プロファイルを維持しながらデータを流出させます。

ブラウザー窃盗はDPAPIの悪用から始まります。マルウェアは「ローカル状態」ファイルを特定し、encrypted_keyを抽出してBase64デコードし、DPAPIプレフィックスを削除し、CryptUnprotectDataを呼び出して生のAESマスターキーを復号化します。

盗まれたブラウザー成果物は、ハードコードされたGUID風の名前「d5e48e78-2951-4117-b806-e4f8e626f28c.txt」を持つテキストファイルに統合されてからC2にアップロードされます。

より高度なルーチンは、動的にCopyFileAを解決してシェルコードをブラウザーに注入し、バージョン127未満のChromeのアプリバウンド暗号化をバイパスし、「Elevator.exe」または昇格サービス.exeをターゲットにして昇格されたアクセスを取得し、追加の保護されたデータを復号化します。

スティーラーはまた、ログイン データ、Cookie、WebData、およびマシンGUID、アーキテクチャ、ユーザー名、ロケール、OSビルドなどの豊富な被害者フィンガープリント詳細を収集し、同じテキストファイルをステージング コンテナとして再度使用します。

注目すべき追加は、Steamを通じたゲーマーの明示的なターゲティングです。レジストリからSteamのインストール パスをクエリし、loginuser.vdfおよびlocal.vdfなどのファイルから認証情報とトークンを流出させるために抽出します。

情報窃盗を超えて、新しいACRStealerは設定で定義されたセカンダリペイロードのローダーとして機能します。

1つのスイッチのようなルーチンは、タスクを.exe、.ps1、.dll、および.cmdペイロード処理にマップし、2つのPowerShellベースの実行チェーンとrundll32.exeを活用するプロセス ホロイング パス間で選択します。

Image

最初のPowerShellパスは「-NoProfile -ExecutionPolicy Bypass -File」で.ps1を実行し、CreateProcessAを通じて.exeペイロードを直接実行しますが、2番目のパスはDownloadStringプラスInvoke-Expression (IEX)を使用してタイプ フラグに基づくリモート スクリプトを実行します。

プロセス ホロイングの場合、マルウェアはCREATE_SUSPENDEDでrundll32.exeを一時停止状態で開始し、シェルコードを注入し、メイン スレッドの命令ポインターを上書きして、注入されたコードが元のエントリ ポイントの代わりに実行されるように実行を再開します。

最終的な関数は再帰的なファイル収集を実行しながら意図的に実行可能型(exe、dll、msi、sys)をスキップし、GetDC、CreateCompatibleBitmap、BitBltなどのdynamically resolvedユーザー32.dllおよびgdi32.dll APIを使用してスクリーンショットをキャプチャします。

「g/screen/screen.bmp」を含むすべての盗まれたコンテンツは、40MBの上限でメモリ内ZIPアーカイブにパックされ、その後TCPポート443を介してC2に流出され、全体的なHTTPSのようなプロファイルに適合します。

テレメトリとインフラストラクチャ分析は、複数のACRStealerサンプルが同じIP 157[.]180[.]40[.]106を共有していることを示しており、7つのうち5つもplaytogga[.]comに連絡しており、テキサス州オースティンに拠点を置く正当なファンタジー サッカー サービスです。

一方、以前HijackLoaderを配布していたPiviGamesは、ACRStealerをドロップしてマルウェア チェーンの提供を継続しており、pivigames[.]blog/adbhuoの URLは現在、以前のマルチファイル バンドルの代わりにLummaStealer「Setup.exe」を含むMegaホスト型ZIPを配信しています。

翻訳元: https://gbhackers.com/acrstealer-variant/

ソース: gbhackers.com