ShinyHuntersブランドのSaaSデータ窃取の拡大を追跡

はじめに 

Mandiantは、過去のShinyHuntersブランドの恐喝(エクストーション)作戦と整合する戦術・技術・手順(TTP)を用いる脅威活動の拡大を確認しました。これらの作戦は主に、高度な音声フィッシング(vishing)と、被害者ブランドを装った認証情報収集サイトを悪用し、シングルサインオン(SSO)認証情報および多要素認証(MFA)コードを入手することで企業環境への初期アクセスを獲得します。侵入後、脅威アクターはクラウドベースのソフトウェア・アズ・ア・サービス(SaaS)アプリケーションを標的にして機微なデータや内部コミュニケーションを持ち出し、後続の恐喝要求に利用します。

Google Threat Intelligence Group(GTIG)は現在、この活動を複数の脅威クラスター(UNC6661、UNC6671、そして UNC6240)として追跡しており、進化する提携関係をより粒度高く理解し、なりすまし活動の可能性を考慮できるようにしています。IDプロバイダおよびSaaSプラットフォームを標的とするこの手法は、ShinyHuntersブランドの恐喝に先行して観測してきた脅威活動と一致しますが、恐喝のためにより機微なデータを求めるにつれ、標的となるクラウドプラットフォームの範囲は拡大し続けています。さらに、最近の事案では被害者の担当者への嫌がらせなどを含め、恐喝手口をエスカレートさせているように見受けられます

この活動は、ベンダー製品やインフラストラクチャにおけるセキュリティ脆弱性の結果ではありません。むしろ、ソーシャルエンジニアリングの有効性を改めて浮き彫りにし、可能な限りフィッシング耐性のあるMFAへ移行することの重要性を組織に示しています。FIDO2セキュリティキーやパスキーといった方法は、プッシュ型やSMS認証では防ぎにくい形でのソーシャルエンジニアリングに対して耐性があります。

Mandiantはまた、事前の強化および検知に関する推奨事項を含む包括的ガイドを公開しており、GoogleはGoogle Security Operations内でこれらの知見を運用に落とし込むための詳細な手順解説を公開しました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/vishing-shinyhunters-fig1a.max-1300x1300.png

図1:攻撃経路図

UNC6661によるVishingおよび認証情報窃取活動

2026年1月上旬から中旬にかけてのインシデントでは、UNC6661はIT担当者を装い、標的となった被害組織の従業員に電話をかけ、会社がMFA設定を更新していると主張しました。脅威アクターは従業員を被害者ブランドの認証情報収集サイトへ誘導し、SSO認証情報とMFAコードを取得したうえで、自身のデバイスをMFA用に登録しました。UNC6661に帰属される認証情報収集ドメインは、一般的に(ただし例外もあります)<companyname>sso.com または <companyname>internal.com という形式を用い、NICENICで登録されていることが多く見られます。

少なくとも一部のケースでは、脅威アクターがOkta顧客に属するアカウントへアクセスしました。Oktaは公開したレポートで、IDプロバイダや暗号資産プラットフォームを標的とするフィッシングキット、ならびに後続のvishing攻撃について取り上げています。Oktaはこの活動を複数の脅威クラスターに関連付けていますが、少なくとも一部の活動は、GTIGが追跡するShinyHuntersブランドの作戦と重複しているように見受けられます。

初期アクセスを獲得した後、UNC6661は被害顧客環境内で横展開し、さまざまなSaaSプラットフォームからデータを持ち出しました(ログ例は図2〜図5)。特定の組織やユーザーIDを狙う点は意図的ですが、分析の結果、これらプラットフォームへの後続アクセスは機会主義的である可能性が高く、侵害された個々のSSOセッションを通じて利用可能な権限やアプリケーションによって左右されると考えられます。これらの侵害は、ベンダー製品やインフラストラクチャのセキュリティ脆弱性に起因するものではありません。

一部のケースでは、特定の種類の情報を狙っているように見受けられます。たとえば脅威アクターは、クラウドアプリケーション内で「poc」「confidential」「internal」「proposal」「salesforce」「vpn」といった特定のテキストを含む文書を検索したり、Salesforceに保存された個人識別情報(PII)を標的にしたりしています。さらに、ShinyHuntersブランドのデータリークサイト(DLS)の掲載内容に基づくと、UNC6661は一部被害環境でSlackデータを標的にした可能性があります。

{
  "AppAccessContext": {
    "AADSessionId": "[REDACTED_GUID]",
    "AuthTime": "1601-01-01T00:00:00",
    "ClientAppId": "[REDACTED_APP_ID]",
    "ClientAppName": "Microsoft Office",
    "CorrelationId": "[REDACTED_GUID]",
    "TokenIssuedAtTime": "1601-01-01T00:02:56",
    "UniqueTokenId": "[REDACTED_ID]"
  },
  "CreationTime": "2026-01-10T13:17:11",
  "Id": "[REDACTED_GUID]",
  "Operation": "FileDownloaded",
  "OrganizationId": "[REDACTED_GUID]",
  "RecordType": 6,
  "UserKey": "[REDACTED_USER_KEY]",
  "UserType": 0,
  "Version": 1,
  "Workload": "SharePoint",
  "ClientIP": "[REDACTED_IP]",
  "UserId": "[REDACTED_EMAIL]",
  "ApplicationId": "[REDACTED_APP_ID]",
  "AuthenticationType": "OAuth",
  "BrowserName": "Mozilla",
  "BrowserVersion": "5.0",
  "CorrelationId": "[REDACTED_GUID]",
  "EventSource": "SharePoint",
  "GeoLocation": "NAM",
  "IsManagedDevice": false,
  "ItemType": "File",
  "ListId": "[REDACTED_GUID]",
  "ListItemUniqueId": "[REDACTED_GUID]",
  "Platform": "WinDesktop",
  "Site": "[REDACTED_GUID]",
  "UserAgent": "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.20348.4294",
  "WebId": "[REDACTED_GUID]",
  "DeviceDisplayName": "[REDACTED_IPV6]",
  "EventSignature": "[REDACTED_SIGNATURE]",
  "FileSizeBytes": 31912,
  "HighPriorityMediaProcessing": false,
  "ListBaseType": 1,
  "ListServerTemplate": 101,
  "SensitivityLabelId": "[REDACTED_GUID]",
  "SiteSensitivityLabelId": "",
  "SensitivityLabelOwnerEmail": "[REDACTED_EMAIL]",
  "SourceRelativeUrl": "[REDACTED_RELATIVE_URL]",
  "SourceFileName": "[REDACTED_FILENAME]",
  "SourceFileExtension": "xlsx",
  "ApplicationDisplayName": "Microsoft Office",
  "SiteUrl": "[REDACTED_URL]",
  "ObjectId": "[REDACTED_URL]/[REDACTED_FILENAME]"
}

図2:SharePoint/M365のログ例

"Login","20260120163111.430","SLB:[REDACTED]","[REDACTED]","[REDACTED]","192","25","/index.jsp","","1jVcuDh1VIduqg10","Standard","","167158288","5","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/IP_ADDRESS_REMOVED Safari/537.36","","9998.0","user@[REDACTED_DOMAIN].com","TLSv1.3","TLS_AES_256_GCM_SHA384","","https://[REDACTED_IDP_DOMAIN]/","[REDACTED].my.salesforce.com","CA","","","0LE1Q000000LBVK","2026-01-20T16:31:11.430Z","[REDACTED]","76.64.54[.]159","","LOGIN_NO_ERROR","76.64.54[.]159",""

図3:Salesforceのログ例

{
  "Timestamp": "2026-01-21T12:5:2-03:00",
  "Timestamp UTC": "[REDACTED]",
  "Event Name": "User downloads documents from an envelope",
  "Event Id": "[REDACTED_EVENT_ID]",
  "User": "[REDACTED]@example.com",
  "User Id": "[REDACTED_USER_ID]",
  "Account": "[REDACTED_ORG_NAME]",
  "Account Id": "[REDACTED_ACCOUNT_ID]",
  "Integrator Key": "[REDACTED_KEY]",
  "IP Address": "73.135.228[.]98",
  "Latitude": "[REDACTED]",
  "Longitude": "[REDACTED]",
  "Country/Region": "United States",
  "State": "Maryland",
  "City": "[REDACTED]",
  "Browser": "Chrome 143",
  "Device": "Apple Mac",
  "Operating System": "Mac OS X 10",
  "Source": "Web",
  "DownloadType": "Archived",
  "EnvelopeId": "[REDACTED_ENVELOPE_ID]"
}

図4:Docusignのログ例

脅威アクターがOkta顧客アカウントへアクセスした少なくとも1件のインシデントでは、UNC6661が被害者のGoogle WorkspaceアカウントにToogleBox Recallアドオンを有効化しました。これはメールを検索し恒久的に削除するために設計されたツールです。その後、Oktaからの「Security method enrolled(セキュリティ方法が登録されました)」メールを削除しており、従業員が自分のアカウントに新しいMFAデバイスが関連付けられたことに気付くのを防ぐ目的だった可能性が極めて高いと考えられます。

{
  "Date": "2026-01-11T06:3:00Z",
  "App ID": "[REDACTED_ID].apps.googleusercontent.com",
  "App name": "ToogleBox Recall",
  "OAuth event": "Authorize",
  "Description": "User authorized access to ToogleBox Recall for specific Gmail and Apps Script scopes.",
  "User": "user@[REDACTED_DOMAIN].com",
  "Scope": "https://www.googleapis.com/auth/gmail.addons.current.message.readonly, https://www.googleapis.com/auth/gmail.addons.execute, https://www.googleapis.com/auth/script.external_request, https://www.googleapis.com/auth/script.locale, https://www.googleapis.com/auth/userinfo.email",
  "API name": "",
  "Method": "",
  "Number of response bytes": "0",
  "IP address": "149.50.97.144",
  "Product": "Gmail, Apps Script Runtime, Apps Script Api, Identity, Unspecified",
  "Client type": "Web",
  "Network info": "{\n  \"Network info\": {\n    \"IP ASN\": \"201814\",\n    \"Subdivision code\": \"\",\n    \"Region code\": \"PL\"\n  }\n}"
}

図5:ToogleBox Recallの認可ログエントリ例

少なくとも1件のケースでは、初回のデータ窃取を行った後、UNC6661は侵害したメールアカウントへの新たに得たアクセスを用いて、暗号資産関連企業の連絡先に追加のフィッシングメールを送信しました。その後、脅威アクターは送信済みメールを削除しており、悪意ある活動を隠蔽しようとした可能性が高いと考えられます。

GTIGは、UNC6661の侵入に続く恐喝活動を、共通のToxアカウントを交渉に使用していること、ShinyHuntersブランドの恐喝メール、盗難データのサンプルをホストするためにLimewireを使用していることなど、複数の重複点に基づきUNC6240に帰属させています。2026年1月中旬の恐喝メールでは、UNC6240は自らが盗んだとするデータの内容を列挙し、支払金額と送金先BTCアドレスを指定したうえで、72時間以内に身代金が支払われない場合の結果を脅迫しました。これは過去の恐喝メール(図6)と一致します。また、Limewire上にホストしたサンプルによりデータ窃取の証拠も提示しました。GTIGはさらに、従業員に送信された恐喝SMSを観測し、被害者Webサイトが分散型サービス拒否(DDoS)攻撃の標的になったとの報告も受けています。

特筆すべき点として、2026年1月下旬に「SHINYHUNTERS」と名付けられた新たなShinyHuntersブランドのDLSが出現し、直近の恐喝作戦で侵害された可能性のある複数の被害者とされる組織が掲載されました。このDLSには、過去にUNC6240と関連付けられてきた連絡先情報(shinycorp@tutanota[.]com、shinygroup@onionmail[.]com)も掲載されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/vishing-shinyhunters-fig6.max-1400x1400.png

図6:身代金要求文の抜粋

UNC6671によって実行された類似活動

同じく2026年1月上旬から、UNC6671はIT担当者を装ったvishing作戦を実施し、被害者ブランドの認証情報収集サイトに認証情報とMFA認証コードを入力するよう被害者を誘導しました。認証情報収集ドメインはUNC6661と同じ構造でしたが、Tucowsを用いて登録されることがより多く見られました。少なくとも一部のケースでは、脅威アクターがOktaアカウントへのアクセスを獲得しています。Mandiantはまた、UNC6671がPowerShellを悪用してSharePointおよびOneDriveから機微データをダウンロードした証拠も観測しました。これらのTTPの多くはUNC6661と一致しますが、UNC6671の活動に起因する恐喝メールはブランド表示がなく、追加連絡のために別のTox IDを使用していました。脅威アクターはUNC6671の侵入後、被害者担当者への嫌がらせを含む攻撃的な恐喝手口を用いました。恐喝手口とドメインレジストラの違いは、これら一連の活動に別個の人物が関与している可能性を示唆します

復旧対応と強化

Mandiantは、事前の強化および検知に関する推奨事項を含む包括的ガイドを公開しています。

見通しと示唆

今回の最近の活動は、初期アクセスにvishingを頻繁に用い、Salesforceデータを標的としてきたUNC6240に関連する過去の作戦と類似しています。しかし、標的となるクラウドプラットフォームの数と種類が拡大しており、関連する脅威アクターが恐喝作戦のためにより機微なデータを収集するよう作戦を変更していることを示唆します。さらに、侵害アカウントを用いて暗号資産関連の主体へフィッシングメールを送信している点は、関連する脅威アクターがアクセス拡大や他の後続作戦に向けて潜在的被害者との関係構築を進めている可能性を示しています。特に、この活動の一部は組織ではなく個人を標的としているように見えることから、運用上は別系統であるように見受けられます。

侵害指標(IOC)

本ブログ投稿で概説した活動のハンティングおよび特定を、より広いコミュニティが行えるよう、侵害指標(IOC)を登録ユーザー向けの無料GTI Collectionに収録しました。

フィッシング用ドメイン誘導パターン 

これらのクラスターに関連する脅威アクターは、正規の企業ポータルになりすますことを目的としたドメインを頻繁に登録します。公開時点で特定されたすべてのフィッシングドメインはChrome Safe Browsingに追加されています。これらのドメインは通常、組織名のバリエーションを用いた特定の命名規則に従います。

パターン

例(無害化)

企業SSO

<companyname>sso[.]com, my<companyname>sso[.]com, my-<companyname>sso[.]com

社内ポータル

<companyname>internal[.]com, www.<companyname>internal[.]com, my<companyname>internal[.]com

サポート/ヘルプデスク

<companyname>support[.]com, ticket-<companyname>[.]support, support-<companyname>[.]com

IDプロバイダ

<companyname>okta[.]com, <companyname>azure[.]com, on<companyname>zendesk[.]com

アクセス・ポータル

<companyname>access[.]com, www.<companyname>access[.]com, my<companyname>acess[.]com

ネットワーク指標

本キャンペーンで特定されたネットワーク指標の多くは、Mullvad、Oxylabs、NetNut、9Proxy、Infatica、nsocksなどの商用VPNサービスまたはレジデンシャルプロキシネットワークに関連しています。Mandiantは、これらの指標を広範なブロックに用いる際には注意を払い、環境内でのハンティングおよび相関分析の優先対象とすることを推奨します。

IOC

ASN

関連

24.242.93[.]122

11427

UNC6661

23.234.100[.]107

11878

UNC6661

23.234.100[.]235

11878

UNC6661

73.135.228[.]98

33657

UNC6661

157.131.172[.]74

46375

UNC6661

149.50.97[.]144

201814

UNC6661

67.21.178[.]234

400595

UNC6661

142.127.171[.]133

577

UNC6671

76.64.54[.]159

577

UNC6671

76.70.74[.]63

577

UNC6671

206.170.208[.]23

7018

UNC6671

68.73.213[.]196

7018

UNC6671

37.15.73[.]132

12479

UNC6671

104.32.172[.]247

20001

UNC6671

85.238.66[.]242

20845

UNC6671

199.127.61[.]200

23470

UNC6671

209.222.98[.]200

23470

UNC6671

38.190.138[.]239

27924

UNC6671

198.52.166[.]197

395965

UNC6671

Google Security Operations

Google Security Operationsの顧客は、Okta、Cloud Hacktool、O365のルールパックに含まれるこれらの広範なカテゴリルールや、さらに多くのルールにアクセスできます。Google Security Operations内でこれらの知見を運用化するための手順解説は、本シリーズのパート3で提供されています。本ブログ投稿で議論した活動は、Google Security Operationsでは以下のルール名で検知されます。

  • Okta Admin Console Access Failure

  • Okta Super or Organization Admin Access Granted

  • Okta Suspicious Actions from Anonymized IP

  • Okta User Assigned Administrator Role

  • O365 SharePoint Bulk File Access or Download via PowerShell

  • O365 SharePoint High Volume File Access Events

  • O365 SharePoint High Volume File Download Events

  • O365 Sharepoint Query for Proprietary or Privileged Information

  • O365 Deletion of MFA Modification Notification Email

  • Workspace ToogleBox Recall OAuth Application Authorized

 $e.metadata.product_name = "Okta"
    $e.metadata.product_event_type = /\.(add|update_|(policy.rule|zone)\.update|create|register|(de)?activate|grant|reset_all|user.session.access_admin_app)$/
    (
         $e.security_result.detection_fields["anonymized IP"] = "true" or
         $e.extracted.fields["debugContext.debugData.tunnels"] = /\"anonymous\":true/
    )
    $e.security_result.action = “ALLOW”

図7:匿名化IPから実行された不審なOktaアクションを対象とするハンティングクエリ

$e.metadata.vendor_name = "Google Workspace"
   $e.metadata.event_type = "USER_RESOURCE_ACCESS"
   $e.metadata.product_event_type = "authorize"
   $e.target.resource.name = /ToogleBox Recall/ nocase

図8:ToogleBox Recallに対するGoogle Workspaceの認可イベントを対象とするハンティングクエリ

$e.principal.ip_geo_artifact.network.organization_name = /mullvad.vpn|oxylabs|9proxy|netnut|infatica|nsocks/ nocase or
   $e.extracted.fields["debugContext.debugData.tunnels"] = /mullvad.vpn|oxylabs|9proxy|netnut|infatica|nsocks/ nocase

図9:本キャンペーンで観測された不審なVPN/プロキシサービスを対象とするハンティングクエリ

$e.network.http.user_agent = /Geny\s?Mobile/ nocase
   $event.security_result.action != "BLOCK"

図10:本キャンペーンで観測された不審なUser-Agent文字列を対象とするハンティングクエリ

   $e.metadata.log_type = "OFFICE_365"   
  ($e.metadata.product_event_type = "FileDownloaded" or $e.metadata.product_event_type = "FileAccessed")
   (
     $e.target.application = "SharePoint" or
     $e.principal.application = "SharePoint"
   )
   $e.network.http.user_agent = /PowerShell/ nocase

図11:User-AgentがPowerShellと識別されるSharePointからのプログラムによるファイルアクセス/ダウンロードを対象とするハンティングクエリ

events:
   $e.metadata.log_type = "OFFICE_365"   
   $e.metadata.product_event_type = "FileAccessed"
   (
     $e.target.application = "SharePoint" or
     $e.principal.application = "SharePoint"
   )
   $e.target.file.full_path = /\.(doc[mx]?|xls[bmx]?|ppt[amx]?|pdf)$/ nocase
   $file_extension_extract = re.capture($e.target.file.full_path, `\.([^\.]+)$`)
   $event.security_result.action != "BLOCK"
   $session_id = $e.network.session_id
 match:
    $session_id over 5m
outcome:
   $target_url_count = count_distinct(strings.coalesce($e.target.file.full_path))
   $extension_count = count_distinct($file_extension_extract)
condition:
   $e and $target_url_count >= 50 and $extension_count >= 3

図12:SharePointからの大量の文書ファイルアクセスを対象とするハンティングクエリ

events:
   $e.metadata.log_type = "OFFICE_365"   
   $e.metadata.product_event_type = "FileDownloaded"
   (
     $e.target.application = "SharePoint" or
     $e.principal.application = "SharePoint"
   )
   $e.target.file.full_path = /\.(doc[mx]?|xls[bmx]?|ppt[amx]?|pdf)$/ nocase
   $file_extension_extract = re.capture($e.target.file.full_path, `\.([^\.]+)$`)
   $event.security_result.action != "BLOCK"
   $session_id = $e.network.session_id
 match:
    $session_id over 5m
outcome:
   $target_url_count = count_distinct(strings.coalesce($e.target.file.full_path))
   $extension_count = count_distinct($file_extension_extract)
condition:
   $e and $target_url_count >= 50 and $extension_count >= 3

図13:SharePointからの大量の文書ファイルダウンロードを対象とするハンティングクエリ

$e.metadata.log_type = "OFFICE_365"   
   $e.metadata.product_event_type = "SearchQueryPerformed"
   $e.additional.fields["search_query_text"] = /\bpoc\b|proposal|confidential|internal|salesforce|vpn/ nocase

図14:注目文字列に対するSharePoint検索クエリを対象とするハンティングクエリ

$e.metadata.log_type = "OFFICE_365"   
   $e.target.application = "Exchange"
   $e.metadata.product_event_type = /^(SoftDelete|HardDelete|MoveToDeletedItems)$/ nocase
   $e.network.email.subject = /new\s+(mfa|multi-|factor|method|device|security)|\b2fa\b|\b2-Step\b|(factor|method|device|security|mfa)\s+(enroll|registered|added|change|verify|updated|activated|configured|setup)/ nocase
   // filtering specifically for new device registration strings
   $e.network.email.subject = /enroll|registered|added|change|verify|updated|activated|configured|setup/ nocase
   // tuning out new device logon events
   $e.network.email.subject != /(sign|log)(-|\s)?(in|on)/ nocase

図15:MFA変更通知メールのO365 Exchangeでの削除を対象とするハンティングクエリ

掲載先

翻訳元: https://cloud.google.com/blog/topics/threat-intelligence/expansion-shinyhunters-saas-data-theft/

ソース: cloud.google.com