Campanha City Forum extrai dados de portais Salesforce Experience Cloud e ServiceNow Service Portal desde março de 2025 ao abusar do acesso padrão de usuário convidado (anônimo) — sem explorar vulnerabilidade, roubar... Ferramenta personalizada em Go é a primeira observada em exploração real da superfície de API de...
Resposta de pesquisa

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
Por pelo menos 17 meses, um ator de ameaça desconhecido vem extraindo registros de sites Salesforce Experience Cloud e ServiceNow Service Portals ao redor do mundo — sem explorar nenhuma vulnerabilidade de software, roubar credenciais ou burlar autenticação. O invasor simplesmente usou o que as organizações já haviam tornado acessível ao público por meio do acesso convidado (anônimo) integrado das plataformas.
A empresa de segurança Reco batizou essa campanha contínua de City-Forum, em referência ao domínio city-forum.com registrado na infraestrutura do invasor. Desde pelo menos março de 2025, um único servidor alugado na Alemanha coleta sistematicamente dados de operadoras de telecomunicações, bancos, instituições financeiras, empresas de software empresarial e portais do setor público.
Tanto o Salesforce quanto o ServiceNow possuem contas de usuário convidado permanentes para visitantes não autenticados. Esses usuários convidados não podem ser excluídos. As permissões deles — quais registros e objetos podem ler — são configuradas por cada organização. Se o perfil de convidado tiver acesso de leitura a um registro, qualquer pessoa na internet pode recuperá-lo por meio de endpoints de API totalmente legítimos.
No Salesforce (framework Aura):
/aura ou /s/sfsites/aura.HostConfigController.getConfigData para enumerar quais objetos (Account, Contact, Case, Lead, User, ContentDocument, etc.) estão acessíveis ao convidado. SelectableListDataProviderController.getItems para percorrer todas as páginas de registros em cada objeto acessível. No Salesforce (framework LWR — Lightning Web Runtime):
POST /webruntime/api/services/data/{version}/graphql?asGuest=trueEntityDefinition e depois lendo registros com paginação baseada em cursor. No ServiceNow:
/api/now/sp/search — uma API de busca nativa do Service Portal que é amplamente não documentada e tem quase nenhuma documentação online ou ferramentas de código aberto que a referenciem. Sondagem de auto-registro (Salesforce):
/SiteRegister e /CommunitiesSelfReg a cada caminho de site de experiência descoberto para testar se o auto-registro está habilitado. Se estiver, um convidado pode se promover a um usuário externo autenticado, ganhando acesso a muito mais dados. 158.220.87.79, hospedado em um VPS da Contabo (provedor de hospedagem alemão), resolvendo para o domínio city-forum.com (um domínio registrado em 2002, abandonado e depois reaproveitado). Go-http-client, facilitando a identificação em logs. A Reco relata que os principais alvos incluem:
Para o ServiceNow: Os logs de transação da plataforma (syslog_transaction) não gravam o corpo da requisição POST de chamadas para /api/now/sp/search. Os defensores podem ver que buscas automatizadas ocorreram e quantos dados foram retornados (através da coluna de tamanho de saída), mas não conseguem determinar os termos de busca exatos ou quais registros específicos foram recuperados.
Para o Salesforce: O tráfego de enumeração de convidados consiste em chamadas de API legítimas e compatíveis com o protocolo que se parecem com tráfego normal do site. Embora o Event Monitoring possa mostrar o volume de eventos AuraRequest e Sites de usuários convidados, os logs mostram que os dados foram solicitados, mas não o conteúdo específico do que foi retornado nas respostas GraphQL ou Aura.
Em outras palavras, você pode ver que o invasor esteve lá e quanto puxou, mas não consegue reconstruir exatamente quais registros ou campos foram extraídos.
sp_portal, m2m_sp_portal_search_source e sp_search_source. Desassocie qualquer fonte de busca que um portal público não precise.is_scripted_source, data_fetch_script e se ela usa GlideRecordSecure (que impõe ACLs) vs. GlideRecord simples (que não impõe).kb_uc_can_read_mtom incorretos em vez de editar regras de compartilhamento às cegas.getItems e getConfigData de USER_TYPE = 'Guest'/webruntime/.../vNN.0/graphql e acessos a /SiteRegister e /CommunitiesSelfReg.syslog_transaction: Procure por requisições /api/now/sp/search feitas como convidado. Ordene por tamanho de saída — linhas retornando significativamente mais do que a pequena linha de base de resultado vazio indicam buscas que retornaram conteúdo.Studio Global AI
Esta página inclui uma resposta baseada na fonte que você pode continuar em Studio Global.
Campanha City Forum extrai dados de portais Salesforce Experience Cloud e ServiceNow Service Portal desde março de 2025 ao abusar do acesso padrão de usuário convidado (anônimo) — sem explorar vulnerabilidade, roubar...
Campanha City Forum extrai dados de portais Salesforce Experience Cloud e ServiceNow Service Portal desde março de 2025 ao abusar do acesso padrão de usuário convidado (anônimo) — sem explorar vulnerabilidade, roubar... Ferramenta personalizada em Go é a primeira observada em exploração real da superfície de API de convidados no framework LWR (Lightning Web Runtime) do Salesforce, além de abusar de um endpoint de busca do ServiceNow...