Кампания City-Forum: как один сервер 17 месяцев воровал данные из Salesforce и ServiceNow, не взламывая ничего
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв... Инструментарий атакующего впервые в «дикой природе» использует UI API гостевую поверхность Sales...
ОпубликовалОтредактировано с помощью DeepSeek-V4-FlashИзображения созданы с помощью GPT Image 1.5
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв...
Инструментарий атакующего впервые в «дикой природе» использует UI API гостевую поверхность Salesforce на сайтах LWR (Lightning Web Runtime), а также эксплуатирует практически недокументированный поисковый endpoint Ser...
Атаки исходят с одного IP адреса 158.220.87.79 (Contabo, Германия), связанного с доменом city forum.com, и нацелены на телекоммуникационные, банковские и государственные организации по всему миру.
What was the "City-Forum" campaign reported by Reco, how did it exploit default guest access in Salesforce and ServiceNow portals over at leConceptual depiction of the City-Forum campaign's data extraction via guest user access on Salesforce and ServiceNow.
Промпт ИИ
Create a landscape editorial hero image for this Studio Global article: What was the "City-Forum" campaign reported by Reco, how did it exploit default guest access in Salesforce and ServiceNow portals over at le. Article summary: Let me read Reco's original blog post and the detailed reporting for complete answersNow let me get the remaining details from a couple more sources to fill in the remediation and audit log gapsNow I have comprehensive i. Topic tags: general, general web. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clic
openai.com
На протяжении как минимум 17 месяцев неизвестный злоумышленник незаметно извлекает записи с сайтов Salesforce Experience Cloud и порталов ServiceNow Service Portal по всему миру — не эксплуатируя ни одной программной уязвимости, не воруя учетные данные и не обходя аутентификацию. Атакующий просто использует то, что организации уже сделали доступным для публики через встроенный гостевой (анонимный) доступ платформ.
Studio Global AI
Продолжайте свое исследование
На этой странице есть ответ, подтвержденный источником, который вы можете продолжить внутри Studio Global.
Каков краткий ответ на вопрос «Кампания City-Forum: как один сервер 17 месяцев воровал данные из Salesforce и ServiceNow, не взламывая ничего»?
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв...
Какие ключевые моменты необходимо проверить в первую очередь?
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв... Инструментарий атакующего впервые в «дикой природе» использует UI API гостевую поверхность Salesforce на сайтах LWR (Lightning Web Runtime), а также эксплуатирует практически недокументированный поисковый endpoint Ser...
Что мне делать дальше на практике?
Атаки исходят с одного IP адреса 158.220.87.79 (Contabo, Германия), связанного с доменом city forum.com, и нацелены на телекоммуникационные, банковские и государственные организации по всему миру.
Кампания City-Forum: как один сервер 17 месяцев воровал данные из Salesforce и ServiceNow, не взламывая ничего
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв... Инструментарий атакующего впервые в «дикой природе» использует UI API гостевую поверхность Sales...
ОпубликовалОтредактировано с помощью DeepSeek-V4-FlashИзображения созданы с помощью GPT Image 1.5
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв...
Инструментарий атакующего впервые в «дикой природе» использует UI API гостевую поверхность Salesforce на сайтах LWR (Lightning Web Runtime), а также эксплуатирует практически недокументированный поисковый endpoint Ser...
Атаки исходят с одного IP адреса 158.220.87.79 (Contabo, Германия), связанного с доменом city forum.com, и нацелены на телекоммуникационные, банковские и государственные организации по всему миру.
What was the "City-Forum" campaign reported by Reco, how did it exploit default guest access in Salesforce and ServiceNow portals over at leConceptual depiction of the City-Forum campaign's data extraction via guest user access on Salesforce and ServiceNow.
Промпт ИИ
Create a landscape editorial hero image for this Studio Global article: What was the "City-Forum" campaign reported by Reco, how did it exploit default guest access in Salesforce and ServiceNow portals over at le. Article summary: Let me read Reco's original blog post and the detailed reporting for complete answersNow let me get the remaining details from a couple more sources to fill in the remediation and audit log gapsNow I have comprehensive i. Topic tags: general, general web. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clic
openai.com
На протяжении как минимум 17 месяцев неизвестный злоумышленник незаметно извлекает записи с сайтов Salesforce Experience Cloud и порталов ServiceNow Service Portal по всему миру — не эксплуатируя ни одной программной уязвимости, не воруя учетные данные и не обходя аутентификацию. Атакующий просто использует то, что организации уже сделали доступным для публики через встроенный гостевой (анонимный) доступ платформ.
Studio Global AI
Продолжайте свое исследование
На этой странице есть ответ, подтвержденный источником, который вы можете продолжить внутри Studio Global.
Каков краткий ответ на вопрос «Кампания City-Forum: как один сервер 17 месяцев воровал данные из Salesforce и ServiceNow, не взламывая ничего»?
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв...
Какие ключевые моменты необходимо проверить в первую очередь?
Кампания City Forum с марта 2025 года извлекает данные из неправильно настроенных порталов Salesforce Experience Cloud и ServiceNow, злоупотребляя встроенным гостевым (анонимным) доступом — без единой программной уязв... Инструментарий атакующего впервые в «дикой природе» использует UI API гостевую поверхность Salesforce на сайтах LWR (Lightning Web Runtime), а также эксплуатирует практически недокументированный поисковый endpoint Ser...
Что мне делать дальше на практике?
Атаки исходят с одного IP адреса 158.220.87.79 (Contabo, Германия), связанного с доменом city forum.com, и нацелены на телекоммуникационные, банковские и государственные организации по всему миру.
Компания Reco, специализирующаяся на безопасности, назвала эту непрерывную кампанию City-Forum — по домену city-forum.com, зарегистрированному на инфраструктуру злоумышленника. Как минимум с марта 2025 года один арендованный сервер в Германии систематически собирает данные у телекоммуникационных провайдеров, банков, финансовых организаций, разработчиков корпоративного ПО и государственных порталов.
Как работает эксплуатация: уязвимости не нужны
И Salesforce, и ServiceNow поставляются с постоянными гостевыми учетными записями для неаутентифицированных посетителей. Эти гостевые учетки нельзя удалить. Их разрешения — какие записи и объекты они могут читать — настраиваются каждой организацией. Если гостевой профиль имеет доступ на чтение к какой-либо записи, любой человек в интернете может получить ее через абсолютно легитимные API-эндпоинты.
В Salesforce (фреймворк Aura):
Инструмент отправляет POST-запросы на endpoint /aura или /s/sfsites/aura.
Сначала он вызывает HostConfigController.getConfigData, чтобы определить, какие объекты (Account, Contact, Case, Lead, User, ContentDocument и т.д.) доступны гостю.
Затем он использует SelectableListDataProviderController.getItems для постраничного перебора всех записей каждого доступного объекта.
Самая активная одиночная цель зафиксировала более 560 000 событий с IP-адреса атакующего — почти все из них были перебором гостевого Aura.
В Salesforce (фреймворк LWR — Lightning Web Runtime):
Это первая задокументированная эксплуатация гостевой поверхности UI-API Salesforce на сайтах LWR в реальных атаках.
Инструмент нацелен на GraphQL-эндпоинт POST /webruntime/api/services/data/{version}/graphql?asGuest=true, сначала перечисляя схему через EntityDefinition, затем считывая записи с курсорной пагинацией.
Он последовательно проверяет версии API от v56.0 до v66.0 для каждого обнаруженного сайта LWR.
В ServiceNow:
Инструмент атакует endpoint /api/now/sp/search — родной поисковый API Service Portal, который практически не документирован и почти не упоминается в открытых источниках или инструментах.
Этот endpoint изначально является публичным. Какие данные он возвращает, целиком зависит от того, какие источники поиска привязаны к порталу для гостей и применяют ли эти источники контроль доступа.
Инструмент добавляет /SiteRegister и /CommunitiesSelfReg к каждому найденному пути сайта Experience, чтобы проверить, включена ли самостоятельная регистрация. Если да, гость может повысить свои права до аутентифицированного внешнего пользователя, получив доступ к гораздо большему объему данных.
Пользовательский инструментарий и инфраструктура
IP-адрес источника:158.220.87.79, размещен на VPS от Contabo (немецкий хостинг-провайдер), резолвится в домен city-forum.com (домен зарегистрирован в 2002 году, затем заброшен и переиспользован).
Тот же IP-адрес использует тот же домен с марта 2025 года без смены — минимум 17 месяцев на одном адресе.
Пользовательский Go-бинар: Единый скомпилированный на Go инструмент, который атакует Salesforce как через фреймворк Aura, так и LWR, а также ServiceNow — все с одного сервера. Это собственный многоплатформенный инструментарий, а не готовая утилита вроде AuraInspector.
Инструмент использует стандартный User-Agent Go-http-client от Go, что позволяет легко идентифицировать его в логах.
Какие организации стали целями
По данным Reco, основные цели включают:
Телекоммуникационные операторы
Банки и финансовые организации
Разработчики корпоративного ПО (включая компании в сфере безопасности и защиты данных)
Государственные порталы
Почему стандартные журналы аудита не могут показать, какие данные были украдены
Для ServiceNow: Журналы транзакций платформы (syslog_transaction) не записывают тело POST-запроса к /api/now/sp/search. Специалисты по безопасности могут видеть, что выполнялись автоматизированные поиски и какой объем данных был возвращен (по столбцу длины вывода), но не могут определить точные поисковые запросы или какие конкретно записи были извлечены.
Для Salesforce: Трафик перебора гостевых данных состоит из легитимных, соответствующих протоколу API-вызовов, которые выглядят как обычный трафик сайта. Хотя Event Monitoring может показать объем событий AuraRequest и Sites от гостевых пользователей, логи свидетельствуют о том, что данные запрашивались, но не конкретное содержимое того, что было возвращено в ответах GraphQL или Aura.
Иными словами, вы можете видеть, что атакующий был там и какой объем данных он выкачал, но не сможете восстановить, какие именно записи или поля были извлечены.
Рекомендуемые шаги по устранению
Для Salesforce (рекомендации Reco):
Ужесточите правила общего доступа для гостей — это наиболее эффективный контроль. Удалите все правила, которые предоставляют доступ к записям гостевому пользователю сверх того, что действительно необходимо для публичной работы сайта.
Снимите разрешения на уровне объектов и полей с гостевого профиля. Удалите доступ на чтение для объектов, которые не нужны анонимным посетителям.
Удалите разрешение "Access Activities" из гостевого профиля (оно открывает доступ к задачам и событиям).
Отключите "API Enabled" у гостевого пользователя.
Отключите самостоятельную регистрацию, если сайт в ней действительно не нуждается.
Отключите гостевой доступ к файлам и видимость участников, чтобы гости не могли получать файлы ContentDocument или перечислять других участников сайта.
Для сайтов LWR: В Experience Builder → Workspaces → Administration → Preferences снимите флажок "Allow guest users to access public APIs." Это одним действием закроет GraphQL и REST-эндпоинты UI-API.
Для ServiceNow (рекомендации Reco):
Составьте карту порталов для гостей и их источников поиска. Проверьте таблицы sp_portal, m2m_sp_portal_search_source и sp_search_source. Отсоедините все источники поиска, не нужные публичному порталу.
Проверьте логику каждого источника поиска — особенно is_scripted_source, data_fetch_script и то, используется ли GlideRecordSecure (с контролем ACL) или обычный GlideRecord (без контроля).
Проверьте критерии пользователя "Can Read" для баз знаний — ищите неограниченный доступ "Any User", который открывает конфиденциальные базы знаний через гостевой поиск.
Удалите некорректные связи kb_uc_can_read_mtom вместо слепого редактирования правил общего доступа.
Обнаружение:
Salesforce Event Monitoring: Обратите внимание на большое количество вызовов getItems и getConfigData от USER_TYPE = 'Guest', перебор версий /webruntime/.../vNN.0/graphql, а также обращения к /SiteRegister и /CommunitiesSelfReg.
ServiceNow syslog_transaction: Ищите запросы к /api/now/sp/search, выполненные от имени гостя. Сортируйте по длине вывода — строки, возвращающие значительно больше, чем небольшой базовый уровень пустого результата, указывают на поиски, которые вернули содержимое.
reco.ai
An Advanced Attacker Is Targeting Salesforce and ServiceNow
Компания Reco, специализирующаяся на безопасности, назвала эту непрерывную кампанию City-Forum — по домену city-forum.com, зарегистрированному на инфраструктуру злоумышленника. Как минимум с марта 2025 года один арендованный сервер в Германии систематически собирает данные у телекоммуникационных провайдеров, банков, финансовых организаций, разработчиков корпоративного ПО и государственных порталов.
Как работает эксплуатация: уязвимости не нужны
И Salesforce, и ServiceNow поставляются с постоянными гостевыми учетными записями для неаутентифицированных посетителей. Эти гостевые учетки нельзя удалить. Их разрешения — какие записи и объекты они могут читать — настраиваются каждой организацией. Если гостевой профиль имеет доступ на чтение к какой-либо записи, любой человек в интернете может получить ее через абсолютно легитимные API-эндпоинты.
В Salesforce (фреймворк Aura):
Инструмент отправляет POST-запросы на endpoint /aura или /s/sfsites/aura.
Сначала он вызывает HostConfigController.getConfigData, чтобы определить, какие объекты (Account, Contact, Case, Lead, User, ContentDocument и т.д.) доступны гостю.
Затем он использует SelectableListDataProviderController.getItems для постраничного перебора всех записей каждого доступного объекта.
Самая активная одиночная цель зафиксировала более 560 000 событий с IP-адреса атакующего — почти все из них были перебором гостевого Aura.
В Salesforce (фреймворк LWR — Lightning Web Runtime):
Это первая задокументированная эксплуатация гостевой поверхности UI-API Salesforce на сайтах LWR в реальных атаках.
Инструмент нацелен на GraphQL-эндпоинт POST /webruntime/api/services/data/{version}/graphql?asGuest=true, сначала перечисляя схему через EntityDefinition, затем считывая записи с курсорной пагинацией.
Он последовательно проверяет версии API от v56.0 до v66.0 для каждого обнаруженного сайта LWR.
В ServiceNow:
Инструмент атакует endpoint /api/now/sp/search — родной поисковый API Service Portal, который практически не документирован и почти не упоминается в открытых источниках или инструментах.
Этот endpoint изначально является публичным. Какие данные он возвращает, целиком зависит от того, какие источники поиска привязаны к порталу для гостей и применяют ли эти источники контроль доступа.
Инструмент добавляет /SiteRegister и /CommunitiesSelfReg к каждому найденному пути сайта Experience, чтобы проверить, включена ли самостоятельная регистрация. Если да, гость может повысить свои права до аутентифицированного внешнего пользователя, получив доступ к гораздо большему объему данных.
Пользовательский инструментарий и инфраструктура
IP-адрес источника:158.220.87.79, размещен на VPS от Contabo (немецкий хостинг-провайдер), резолвится в домен city-forum.com (домен зарегистрирован в 2002 году, затем заброшен и переиспользован).
Тот же IP-адрес использует тот же домен с марта 2025 года без смены — минимум 17 месяцев на одном адресе.
Пользовательский Go-бинар: Единый скомпилированный на Go инструмент, который атакует Salesforce как через фреймворк Aura, так и LWR, а также ServiceNow — все с одного сервера. Это собственный многоплатформенный инструментарий, а не готовая утилита вроде AuraInspector.
Инструмент использует стандартный User-Agent Go-http-client от Go, что позволяет легко идентифицировать его в логах.
Какие организации стали целями
По данным Reco, основные цели включают:
Телекоммуникационные операторы
Банки и финансовые организации
Разработчики корпоративного ПО (включая компании в сфере безопасности и защиты данных)
Государственные порталы
Почему стандартные журналы аудита не могут показать, какие данные были украдены
Для ServiceNow: Журналы транзакций платформы (syslog_transaction) не записывают тело POST-запроса к /api/now/sp/search. Специалисты по безопасности могут видеть, что выполнялись автоматизированные поиски и какой объем данных был возвращен (по столбцу длины вывода), но не могут определить точные поисковые запросы или какие конкретно записи были извлечены.
Для Salesforce: Трафик перебора гостевых данных состоит из легитимных, соответствующих протоколу API-вызовов, которые выглядят как обычный трафик сайта. Хотя Event Monitoring может показать объем событий AuraRequest и Sites от гостевых пользователей, логи свидетельствуют о том, что данные запрашивались, но не конкретное содержимое того, что было возвращено в ответах GraphQL или Aura.
Иными словами, вы можете видеть, что атакующий был там и какой объем данных он выкачал, но не сможете восстановить, какие именно записи или поля были извлечены.
Рекомендуемые шаги по устранению
Для Salesforce (рекомендации Reco):
Ужесточите правила общего доступа для гостей — это наиболее эффективный контроль. Удалите все правила, которые предоставляют доступ к записям гостевому пользователю сверх того, что действительно необходимо для публичной работы сайта.
Снимите разрешения на уровне объектов и полей с гостевого профиля. Удалите доступ на чтение для объектов, которые не нужны анонимным посетителям.
Удалите разрешение "Access Activities" из гостевого профиля (оно открывает доступ к задачам и событиям).
Отключите "API Enabled" у гостевого пользователя.
Отключите самостоятельную регистрацию, если сайт в ней действительно не нуждается.
Отключите гостевой доступ к файлам и видимость участников, чтобы гости не могли получать файлы ContentDocument или перечислять других участников сайта.
Для сайтов LWR: В Experience Builder → Workspaces → Administration → Preferences снимите флажок "Allow guest users to access public APIs." Это одним действием закроет GraphQL и REST-эндпоинты UI-API.
Для ServiceNow (рекомендации Reco):
Составьте карту порталов для гостей и их источников поиска. Проверьте таблицы sp_portal, m2m_sp_portal_search_source и sp_search_source. Отсоедините все источники поиска, не нужные публичному порталу.
Проверьте логику каждого источника поиска — особенно is_scripted_source, data_fetch_script и то, используется ли GlideRecordSecure (с контролем ACL) или обычный GlideRecord (без контроля).
Проверьте критерии пользователя "Can Read" для баз знаний — ищите неограниченный доступ "Any User", который открывает конфиденциальные базы знаний через гостевой поиск.
Удалите некорректные связи kb_uc_can_read_mtom вместо слепого редактирования правил общего доступа.
Обнаружение:
Salesforce Event Monitoring: Обратите внимание на большое количество вызовов getItems и getConfigData от USER_TYPE = 'Guest', перебор версий /webruntime/.../vNN.0/graphql, а также обращения к /SiteRegister и /CommunitiesSelfReg.
ServiceNow syslog_transaction: Ищите запросы к /api/now/sp/search, выполненные от имени гостя. Сортируйте по длине вывода — строки, возвращающие значительно больше, чем небольшой базовый уровень пустого результата, указывают на поиски, которые вернули содержимое.
reco.ai
An Advanced Attacker Is Targeting Salesforce and ServiceNow