시티 포럼(City Forum)은 2025년 3월부터 최소 17개월간 Salesforce Experience Cloud와 ServiceNow 포털의 기본 게스트(익명) 사용자 접근을 악용해 데이터를 추출해온 지속적인 캠페인입니다. 공격자는 커스텀 Go 기반 툴셋을 사용해 Salesforce의 Aura와 LWR 프레임워크, 그리고 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
보안 취약점을 하나도 악용하지 않고, 자격 증명을 훔치지 않으며, 인증을 우회하지 않은 채로, 17개월 넘게 전 세계 Salesforce Experience Cloud 사이트와 ServiceNow 서비스 포털에서 데이터를 빼내온 미확인 위협 행위자가 있습니다. 공격자는 조직이 해당 플랫폼의 기본 게스트 사용자(익명) 접근을 통해 이미 공개적으로 접근 가능하게 해놓은 정보를 그대로 활용했을 뿐입니다.
보안 업체 Reco는 이 캠페인을 **시티-포럼(City-Forum)**이라고 명명했습니다. 공격자 인프라와 연결된 도메인 city-forum.com에서 이름을 따왔습니다. 2025년 3월부터 단일 임대 서버(독일 소재)를 이용해 통신사, 은행, 금융 서비스 기업, 엔터프라이즈 소프트웨어 업체, 공공 부문 포털에서 조직적으로 데이터를 수집해왔습니다.
Salesforce와 ServiceNow는 모두 인증되지 않은 방문자를 위한 영구 게스트 사용자 계정을 기본으로 제공합니다. 이 게스트 사용자는 삭제할 수 없습니다. 각 조직이 게스트 사용자의 권한(읽기 가능한 레코드 및 개체)을 설정합니다. 게스트 프로필에 특정 레코드에 대한 읽기 권한이 있다면, 인터넷상의 누구든지 합법적인 API 엔드포인트를 통해 해당 레코드를 가져올 수 있습니다.
Salesforce (Aura 프레임워크):
/aura 또는 /s/sfsites/aura 엔드포인트에 POST 요청을 보냅니다.HostConfigController.getConfigData를 호출하여 게스트가 접근할 수 있는 개체(Account, Contact, Case, Lead, User, ContentDocument 등)를 열거합니다. SelectableListDataProviderController.getItems를 사용하여 접근 가능한 각 개체의 모든 레코드를 페이지 단위로 가져옵니다. Salesforce (LWR 프레임워크 — Lightning Web Runtime):
POST /webruntime/api/services/data/{version}/graphql?asGuest=trueEntityDefinition으로 스키마를 열거한 다음 커서 기반 페이지네이션으로 레코드를 읽습니다. ServiceNow:
/api/now/sp/search 엔드포인트를 표적으로 삼습니다. 이는 거의 문서화되지 않은 ServiceNow 서비스 포털 검색 API로, 온라인 문서나 오픈소스 도구에서 거의 언급되지 않습니다. 자가 등록 프로빙 (Salesforce):
/SiteRegister와 /CommunitiesSelfReg를 추가하여 자가 등록이 활성화되어 있는지 테스트합니다. 활성화된 경우, 게스트는 인증된 외부 사용자로 전환하여 훨씬 더 많은 데이터에 접근할 수 있습니다. 158.220.87.79, 독일 호스팅 제공업체 Contabo의 VPS에서 호스팅되며, 도메인 city-forum.com으로 확인됩니다(2002년에 등록되었다가 폐기된 후 재사용된 도메인). Go-http-client User-Agent 문자열을 사용하므로 로그에서 쉽게 식별할 수 있습니다. ServiceNow: 플랫폼의 트랜잭션 로그(syslog_transaction)는 /api/now/sp/search 요청의 POST 본문을 기록하지 않습니다. 방어자는 자동화된 검색이 발생했고 얼마나 많은 데이터가 반환되었는지(출력 길이 열을 통해) 확인할 수 있지만, 정확한 검색어나 어떤 특정 레코드가 검색되었는지는 확인할 수 없습니다.
Salesforce: 게스트 열거 트래픽은 정상 사이트 트래픽처럼 보이는 합법적이고 프로토콜을 준수하는 API 호출로 구성됩니다. 이벤트 모니터링은 게스트 사용자의 AuraRequest 및 Sites 이벤트 볼륨을 보여줄 수 있지만, 로그는 데이터가 요청되었음을 보여줄 뿐 GraphQL 또는 Aura 응답에서 반환된 구체적인 내용은 알 수 없습니다.
즉, 공격자가 있었고 얼마나 많은 데이터를 가져갔는지는 확인할 수 있지만, 정확히 어떤 레코드나 필드를 추출했는지는 재구성할 수 없습니다.
sp_portal, m2m_sp_portal_search_source 및 sp_search_source 테이블을 확인하십시오. 공개 포털에 필요하지 않은 검색 소스를 분리하십시오.is_scripted_source, data_fetch_script 및 GlideRecordSecure(ACL 적용)를 사용하는지 일반 GlideRecord(적용 안 함)를 사용하는지 확인하십시오.kb_uc_can_read_mtom 링크를 분리하십시오.USER_TYPE = 'Guest'getItems 및 getConfigData, /webruntime/.../vNN.0/graphql 버전 스위프, /SiteRegister 및 /CommunitiesSelfReg에 대한 히트를 찾으십시오.syslog_transaction: 게스트로 이루어진 /api/now/sp/search 요청을 찾으십시오. 출력 길이를 기준으로 정렬하십시오. 작은 빈 결과 기준선보다 훨씬 더 많이 반환되는 행은 콘텐츠를 반환한 검색을 나타냅니다. Studio Global AI
이 페이지에는 Studio Global 내에서 계속할 수 있는 소스 기반 답변이 포함되어 있습니다.
시티 포럼(City Forum)은 2025년 3월부터 최소 17개월간 Salesforce Experience Cloud와 ServiceNow 포털의 기본 게스트(익명) 사용자 접근을 악용해 데이터를 추출해온 지속적인 캠페인입니다.
시티 포럼(City Forum)은 2025년 3월부터 최소 17개월간 Salesforce Experience Cloud와 ServiceNow 포털의 기본 게스트(익명) 사용자 접근을 악용해 데이터를 추출해온 지속적인 캠페인입니다. 공격자는 커스텀 Go 기반 툴셋을 사용해 Salesforce의 Aura와 LWR 프레임워크, 그리고 ServiceNow의 거의 문서화되지 않은 검색 엔드포인트를 동시에 표적으로 삼았습니다.
통신사, 은행, 금융 서비스 기업, 엔터프라이즈 소프트웨어 업체, 공공 부문 포털이 주요 표적이 되었습니다.