FortiGuard Labs 脅威リサーチ
影響を受けるプラットフォーム: Microsoft Windows
影響を受けるユーザー: Microsoft Windowsユーザー
影響: 収集された情報が将来の攻撃に利用される
深刻度: 高
FortiGuard Labsは先日、YouTubeチャンネルを使ってLumma Stealerの亜種を配信している脅威グループを発見しました。我々は2023年3月にYouTubeで同種の攻撃手法を確認し、報告しました。通常、これらのYouTube動画では、クラック版アプリケーションに関連したコンテンツを公開しています。そこには類似するインストールガイドが表示され、多くの場合、TinyURLやCuttlyといったサービスを使用して短縮された不正なURLが組み込まれています。攻撃者は単純なWebフィルターのブラックリストを回避するために、不正なサーバーを配置する代わりに、GitHubやMediaFireなどのオープンソースプラットフォームを悪用します。その場合、共有リンク先から新しいプライベート.NETローダーが直接ダウンロードされ、そのローダーが最終的なマルウェアであるLumma Stealerを取得します。
Lumma Stealerが狙っているのは、ユーザーの認証情報、システムの詳細情報、ブラウザのデータ、拡張機能といった機密データです。Lumma Stealerは2022年からダークウェブとTelegramチャンネルで宣伝されており、多数のコマンド&コントロール(C2)サーバーが実環境で確認され、アップデートも複数回行われています。図1はLumma StealerのC2サーバーのテレメトリを示しています。世界各地でその存在が観測され、12月に最多を記録しています。
このブログでは、Lumma Stealerの拡散を助長した各ステージの振る舞いを詳しく解説します。
ハッカーはまず、ユーチューバーのアカウントを侵害し、クラック版ソフトウェアの共有に見せかけて動画をアップロードします。図3の動画説明は、不正なURLが埋め込まれており、ユーザーにZIPファイルのダウンロードを促しています。このZIPファイルには、攻撃の次のステージで使用する不正なコンテンツが含まれています。これらの動画は昨年の初めにアップロードされたものですが、ファイル共有サイトでは定期的にファイルが更新され(図4)、ダウンロード数は増え続けています。これは、ZIPファイルが常に新しく、この方法でマルウェアが効果的に拡散されていることを示しています。
ZIPファイル「installer_Full_Version_V.1f2.zip」にはLNKファイルが格納されています。このLNKファイルはPowerShellを呼び出し、John1323456が所有するGitHubリポジトリ「New」から.NET実行ファイルをダウンロードします(図6)。URL「hxxp://cutt[.]ly/lwD7B7lp」は、「hxxps://github[.]com/John1323456/New/raw/main/Installer-Install-2023_v0y.6.6[.]exe」を短縮したものです。別の2つのリポジトリ「LNK」と「LNK-Ex」にも.NETローダーが含まれ、最終ペイロードであるインフォスティーラーを拡散します。
プライベート.NETローダーはSmartAssemblyで難読化されています。.NETローダーはまず、システムの環境変数を取得します(図7)。データの数値が正しければ、PowerShellスクリプトの読み込みへと進みます。それ以外の場合はプログラムを終了します。
図8に示す辞書の構造では、ProcessStartInfoオブジェクトの以下のプロパティが定義されています。これらは不正なコードをひそかに実行し、被害者に疑念を持たれないようにするために使用されます。
この後、ProcessStartInfoオブジェクトを使用してPowerShellプロセスが起動され、プロセスの標準入力にPowerShellスクリプトが渡されます。コードの一部と新たに生成されたプロセスを図9に示します。
プライベート.NETローダーのPowerShellコードの一部を図10に示します。このスクリプトはサーバーのIPアドレスをBase64でエンコードし、4つのサーバーを格納します。さらに、システムの日付を確認し、暗号化されたバイナリデータの取得に適したIPを選択します。分析を困難にするため、スクリプトには無関係なコードが大量に挿入されています。図11は、最初のサーバー176[.]113[.]115[.]224:29983からダウンロードされたデータをキャプチャしたものです。
データを受け取ると、スクリプトはAES CBCを使用してそれを復号し、GZip解凍して次のステージのDLLファイルを取得します。続いて、「[System.Reflection.Assembly]::Load()」で所定のメソッドと型を指定し、DLLファイルを呼び出します(図12)。
図13に示すターゲット関数「PerkyRiggal」は、システムや環境を検査する上で極めて重要です。Resourcesセクションには、Lumma Stealerの最終ペイロードを復号するためにさまざまなPNGファイルが使用されています。検知を回避するために、このファイルでは「BygoLarchen」メソッドを使ってすべての文字列がエンコードされています。図14に示す関数は、事前定義されたキー文字列でターゲットテキストをデコードします。
VMおよびデバッグ対策のため、以下の項目がチェックされます。
すべての環境チェックが完了すると、プログラムはリソースデータを復号し、「SuspendThread」関数を呼び出します。この関数は、スレッドを「一時停止」状態にするために使用されます。これはペイロードの挿入プロセスにおいて非常に重要な手順です(図15)。
Lumma Stealerは、ユーザーのコンピューターから機密情報を窃取するマルウェアの一種です。その標的はシステムのデータ、ブラウザ、暗号通貨のウォレット、ブラウザの拡張機能などです。このマルウェアはC言語で記述され、地下フォーラムで販売されています。検知や分析を回避するために、さまざまな難読化技術が使用されています。Lumma Stealerは、コマンド&コントロール(C2)サーバーに接続して円滑に命令をやり取りし、盗み出したデータを送信します。
C2サーバーとの通信方法を図16に示します。接続可能な最初のサーバーを確認すると、Lumma Stealerはハードコードされたユーザーエージェント「Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36」とパラメーター「act=life」を使用してPOSTメッセージを送信し、チェックインします。これに対応するコードを図17に示します。
続いて、Lumma IDと「act=receive-message」と共にPOSTリクエストを送信します(図18)。この後、窃取され圧縮されたデータが、URI「/api」のC2サーバーにアップロードされます。Lumma Stealerのバージョンは「4.0」のままですが、最近、検知回避を強化するために、HTTPSを使用するように持ち出し機能がアップデートされました。
今回の攻撃では、攻撃者はYouTubeチャンネルを悪用してLumma Stealerを拡散しています。細工されたインストール(ZIP)ファイルは、アプリケーションをインストールしようとするユーザーの意思を悪用し、ユーザーが躊躇なくインストールファイルをクリックするよう誘導することで、ペイロードを配信するための有効なおとりとして機能します。攻撃でオープンソースWebサイトのURLが使用されているのは、ユーザーに気づかれにくくするためです。攻撃者はさらに、プライベート.NETローダーを展開し、環境チェックやVMおよびデバッグ対策用のさまざまな関数を実行します。出所不明なアプリケーションには十分に用心し、信頼できる安全な発信元の正規のアプリケーションを使用するようにしてください。
FortiGuardアンチウイルスは、このブログで解説したマルウェアを、以下の不正プログラムとして検知しブロックします。
W32/Stealer.QLD!tr
MSIL/Agent.WML!tr
MSIL/Kryptik.BJF!tr
LNK/Agent.WML!tr
FortiGate、FortiMail、FortiClient、FortiEDRは、FortiGuardアンチウイルスサービスをサポートしています。これらの各ソリューションには、FortiGuardアンチウイルスエンジンが含まれています。したがって、最新の保護機能を備えたこれらの製品をお使いのお客様は、脅威から保護されています。
不正なURLは、FortiGuard Webフィルタリングサービスによって「悪意のあるWebサイト」として識別されます。
フォーティネットでは、無料でご利用いただけるサイバーセキュリティトレーニングのFortinet Certified Fundamentals(FCF)もお勧めしています。このトレーニングは、エンドユーザーが今日の脅威情勢を認識し、基本的なサイバーセキュリティの概念と技術を習得することを目的としています。
FortiGuard IPレピュテーションおよびアンチボットネットセキュリティサービスは、フォーティネット分散ネットワークから不正な送信元のIPデータを集約し、攻撃を事前にブロックします。この分散ネットワークでは、脅威センサー、CERT、MITER、協力関係にある他社、その他のグローバルソースが連携し、悪意ある送信元に関する最新の脅威インテリジェンスを提供しています。
組織がLumma Stealerやその他のサイバーセキュリティ攻撃を受けていると思われる場合は、フォーティネットのグローバルFortiGuardインシデントレスポンスチームまでご連絡ください。
176[.]113[.]115[.]224
176[.]113[.]115[.]226
176[.]113[.]115[.]227
176[.]113[.]115[.]229
176[.]113[.]115[.]232
Netovrema[.]pw
opposesicknessopw[.]pw
politefrightenpowoa[.]pw
chincenterblandwka[.]pw
48cbeb1b1ca0a7b3a9f6ac56273fbaf85e78c534e26fb2bca1152ecd7542af54
483672a00ea676236ea423c91d576542dc572be864a4162df031faf35897a532
01a23f8f59455eb97f55086c21be934e6e5db07e64acb6e63c8d358b763dab4f
7603c6dd9edca615d6dc3599970c203555b57e2cab208d87545188b57aa2c6b1