
Wprowadzenie do problemu / definicja
Kampania określana jako „City-Forum” pokazuje, że poważny incydent bezpieczeństwa nie musi wynikać z klasycznej podatności technicznej. W tym przypadku źródłem problemu są błędnie skonfigurowane portale oparte na Salesforce Experience Cloud oraz ServiceNow Service Portal, które udostępniają zbyt szeroki zakres danych użytkownikom niezalogowanym.
Atakujący nie wykorzystują zdalnego wykonania kodu ani obejścia uwierzytelniania. Zamiast tego nadużywają publicznie dostępnych interfejsów aplikacyjnych, reguł współdzielenia oraz uprawnień kont gościa. To sprawia, że zagrożenie jest szczególnie istotne dla organizacji publikujących portale samoobsługowe, bazy wiedzy, formularze wsparcia i środowiska partnerskie.
W skrócie
Opisana 12 sierpnia 2026 roku kampania „City-Forum” koncentruje się na masowym pobieraniu danych z publicznie dostępnych zasobów Salesforce i ServiceNow. Z ustaleń badaczy wynika, że aktywność nadal trwa, a operacja ma charakter zautomatyzowany i powtarzalny.
- W Salesforce celem są zarówno starsze wdrożenia oparte na frameworku Aura, jak i nowsze środowiska Lightning Web Runtime.
- W ServiceNow atakujący nadużywają natywnego mechanizmu wyszukiwania w portalu.
- Kluczowym problemem nie jest luka producenta, lecz nadmierna ekspozycja danych dla kont gościa.
- Ryzyko dotyczy zwłaszcza organizacji, które błędnie zakładają, że publiczny portal ujawnia wyłącznie bezpieczne informacje.
Kontekst / historia
Publiczne portale SaaS od dawna przyciągają grupy wyspecjalizowane w kradzieży danych. W ekosystemie Salesforce temat nadużyć związanych z uprawnieniami guest user powraca od lat, ponieważ anonimowy dostęp do rekordów, pól i plików może skutkować pełnoprawnym wyciekiem danych bez potrzeby przełamywania zabezpieczeń.
Salesforce wielokrotnie podkreślało znaczenie ścisłej kontroli profili gościa, reguł współdzielenia oraz widoczności danych. Każdy obiekt udostępniony publicznie może bowiem zostać odczytany przez dowolnego użytkownika Internetu, jeśli konfiguracja nie została odpowiednio ograniczona.
W przypadku ServiceNow problem ma podobny charakter, ale zwykle wynika z architektury portalu i ustawień źródeł wyszukiwania. Platforma umożliwia tworzenie publicznych stron, widgetów i mechanizmów przeszukiwania wielu źródeł danych. Jeśli kryteria dostępu są zbyt szerokie, anonimowy użytkownik może uzyskać wgląd w treści, które powinny pozostać wewnętrzne.
Analiza techniczna
Technicznie kampania „City-Forum” opiera się na systematycznej enumeracji danych widocznych dla użytkownika gościa. Badacze wskazują na spójną infrastrukturę oraz powtarzalny wzorzec aktywności, co sugeruje dobrze opracowany proces zbierania informacji.
W środowiskach Salesforce atakujący kierują ruch do endpointów charakterystycznych dla frameworka Aura, takich jak /aura oraz /s/sfsites/aura. W pierwszym etapie identyfikują obiekty dostępne anonimowo, a następnie pobierają rekordy należące do publicznie widocznych zasobów, na przykład kont, kontaktów czy spraw serwisowych.
Istotnym rozszerzeniem kampanii jest wykorzystanie środowisk Lightning Web Runtime. W tym wariancie dane pobierane są przez interfejs GraphQL dostępny przez ścieżki webruntime. Z punktu widzenia obrony oznacza to, że monitorowanie wyłącznie starszych endpointów Aura nie zapewnia już pełnej widoczności zagrożenia.
Napastnicy sprawdzają również endpointy związane z samorejestracją, takie jak /SiteRegister oraz /CommunitiesSelfReg. Ich obecność może wskazywać możliwość utworzenia konta zewnętrznego, a w niektórych scenariuszach prowadzić do uzyskania szerszego dostępu niż ten przypisany zwykłemu użytkownikowi gościa.
W ServiceNow wykorzystywany jest natywny endpoint wyszukiwania POST /api/now/sp/search?sysparm_cancelable=true, powiązany z funkcją search w Service Portal. Sam mechanizm nie jest podatnością, ale staje się źródłem ryzyka, gdy search source zwracają dane dostępne dla anonimowych użytkowników. Jeśli portal przeszukuje wiele tabel lub źródeł zewnętrznych bez właściwych ograniczeń, możliwa staje się szeroka enumeracja rekordów i metadanych.
W praktyce kampania ma charakter data harvesting i bazuje na legalnych funkcjach platform. Obejmuje to identyfikację publicznych endpointów, enumerację obiektów oraz źródeł danych, seryjne pobieranie rekordów dostępnych dla gościa, testowanie funkcji samorejestracji i wykorzystywanie natywnych interfejsów API zamiast klasycznych exploitów.
Konsekwencje / ryzyko
Największym zagrożeniem jest fałszywe poczucie bezpieczeństwa wynikające z braku klasycznej luki. Organizacja może nie wykrywać incydentu przez długi czas, ponieważ ruch napastnika przypomina zwykłe korzystanie z publicznego portalu lub automatyczne indeksowanie treści.
Skutki takiej ekspozycji mogą być bardzo poważne:
- ujawnienie danych klientów, partnerów i zgłoszeń serwisowych,
- ekspozycja informacji kontaktowych, struktur organizacyjnych i metadanych biznesowych,
- naruszenie tajemnicy handlowej lub danych regulowanych,
- zwiększenie ryzyka wtórnych kampanii phishingowych, spear phishingu i BEC,
- konsekwencje prawne, regulacyjne oraz reputacyjne po potwierdzeniu naruszenia.
Dodatkowym problemem jest fakt, że wolumen żądań może wyglądać legalnie. Bez dedykowanych reguł detekcji zespoły SOC mogą nie odróżnić masowej enumeracji od standardowej aktywności użytkowników.
Rekomendacje
Organizacje korzystające z Salesforce Experience Cloud powinny pilnie przeprowadzić przegląd wszystkich uprawnień kont gościa. Należy sprawdzić profile guest user, reguły sharing, dostęp do obiektów, pól, rekordów i plików, a także ustawienia widoczności członków i komponentów publicznych.
W przypadku ServiceNow konieczny jest audyt publicznych stron portalu, konfiguracji search source oraz kryteriów dostępu użytkowników. Szczególną uwagę warto poświęcić tabelom indeksowanym przez wyszukiwarkę i wszystkim źródłom danych, które mogą zwracać informacje wrażliwe.
- Przeprowadzić inwentaryzację wszystkich publicznych portali i subdomen.
- Wykonać anonymous access review dla każdego wdrożenia.
- Monitorować żądania do endpointów Aura, webruntime, GraphQL i Service Portal search.
- Budować detekcję pod kątem masowej enumeracji i nietypowego wolumenu zapytań.
- Analizować logi obejmujące aktywność użytkowników gościa, a nie tylko kont uwierzytelnionych.
- Regularnie prowadzić ćwiczenia red team i purple team ukierunkowane na nadużycia konfiguracji SaaS.
- Stosować zasadę least privilege dla każdego publicznego komponentu.
Z perspektywy operacyjnej błędna konfiguracja SaaS powinna być traktowana jako pełnoprawny wektor naruszenia. Wymaga ona takiego samego poziomu nadzoru, testów i monitorowania jak tradycyjne podatności aplikacyjne.
Podsumowanie
Kampania „City-Forum” potwierdza, że współczesna kradzież danych coraz częściej nie wymaga exploitów zero-day ani przejęcia kont uprzywilejowanych. Wystarczy publiczny portal z nadmiernie szerokim dostępem dla użytkownika gościa.
Dla zespołów bezpieczeństwa to wyraźny sygnał, że ochrona środowisk SaaS musi obejmować nie tylko zarządzanie podatnościami, ale również ciągły audyt dostępu anonimowego, kontrolę legalnych endpointów API oraz bezwzględne ograniczanie ekspozycji danych do minimum biznesowego.
Źródła
- BleepingComputer – „City-Forum” data-theft attacks target Salesforce, ServiceNow portals – https://www.bleepingcomputer.com/news/security/city-forum-data-theft-attacks-target-salesforce-servicenow-portals/
- Salesforce Help – Give Secure Access to Unauthenticated Users with the Guest User Profile – https://help.salesforce.com/s/articleView?id=platform.networks_public_access.htm&language=en_US&type=5
- Salesforce Help – Review Guest User Access – https://help.salesforce.com/s/articleView?id=xcloud.shr_guest_user_access.htm&language=en_US&type=5
- ServiceNow Docs – Apply user criteria to a search source – https://www.servicenow.com/docs/r/platform-user-interface/service-portal/user-crit-search-source.html
- ServiceNow Docs – Managing portal access – https://www.servicenow.com/docs/r/platform-user-interface/service-portal/portal-security.html