新たなマルウェアプラットフォーム「ROMULUS」、6台のサーバーで複数のマルウェアを配信

ROMULUSは、6台のサーバーにまたがって稼働するClickFix配信プラットフォームです。トロイの木馬化されたStardockパッケージとLegionLoaderを配信する経路が確認されています。

今回の発見により、最近報告されたChatGPTのカスタムGPTの悪用キャンペーンのインフラが、独立して調査されていた別のインシデントとつながりました。さまざまなマルウェアを配信できる、再利用可能なバックエンドの存在が明らかになっています。

調査のきっかけは、研究者が86.109.75[.]7でマルウェアを発見したことでした。このマルウェアは、以前に96.62.224[.]81から配信されたサンプルと一致していました。

ProtectDevices

Huntressは後者のサーバーを、カスタムGPTを悪用して被害者を偽の認証ページへ誘導する攻撃と関連付けています。このページでは、ClickFixの指示によって悪意のあるPowerShellコマンドを実行するよう仕向けられます。

9月28日付の同社レポートは、CanonとStardockのアプリケーションがDLLサイドローディングに悪用されたことを報告しています。

VirusTotalとShodanで検索したところ、ROMULUSの認証パネルと一致するページを公開しているIPアドレスが6つ見つかりました。

各ログインページは認証情報を/api/loginに送信し、返されたトークンを保存したうえで、認証済みのユーザーをダッシュボードへリダイレクトします。

1台のサーバーは/stats.htmも公開しており、ユニークなインストール数、総実行回数、過去の活動状況、地理的分布を確認できました。

GBhackersに共有されたレポートでForescoutは、ROMULUSの配信経路が2つに分かれていると説明しています。PowerShellのステージングスクリプトは/s/<token>、トロイの木馬化されたMSIインストーラーは/app/<token>から配信されます。

Image

確認されたトークンは16進数12文字で構成されていますが、正確な用途は不明です。

ROMULUSマルウェアプラットフォーム

トークンによって選択されるペイロードの経路は異なります。特定のマルウェアファミリー専用のサーバーではなく、設定可能な配信インフラであることがうかがえます。

回収されたスクリプトには共通点がありました。整数配列を重ねた難読化が施され、[scriptblock]::Createで実行コードを復元し、実行後は自身を削除します。

ペイロードごとにロジックは異なるものの、土台となるステージングテンプレートは共通でした。

Stardockの経路では、10進数のIPv4表記を使ってIconEdit2Turb.msiをダウンロードします。86.109.75[.]7は1450003207と表現されていました。

Image

スクリプトは、GUIDを接頭辞に付けたインストーラーを%TEMP%に保存し、ダウンロードブロック用のマーカーを削除します。その後、/qnと/norestartを指定してmsiexec.exeをサイレント実行します。

インストールが始まると正規のDeElevate64.exeが起動し、パッチを当てられたDeElevator64.dllを読み込みます。追加された依存関係により、実行フローは悪意のあるI++u.dllへリダイレクトされます。

Huntressも同じコンポーネントを報告しています。後続のローダー段階ではBuild.datと暗号化されたペイロードの保存領域を使い、リモートアクセス型トロイの木馬(RAT)を展開します。

2つ目の経路では、orbitflownetwork[.]lolから暗号化アーカイブを取得し、GitHubから正規の7zr.exeをダウンロードします。

パスワード付きアーカイブを2層にわたって展開すると、エントロピーの高いバイナリファイル5つと、882,716,672バイトの実行ファイルが現れました。

この実行ファイルの大半は、.relocセクション内の反復的なパディングでした。このため、1MB未満のアーカイブが、スキャン上限やサンドボックスの処理枠、アップロード容量の制限を超えかねないサイズのファイルに膨れ上がります。

実質的な実行コードは、埋め込まれたシェルコードをAES-256で復号し、復号したバッファーを反転させたうえで、最終ペイロードのLegionLoaderを手動でマッピングします。

MalpediaはLegionLoaderを、SatacomやCurlyGate、RobotDropperの名称でも追跡しています。

解析したLegionLoaderの設定では、C2サーバーとしてsmashshape[.]comが指定されていました。登録とタスク受信には/nfront.php、結果の送信には/nback.phpを使います。

通信はRC4で暗号化したうえでBase64エンコードされていますが、Content-Typeにはapplication/x-www-form-urlencodedが宣言されています。AhnLabも以前、これらのエンドポイントの役割や暗号化の方式、Chromeのデータ収集機能を報告していました。

防御側は、次の挙動を優先的に監視すべきです。%TEMP%から実行される長大なPowerShellスクリプト、10進数IPからのダウンロード、非表示の実行フラグ、MSIのサイレントインストール、Base64の塊を1つだけ含むform-urlencoded形式のPOSTリクエストです。

これらの挙動をプロセスの親子関係と突き合わせれば、ファイル名だけに頼るより確実に検知できます。

攻撃者の特定には至っていません。インフラが共通でも、配信されるマルウェアの所有者が同じとは限りません。また調査担当者は、このプラットフォームとProofpointが別途報告したRomulusLoaderを結びつける証拠を見つけていません。

名称が同じというだけで、別々の調査結果を根拠のない帰属につなげてはならないため、この区別は重要です。

IOC(侵害指標)

指標 コンテキスト
96.62.224[.]81 / 1614733393 Huntressが報告したClickFix配信ノード。ROMULUSのフロントエンドを確認。
86.109.75[.]7 / 1450003207 StardockベースのパッケージとLegionLoaderを配信するROMULUSノード。
hxxp://86.109.75[.]7/s/19481b28bd67 StardockベースのIconEdit2Turb.msiと対になるステージ経路。
hxxp://86.109.75[.]7/app/19481b28bd67/IconEdit2Turb.msi IconEdit2Turb.msi

注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化(デファング)しています(例: [.])。元に戻す場合は、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンスプラットフォーム内に限ってください。

MTTRを21分短縮し、被害が出る前にサイバー脅威を阻止。ANYRUNのサンドボックスをSOCに導入。

Cybersecuritynews subscription

翻訳元: https://gbhackers.com/romulus-malware-platform/

本記事は gbhackers.com の記事を翻訳・要約したものです。