「City-Forum」と呼ばれる巧妙な脅威キャンペーンが、一般公開されているSalesforce Experience CloudサイトおよびServiceNow Service Portalを標的とし、匿名ユーザーに公開されているデータの列挙と抽出を狙っています。
この活動を発見したセキュリティ企業Recoによると、攻撃者は広く出回っている攻撃ツールに頼るのではなく、独自開発したマルチプラットフォーム対応のツールセットを使用しているとのことです。
このキャンペーンが特に注目される点は、よく知られたSalesforce Auraの列挙手法と、あまり知られていないSalesforce Lightning Web Runtime(LWR)サイトおよびServiceNowポータルの検索機能を狙う手法を組み合わせている点です。
City-Forumハッカー集団、SalesforceとServiceNowを標的に
このキャンペーンは、Contaboがホストし、ASN 51167に割り当てられているIPアドレス158.220.87.79にまでさかのぼることができます。このIPはcity-forum.comおよび関連する複数のサブドメインに解決されており、このことがこの作戦名の由来となっています。
パッシブDNSの証拠によると、このインフラは少なくとも2025年3月以降このアドレスと関連付けられており、攻撃者が長期にわたりスキャン環境を維持してきたことがうかがえます。
サーバーからのリクエストは一貫してGo-http-client/1.1というユーザーエージェントを使用しています。これはGo言語のHTTPライブラリのデフォルト値であり、この活動が通常のブラウザトラフィックではなく、コンパイル済みツールによる自動化されたものであることを示しています。
Recoの観測によると、同じインフラは通信、銀行、金融サービス、エンタープライズソフトウェア、セキュリティ、プライバシー、公共部門など、さまざまな分野の組織を標的にしていました。
これまでのところ、この活動はゲストアクセスまたは未認証アクセスに関連付けられていますが、認証済みアクセスの悪用が完全に排除されているわけではありません。
核心的な問題は新たに公表されたプラットフォームの脆弱性ではなく、組織がインターネットに公開されたゲストユーザーに意図せず利用可能にしてしまったレコード、メタデータ、ポータルの検索結果、アプリケーション機能を攻撃者が悪用している点にあります。

従来型のSalesforce Experience Cloud実装において、City-Forumは Auraフレームワークの/auraエンドポイントを利用し、アクセス可能なオブジェクトとレコードを列挙します。
攻撃者は、HostConfigController.getConfigDataやSelectableListDataProviderController.getItemsといったメソッドを呼び出すリクエストを大量に発行していると報告されています。
これらの呼び出しにより、ゲストコンテキストからアクセス可能なオブジェクトの種類が露呈する可能性があります。これにより、共有ルール、オブジェクト権限、フィールドレベルの制御が過度に緩い場合、レコードを体系的にページ送りしながら取得できてしまいます。
Recoは、特に集中的に狙われた環境において、単一のIPアドレスから56万件を超えるイベントを記録しました。
この攻撃は、GraphQLエンドポイント/webruntime/api/services/data/vNN.0/graphqlを含むUI-API経由で、より新しいSalesforce LWRサイトも標的にしています。
特徴的な点として、v56.0からv66.0までとされる範囲でAPIバージョンを順次探査していることが挙げられます。攻撃者はGraphQLクエリを使用して、クエリ可能なオブジェクトを特定し、ゲストユーザーがアクセスできるレコードを取得できます。
また、発見したコミュニティサイト全体で/SiteRegisterや/CommunitiesSelfRegといったパスも探査しており、これはおそらく自己登録によって匿名の訪問者をより広いアクセス権を持つ外部認証済みユーザーへと昇格できるかどうかを確認するためとみられます。
ServiceNowのインスタンスは、ネイティブのService Portal検索エンドポイント、具体的にはPOST /api/now/sp/search?sysparm_cancelable=trueを通じて標的にされています。
このエンドポイントは設計上公開されており、認証済み・匿名どちらのリクエストに対してもHTTP 201ステータスを返す可能性があるため、ステータスコードだけを見て公開状況を判断するのは困難です。
セキュリティの境界線は、むしろポータルに設定された検索ソース、スクリプト化された検索ロジック、アクセス制御、そしてナレッジベースのユーザー条件に依存します。
設定に不備があると、本来は社内向けに用意されたナレッジ記事やカスタムデータソースを、ゲストユーザーが検索できてしまう可能性があります。
防御側は、送信元IP、Go-http-client/1.1というユーザーエージェント、Salesforce Auraの活動、LWR UI-APIへのリクエスト、自己登録の探査、そして/api/now/sp/searchに向けられたServiceNowのゲストリクエストを直ちに調査すべきです。
Salesforce管理者は、ゲストユーザーの共有ルールを厳格化し、不要なオブジェクト権限とフィールド権限を排除し、可能な限り自己登録を無効化し、ファイルとメンバーの可視性を制限し、LWRのゲストによる公開API利用を無効化すべきです。
ServiceNowの担当チームは、公開ポータルを見直し、不要な検索ソースを切り離し、必要に応じて認証済みアクセスを必須化し、gs.isLoggedIn()やGlideRecordSecureを使ってスクリプト化されたソースを検証し、「Any User(すべてのユーザー)」という過度に広範なアクセス権が設定されていないかナレッジベースの読み取り条件を監査すべきです。
侵害指標(IoC)
| 指標の種類 | 値 |
|---|---|
| IPv4アドレス | 158.220.87.79 |
| ASN | AS51167 |
| 逆引きDNS | vmi2213719.contaboserver.net |
| 主要ドメイン | city-forum.com |
| サブドメイン | www.city-forum.com |
| サブドメイン | server.city-forum.com |
| サブドメイン | mail.city-forum.com |
| ユーザーエージェント | Go-http-client/1.1 |
| Salesforce Auraエンドポイント | /aura |
| Salesforce Auraエンドポイント | /s/sfsites/aura |
| Salesforce Auraアクション | SelectableListDataProviderController/ACTION$getItems |
| Salesforce Auraアクション | HostConfigController/ACTION$getConfigData |
| Salesforce LWR GraphQLパターン | /<subsite>/webruntime/api/services/data/vNN.0/graphql |
| Salesforceバージョン探査パターン | v56.0〜v66.0 |
| Salesforce登録探査 | /SiteRegister |
| Salesforce登録探査 | /CommunitiesSelfReg |
| ServiceNowエンドポイント | POST /api/now/sp/search?sysparm_cancelable=true |
| ServiceNowログソース | syslog_transaction |
| ServiceNow行動指標 | ゲストによる検索量の異常 |
| SPFレコード指標 | v=spf1 mx a ptr ip4:158.220.87.79 a:server.city-forum.com a:mail.city-forum.com -all |
注記: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的に無害化されています(例: [.])。再度有効な形式に戻す作業は、MISP、VirusTotal、SIEMなど管理された脅威インテリジェンスプラットフォーム上でのみ行ってください。
新たなフィッシングやマルウェアが貴社を侵害する前に阻止しましょう。 世界15,000のSOCが利用するライブインテリジェンスを統合
翻訳元: https://gbhackers.com/city-forum-hackers-target-salesforce-and-servicenow-instances/