- サイバー犯罪者は Advanced Installer(ソフトウェアパッケージの作成に使用される正規の Windows ツール)を悪用して、暗号通貨マイニングマルウェアを感染マシンにドロップしています。この活動は、遅くとも 2021 年 11 月から続いています。
- 攻撃者は Advanced Installer を使用して Adobe Illustrator、Autodesk 3ds Max、SketchUp Pro のような正規のソフトウェアのインストーラと悪意のあるスクリプトをパッケージ化し、Advanced Installer のカスタムアクション機能を使用して、ソフトウェアインストーラに悪意のあるスクリプトを実行させます。
- この攻撃で標的となったのは 3D モデリングとグラフィックデザインに使用されるソフトウェアのインストーラです。ほとんどのインストーラの言語がフランス語であることから、フランス語圏の国々が狙われていて、建築、エンジニアリング、建設、製造、エンターテインメントなどの業種が標的にされていると考えられます。
- ペイロードは、M3_Mini_Rat(バックドアを設置し、追加の脅威をダウンロードおよび実行できるようにするためのクライアントスタブ)、PhoenixMiner(イーサリアム暗号通貨マイニングマルウェア)、lolMiner(複数の通貨を同時にマイニングできる暗号通貨マイナー)です。
- サイバー犯罪者がこれらのソフトウェアインストーラを悪用している可能性があると判断した理由は、暗号通貨のマイニングは、高性能グラフィック処理ユニット(GPU)の性能にかかっているからです。
被害状況
攻撃者のコマンド & コントロール(C2)ホストに送信された DNS リクエストデータを Talos で分析したところ、この攻撃の主な標的はフランスとスイスのユーザーでした。米国、カナダ、アルジェリア、スウェーデン、ドイツ、チュニジア、マダガスカル、シンガポール、ベトナムなど他の地域でも少数の感染が確認されています。この攻撃で使用されたソフトウェアインストーラの言語はほぼフランス語であり、主にフランス語圏のユーザーが標的にされているという Talos の観測を裏付けています。
攻撃者は 3D モデリングとグラフィックデザイン用のソフトウェアのインストーラを使用しているため、建築、エンジニアリング、建設、製造、エンターテインメントなどの業種が攻撃の影響を受けている可能性があります。これらの業界では、暗号通貨の生成に役立つスペックの高い GPU と高性能なグラフィックカードを搭載したコンピュータが使用されているため、不正な暗号通貨マイニングにとって格好の餌食になっているようです。
攻撃の概要:サイバー犯罪者が Advanced Installer を悪用して暗号通貨マイナーを実行
Talos は、現在進行中の暗号通貨マイニング攻撃を明らかにしました。Advanced Installer を悪用して悪意のあるペイロードが展開されています。Advanced Installer は Windows 用のソフトウェアパッケージを作成するための正規のツールですが、攻撃者はこのツールを使用して、正規のソフトウェアのインストーラと悪意のある PowerShell および Windows バッチスクリプトをパッケージ化していました。これらの悪意のあるスクリプトは、Advanced Installer のカスタムアクション機能(カスタムインストールタスクをユーザーが事前に定義できる機能)を使用して実行されます。最終的なペイロードは PhoenixMiner と lolMiner です。両方とも一般公開されている暗号通貨マイナーであり、コンピュータの GPU 性能が頼りです。
Advanced Installer を使用して悪意のあるスクリプトとともにパッケージ化されたソフトウェアインストーラの例
同じ期間に、このマイニング活動とよく似た戦術、手法、手順(TTP)を使用して、攻撃者が M3_Mini_Rat クライアントスタブを展開したことも確認されています。スタブとは、リモートプロシージャ中にクライアントとサーバー間で送信されるパラメータを変換するコードです。M3_Mini_Rat クライアントスタブは、M3_Mini_Rat によって生成された PowerShell スクリプトであり、被害者のマシンにバックドアを設置します。このバックドアが暗号通貨マイニングに利用されたかどうかは判断できませんでしたが、PhoenixMiner と lolMiner を展開したマイニング攻撃の一環で展開された可能性があるというのが Talos の見解です。どちらの事例でも、攻撃者は Advanced Installer とそのカスタムアクション機能を悪用して悪意のあるスクリプトを展開しており、この後「攻撃方法」で詳しく説明するように、攻撃の順序と命名規則は非常によく似ています。
攻撃者のインフラストラクチャ
この攻撃で使用されたインフラストラクチャを分析したところ、攻撃者が管理する C2 サーバーの位置情報と、以前の攻撃でこれらのサーバーから他のマルウェアが展開されていたことが明らかになりました。C2 サーバーのドメインは sysnod[.]duckdns[.]org で、ルクセンブルクの IP アドレス 104[.]244[.]76[.]183 に名前解決されました。Talos はパッシブ DNS の名前解決データに基づき、sysnod[.]duckdns[.]org が以前はドイツの IP アドレス 79[.]134[.]225[.]70 と 79[.]134[.]225[.]124 に名前解決されていたことを突き止めました。複数の攻撃において、これらのサーバーが Nanocore、njRAT、AsyncRAT といった各種 RAT の C2 サーバーとして機能していたことから、以前の攻撃で今回と同じ攻撃者によって使用されていた可能性があると考えられます。このマイニング攻撃の別の事例では、攻撃者が保有する悪意のあるダウンロードサーバーはフランスにあり、IP アドレスは 51[.]178[.]39[.]184 でした。攻撃者はこのサーバーで、中間 PowerShell ローダー、暗号化された PowerShell ランチャースクリプト、PhoenixMiner、lolMiner をステージングしていました。
攻撃者は 2021 年に攻撃を開始して以来、複数のウォレットアドレスを使用して、数種類の暗号通貨のマイニングを行ってきました。今回の攻撃では、イーサリアムクラシック(ETC)では「0xbEB015945E9Da17dD0dc9A4b316f8F3150d93352」および「0xbCa8d14Df89cc74B158158E55FCaF5022a103795」、FLUX(ZelHash)では「t1KHZ5Piuo4Ke7i6BXfU4」および「t1KHZ5Piuo4Ke7i6BXfU4A」というウォレットアドレスを攻撃者が使用していることが確認されています。Talos がブロックチェーン内の ETC トランザクションを分析したところ、攻撃者がこれらの親ウォレットから他の複数のウォレットに暗号通貨を送金していたことが判明しました。このデータに基づき、Talos は攻撃者のマイニング活動のタイムラインと 2021 年 11 月以降にマイニングされた ETC の枚数をまとめてみました。
2021 年 11 月と 12 月にイーサリアムをほんの数枚マイニングした後、2022 年 10 月にマイニング活動が急増しています。2023 年 1 月には、攻撃者は 50 枚以上のイーサリアムクラシックを生成しました。2023 年 7 月 9 日だけでも 50 枚以上(現在の価値に基づくと約 800 米ドルに相当)をマイニングしています。
バックドアの設置や暗号通貨マイナーの仕込みに使用された 2 つの方法
Talos は、攻撃者がこの攻撃で使用した多段階攻撃の 2 つの方法を突き止めました。1 つ目の方法は、M3_Mini_Rat クライアントスタブをどのようにインストールして使用し、被害者のマシンにバックドアを設置したかを示すものです。2 つ目の方法は、PhoenixMiner と lolMiner をどのように仕込んで暗号通貨マイニングを行ったかを概説するものです。トロイの木馬化されたソフトウェアインストーラが被害者のマシンに最初に送り込まれた方法は特定できませんでした。過去には、このようなトロイの木馬化されたインストーラが、検索エンジン最適化(SEO)ポイズニングの手法を用いて送り込まれることがよくありました。
攻撃方法 1:M3_Mini_Rat クライアントスタブのインストール
1 つ目の攻撃方法の概要
被害者が正規のソフトウェアインストーラをクリックすると、一連の攻撃が開始されます。このインストーラは、攻撃者が Advanced Installer を使用して悪意のあるスクリプトをバンドルしたものです。次にインストーラは、「core.bat」という悪意のあるバッチスクリプトと Advanced Installer のコンポーネントである正規の PE 実行ファイル「viewer.exe」を「MSI72E2.tmp」としてローカルユーザー プロファイルのアプリケーションデータの一時フォルダにドロップします。攻撃者は、悪意のあるスクリプトを実行するために Advanced Installer のカスタムアクション機能を悪用しており、コマンドライン引数を設定することによって、ドロップされた悪意のあるバッチファイルが実行されるようになっています。
インストールプロセスでは、インストールパッケージを解釈してシステムに製品をインストールするために使用される msiexec.exe(Windows Installer の実行プログラム)が、設定されているコマンドライン引数で「MSI72E2.tmp(viewer.exe)」を実行し、悪意のあるバッチスクリプトを実行します。サンドボックスでサンプルを分析した際に確認された例を以下に示します。
msiexec.exe C:\Windows\Installer\MSI72E2.tmp /EnforcedRunAsAdmin /DontWait /RunAsAdmin /HideWindow “C:\Users\user\AppData\Local\Temp\core.bat” |
次にソフトウェアインストーラは、ローカルユーザー プロファイルのローミングフォルダに「webgard」というフォルダを作成し、「cor.ps1」(PS-1)という名前の悪意のある PowerShell ローダースクリプトと、「core.bin」という暗号化ファイル(M3_Mini_RAT クライアントスタブ)をドロップします。
ソフトウェアインストーラの初期の実行段階でドロップされた悪意のあるバッチスクリプト「core.bat」には、被害者のマシンのタスクスケジューラを設定するコマンドが記述されています。このコマンドによって作成される「ViGEmBusUpdater」というタスクが 1 分ごとに実行され、「webgard」フォルダ内の悪意のある PowerShell ローダースクリプトを実行します。攻撃者が「ViGEmBusUpdater」というタスク名を選んだ理由は、正規の実行ファイル「ViGEmBusUpdater」に見せかけて検出を逃れるためだと思われます。タスクスケジューラのコマンドを以下に示します。
schtasks /create /NP /sc minute /mo 1 /tn “ViGEmBusUpdater” /tr ” ‘powershell’ -ExecutionPolicy ByPass -WindowStyle Hidden %appdata%\Webgard\cor.ps1″ /f |
「ViGEmBusUpdater」タスクは、悪意のある PowerShell ローダースクリプトを実行し、暗号化されたファイル「core.bin」を復号して M3_Mini_Rat クライアントスタブを生成、これを被害者のマシンのメモリ内で実行します。M3_Mini_Rat クライアントスタブは C2 に接続しようとしますが、Talos の分析中は C2 が応答しなかったため、後続のペイロード(暗号通貨マイナー)が展開される様子を確認することはできませんでした。
PowerShell ローダー(PS-1)のスクリーンキャプチャ
攻撃方法 2:PhoenixMiner と lolMiner のインストール
2 つ目の攻撃方法の概要
2 つ目の方法でも、攻撃者は Advanced Installer とそのカスタムアクション機能を悪用して悪意のあるバッチスクリプトをドロップします。1 つ目の方法と同様に、Advanced Installer を使用してバンドルされたソフトウェアインストーラを実行するには、ユーザーによる操作が必要です。インストーラは「viewer.exe」と「core.bat」をローカルユーザー プロファイルのアプリケーションデータの一時フォルダにドロップします。「viewer.exe」はランダムなファイル名の一時ファイルとしてドロップされます。2 つ目の方法には少し違ったところがあります。ソフトウェアインストーラには「win.bat」という 2 つ目のバッチスクリプトもバンドルされており、他のファイルと一緒にドロップされ、保存されます。次に「viewer.exe」は、前述のようにカスタムアクションのコマンドに基づいて、ドロップされた 2 つのバッチファイルを実行します。
この 2 つの方法にはもう 1 つ類似点があります。それは、ソフトウェアインストーラがローカルユーザーのローミングプロファイルに「Winsoft」というフォルダを作成し、悪意のある PowerShell ローダースクリプト「core.ps1」(PS-1)と暗号化ファイル「core.bin」(ENC-1)をドロップすることです。
悪意のあるバッチスクリプト「win.bat」は、「MSI Task Host – Detect_Monitor」というタスクを作成してタスクスケジューラを設定し、このタスクを 2 時間ごとに実行することで、「%appdata%winsoft」にドロップされた悪意のある PowerShell ローダースクリプト「core.ps1」(PS-1)を実行します。「win.bat」によって実行されるタスクスケジューラのコマンドを以下に示します。
Win.bat |
schtasks /create /NP /sc minute /mo 120 /tn “MSI Task Host – Detect_Monitor” /tr ” ‘powershell’ -ExecutionPolicy ByPass -WindowStyle Hidden %appdata%\Winsoft\core.ps1″ /RL HIGHEST /f |
スケジュールされたタスク「MSI Task Host – Detect_Monitor」が実行されると、PowerShell ローダースクリプト(PS-1)が実行されます。これにより、暗号化ファイル「core.bin」(ENC-1)が復号され、PowerShell ダウンローダースクリプトが生成、実行されます。
ドロップされた PowerShell ローダー(PS-1)のスクリーンキャプチャ
PowerShell ダウンローダーは、攻撃者が管理するサーバーから被害者のマシンの %windir% に悪意のある ZIP アーカイブをダウンロードします。この ZIP アーカイブを解凍すると、別の PowerShell ローダースクリプト「core.ps1」(PS-2)、暗号化ファイル(ENC-2)、Ethash マイナーの実行ファイル「PhoenixMiner」(ファイル名は「svhost.exe」)がドロップされます。
被害者のマシンのメモリ内で実行される PowerShell ダウンローダーのスニペット
悪意のあるバッチスクリプト「core.bat」には「ViGEmBusUpdater」というタスクを作成するコマンドが記述されており、%windir% にダウンロードした PowerShell ローダースクリプト(PS-2)を 1 分ごとに実行するようにタスクを設定します。core.bat が実行するタスクスケジューラコマンドを以下に示します。
core.bat |
schtasks /create /ru SYSTEM /sc minute /mo 1 /tn “ViGEmBusUpdater1″ /tr ” ‘powershell’ -ExecutionPolicy Bypass %windir%\core.ps1″ /f |
ダウンロードされた PowerShell ローダースクリプト(PS-2)は、スケジュールタスク「ViGEmBusUpdater」の実行時に %windir% から実行されます。これにより、ドロップされた暗号化ファイル(ENC-2)が復号され、被害マシンのシステムメモリ内に PowerShell ランチャースクリプトが生成され実行されます。
ダウンロードされた PowerShell ローダー(PS-2)のスクリーンキャプチャ
PowerShell ランチャーは、イーサリアムクラシックのマイニングパラメータを使用して被害者のマシンの Windows システムフォルダから PhoenixMiner を実行します。攻撃者は、Windows システムフォルダ内の正規の Windows 実行ファイル名「svchost.exe」によく似たファイル名「svhost.exe」を使用していますが、これはおそらく悪意のあるプロセスをスキャンするエンドポイントセキュリティ製品のエンジンで検出されないようにするためです。
PhoenixMiner を実行するためにメモリで実行される PowerShell ランチャーのスクリーンキャプチャ
トロイの木馬化された別のソフトウェアインストーラのサンプルを分析したところ、攻撃チェーンは 2 つ目の攻撃方法と同じでした。違いは、ペイロードが lolMiner だったことだけです。攻撃者は、おそらく「svchost.exe」と誤認識させるために lolMiner に「svshost.exe」という名前を付けており、%windir% にドロップしたファイルを PowerShell ランチャースクリプトを使用して実行し、FLUX(ZelHash)をマイニングしています。
ペイロード
この攻撃で送り込まれるペイロードは、M3_Mini_Rat クライアント、PhoenixMiner という Ethash マイナー、または lolMiner です。
バックドアを設定する M3_Mini_Rat クライアント
M3_Mini_Rat クライアントは、リモート管理機能が備わった PowerShell スクリプトであり、主にシステムの偵察と悪意のある他のバイナリのダウンロードと実行を担っています。RAT クライアントは、M3_Mini_Rat(.Net アプリケーション、作成者は「Mr3」)の管理パネルに関連付けられているビルダーで構築されています。現在出回っているのはバージョン 0.1 だけです。RAT は、RAT クライアントスタブを仕込むのに成功すると、RAT クライアントを介して管理パネルから被害者のマシン上でさまざまなリモート管理機能を実行します。ファイルシステムのアクティビティ、スクリーンショットのキャプチャ、任意のコマンドの実行、被害マシンへのファイルの送信(システムメモリにファイルをロードするかファイルシステムにドロップする)など、RAT は管理パネルから複数のリモート管理機能を実行できます。
M3_Mini_Rat 管理コンソールの例
被害マシンのシステムメモリで RAT クライアントスタブが実行されると、ポート 3434 で TCP 接続を確立してコマンド & コントロールサーバーに接続します。接続に成功すると、攻撃者は M3_Mini_Rat 管理パネルに表示されるリモート管理タスクを実行し、RAT クライアントが処理するコマンドを送信することができます。
C2 への接続指示を示す M3_Mini_Rat クライアントスタブのサンプルコードスニペット
RAT クライアントは以下のコマンドを実行できます。
コマンド | 機能 |
pc | 偵察を実行し、データ(ユーザー名、デスクトップ名、オペレーティングシステムのバージョン、ウイルス対策ソフトウェア、.Net ステータス、CPU、GPU など)を収集します。 |
cl | RAT クライアントを終了します。 |
dis | TCP ストリーム内のデータを破棄して接続を終了します。 |
opr | 実行中のすべてのプロセスをリストし、プロセス ID を収集します。 |
prc | 実行中のすべてのプロセスをリストし、プロセス ID と実行ファイルのパスを収集します。 |
kpr | C2 の指示に従い、対象のプロセス ID を持つ特定のプロセスを停止します。 |
sh | 実行中のプロセスのメインウィンドウのタイトルが「concentr.exe」かどうかを確認することで、Citrix コネクション センター サーバーが実行中かどうかを確認します。 |
frm | C2 サーバーにデータを送信します。 |
drv | ファイルシステムのオブジェクトを列挙し、被害者のマシンの論理ドライブ名をリストして、recon データを C2 に送信します。 |
fld | C2 で指定している対象フォルダの詳細を取得します。 |
dwn | base64 エンコードされた文字列としてデータをダウンロードし、文字列をデコードして RAT クライアントのスクリプトに定義されている変数に書き込みます。その後、RAT クライアントはデコードされたデータを C2 に送り返します。 |
runas | C2 から送信された悪意のある実行ファイルを実行します。 |
up | base64 エンコードされたバイナリ/データを、攻撃者が指定した被害者のマシン上のパスにダウンロードします。 |
uns | RAT クライアントのインスタンスを終了します。 |
up1 | base64 でエンコードされたバイナリをダウンロードします。次に、バイナリをデコードしてから C2 の指示どおりに %AppData%\local\Temp フォルダ内の指定されたファイル名に書き込み、ドロップされたバイナリを起動します。 |
img | ペイロードが正しくドロップされたかどうかを確認します。具体的には、ドロップされたファイルの内容を読み取り、base64 エンコードされたデータストリームに変換して C2 ストリームにアップロードします。 |
mf | ダウンロードしたファイルのファイル名を C2 の指示どおりに変更します。 |
df | ドロップされたファイルを削除します。 |
cvs | C2 の TCP ストリームにデータを書き込みます。 |
ETC をマイニングするための PhoenixMiner
PhoenixMiner は Ethash(ETH、ETC、Musicoin、EXP、UBQ など)のマイナーで、AMD と Nvidia のカードをサポートしており、Ethash 暗号通貨アルゴリズム上で機能します。実行されると、被害者のコンピュータの GPU 性能を使用して Ethash をマイニングします。このマイナーは一般公開されており、hxxps[://]phoenixminer[.]org からダウンロードできます。
この攻撃では、攻撃者は以下に示すように PhoenixMiner の暗号通貨マイニングプールパラメータを使用します。
プールパラメータ | 値 | 説明 |
pool | eu1-etc[.]ethermine[.]org[:]4444 | Ethash プールアドレス |
pool2 | ssl[://]eu1-etc[.]ethermine[.]org[:]5555 | フェールオーバー ethash プールアドレス |
wal | 0xbEB015945E9Da17dD0dc9A4b316f8F3150d93352
0xbCa8d14Df89cc74B158158E55FCaF5022a103795 |
暗号通貨ウォレットアドレス |
worker | Rig0 および RigY | ワーカー名 |
pass | x | Ethash ウォレットパスワード |
proto | 3 | ethash プールの stratum プロトコルとしての qtminer |
log | 0 | ログの書き込みがない |
powlim | 75 | GPU の消費電力を 75% に制限 |
fanmax | 65 | システムファンの最大回転を 65% に制限 |
coin | その他 | イーサリアムクラシック |
Flux をマイニングするための lolMiner
lolMiner はコンピュータの GPU 性能を使用して各種暗号通貨をマイニングする暗号通貨マイナーです。AMD、Nvidia、Intel のカードをサポートしています。この攻撃で確認された lolMiner はバージョン 1.76 で、GitHub 上で一般公開されています。2 種類の暗号通貨を同時にマイニングすることができます。
この攻撃の攻撃者は lolMiner を使用し、以下のマイニングパラメータで FLUX(ZelHash)をマイニングしています。
プールパラメータ | 値 | 説明 |
algo | FLUX | マイニングのアルゴリズム |
pool | educu[.]xyz[:]9999 | マイニングプール |
user | t1KHZ5Piuo4Ke7i6BXfU4
t1KHZ5Piuo4Ke7i6BXfU4A |
マイニングウォレットまたはマイニングプールのユーザーアカウント |
pl | 75 | GPU の消費電力の制限値 |
tstop | 70 | マイニングを一時停止または停止する GPU の温度 |
tstart | 65 | マイニングを開始する GPU の最低温度 |
カバレッジ
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。
Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。この脅威の Snort SID は 62325 です。
ClamAV で、次の脅威を検出できます。
Win.Backdoor.M3MiniRAT-10007342-0
Win.Trojan.MaliciousInstaller-10007344-0
Win.Loader.PowerShellDecrypter-10007381-0
Win.Trojan.MaliciousInstaller-10007345-0
Win.Coinminer.PhoenixMiner-10007386-0
Win.Coinminer.lolMiner-10007385-0
Orbital クエリ
Cisco Secure Endpoint ユーザーは、Orbital Advanced Search を使用して複雑な OSquery を実行し、エンドポイントが特定の脅威に感染しているかどうかを確認できます。この脅威に関連する特定の OSquery については、こちらのリンクをご参照ください。
IOC(侵入の痕跡)
この脅威に関連する IOC は、こちらをご覧ください。
本稿は 2023 年 09 月 07 日に Talos Group のブログに投稿された「Cybercriminals target graphic designers with GPU miners」の抄訳です。