Campaña City-Forum: Robo de Datos de Salesforce y ServiceNow con Herramientas Personalizadas (2025-2026)

De CiberWiki
Revisión del 17:46 13 ago 2026 de Fernando.VH (discusión | contribs.) (Descripcion de Campaña City-Forum: Robo de Datos de Salesforce y ServiceNow con Herramientas Personalizadas (2025-2026))
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Nombres Alternativos / Aliases

  • City-Forum Campaign (Nombre de la campaña, por el dominio asociado)
  • Salesforce/ServiceNow Guest User Attack (Por el vector explotado)
  • Go-http-client Data Harvesting (Por el user-agent utilizado)
  • LWR UI-API Exploitation (Por la técnica en Salesforce LWR)
  • ServiceNow Search Endpoint Abuse (Por el vector en ServiceNow)

Fecha de Detección / Actividad

  • Primera evidencia de infraestructura: Marzo de 2025 (dominio city-forum.com resuelve a la IP)
  • Campaña activa desde: Al menos marzo de 2025
  • Fecha del informe de Reco: 12 de agosto de 2026
  • Duración de la campaña: Más de 17 meses (en el mismo servidor)
  • Sectores objetivo: Telecomunicaciones, banca y servicios financieros, software empresarial (incluyendo seguridad y privacidad de datos), portales del sector público
  • Estado: Activa (el volumen de actividad está aumentando)

Actor de Amenaza (Atribución)

Característica Detalle
Nombre del Actor Desconocido (no atribuido)
Vínculo Gubernamental No establecido
Tipo de Actor Ciberdelincuencia / Robo de datos
Sofisticación MUY ALTA. El actor demuestra:
  • Desarrollo de herramientas personalizadas en Go para múltiples plataformas (Salesforce y ServiceNow)
  • Investigación y mapeo de vectores de filtración de datos no documentados
  • Conocimiento profundo de las APIs de Salesforce (Aura, LWR UI-API) y ServiceNow (endpoint de búsqueda no documentado)
  • Persistencia con una única infraestructura estática durante más de 17 meses
  • Capacidad para extraer datos de manera sigilosa y a gran escala | | Motivación | Financiera (extorsión / venta de datos) | | Relación con ShinyHunters | No determinada. Reco no atribuye la campaña a ShinyHunters, señalando que el uso de herramientas personalizadas y la infraestructura estática difieren de las tácticas de ShinyHunters

Resumen Ejecutivo

La campaña City-Forum, identificada por la firma de seguridad Reco, consiste en un robo de datos a gran escala y de larga duración dirigido a Salesforce Experience Cloud y ServiceNow en organizaciones de todo el mundo . El atacante utiliza herramientas personalizadas para explotar permisos de usuario invitado (guest user) mal configurados, no vulnerabilidades de las plataformas, para extraer datos a los que los administradores han otorgado acceso sin darse cuenta .

Descubrimientos clave

Descubrimiento Detalle
Vector principal Usuarios invitados con permisos excesivos en Salesforce y ServiceNow
Infraestructura Un único servidor VPS (Contabo, IP 158.220.87.79) y dominio city-forum.com (activo desde marzo de 2025)
User-agent Go-http-client/1.1 (todas las solicitudes)
Objetivo principal (Salesforce) Más de 560,000 eventos de enumeración Aura en un solo objetivo
Técnica LWR (Salesforce) Consultas GraphQL al endpoint /webruntime/api/services/data/{version}/graphql
Técnica ServiceNow Solicitudes POST anónimas al endpoint /api/now/sp/search?sysparm_cancelable=true
Prueba de auto-registro El atacante prueba SiteRegister y CommunitiesSelfReg para escalar privilegios
Estado Activa (continúa a volumen creciente)

El núcleo del problema: Usuarios Invitados (Guest Users)

Tanto Salesforce como ServiceNow utilizan un usuario invitado para gestionar visitantes no autenticados a portales públicos :

  • Salesforce Experience Cloud: Cada sitio tiene su propio Guest User. Si está mal configurado con permisos excesivos, un atacante puede consultar objetos de Salesforce (Account, Contact, Case, etc.) sin iniciar sesión.
  • ServiceNow: Tiene un usuario guest similar. Los portales de servicio pueden exponer datos a través de fuentes de búsqueda (sp_search_source) si el acceso de invitados no está restringido.

"If the guest can read a record, so can anyone on the internet. That is not a platform vulnerability." — Nitay Bachrach, Investigador de Reco


Vector de Ataque / Métodos de Distribución

Componentes de la infraestructura

Componente Detalle
IP de origen 158.220.87.79 (Contabo GmbH - VPS en Alemania)
  • ☑ Dominio | city-forum.com (resuelve a la IP desde marzo de 2025)
  • ☑ User-agent | Go-http-client/1.1 (por defecto en Go)

Vectores de ataque específicos

1. Salesforce Aura (técnica principal)

El atacante utiliza el endpoint /aura (o /s/sfsites/aura) para:

  • Enumerar objetos mediante HostConfigController.getConfigData, que devuelve una lista de objetos accesibles (Account, Contact, Case, etc.).
  • Extraer registros mediante SelectableListDataProviderController.getItems, que permite paginar a través de los registros de cada objeto.

"The busiest target logged over 560,000 events from this IP across the campaign window, essentially all of it guest Aura enumeration." — Reco

2. Salesforce LWR (Lightning Web Runtime)

El atacante utiliza el UI-API de LWR, un vector no documentado en herramientas públicas, para realizar consultas GraphQL al endpoint /webruntime/api/services/data/{version}/graphql :

  • Enumera el esquema mediante EntityDefinition para obtener todos los objetos consultables.
  • Extrae registros paginando con cursores.
  • Barre versiones de API desde v56.0 hasta v66.0

3. Prueba de auto-registro (Salesforce)

El atacante prueba sistemáticamente los endpoints /SiteRegister y /CommunitiesSelfReg para determinar si el auto-registro está habilitado. Si es así, un visitante anónimo podría crear una cuenta autenticada, obteniendo acceso a datos adicionales .

4. ServiceNow Portal Search

El atacante utiliza el endpoint de búsqueda nativo de ServiceNow, /api/now/sp/search?sysparm_cancelable=true :

  • Es un endpoint sin autenticación que procesa consultas de búsqueda del portal.
  • El atacante envía solicitudes POST con diferentes términos de búsqueda para enumerar el contenido de las bases de conocimiento y catálogos expuestos.
  • El cuerpo de la solicitud JSON incluye los parámetros query, portal, source (ej. kb para base de conocimiento, sc para catálogo) y count.

Técnicas, Tácticas y Procedimientos (TTPs) - MITRE ATT&CK

Táctica (MITRE ATT&CK) Técnica / Subtécnica Descripción / Implementación
Initial Access (TA0001) Exploit Public-Facing Application (T1190) Explotación de permisos de usuario invitado mal configurados en portales públicos
Reconnaissance (TA0043) Active Scanning (T1595) Enumeración de objetos y registros en Salesforce (Aura y LWR)
Reconnaissance (TA0043) Search Open Websites/Domains (T1593) Sondeo de portales de ServiceNow y endpoints de auto-registro de Salesforce
Collection (TA0009) Data from Information Repositories (T1213) Extracción de datos de Salesforce (Accounts, Contacts, Cases) y ServiceNow (KB articles, catálogos)
Exfiltration (TA0010) Exfiltration Over Web Service (T1567) Envío de datos robados a la infraestructura del atacante (no especificado)

Impacto y Riesgo

Categoría Nivel Descripción
Alcance MUY ALTO Organizaciones en sectores críticos a nivel mundial (telecom, finanzas, gobierno)
Duración MUY ALTA Más de 17 meses de actividad continuada
Detección BAJA Tráfico HTTP legítimo, sin exploits, user-agent no malicioso (Go-http-client/1.1)
Tipo de datos MUY SENSIBLE Nombres, números de teléfono, direcciones de correo, números de Seguro Social, datos médicos, datos financieros, números de tarjetas de crédito, datos de pasaportes
Riesgo de extorsión MUY ALTO La filtración de datos sensibles puede ser utilizada para extorsión y otros ataques posteriores (phishing, ingeniería social, fraude)

Consecuencias para las organizaciones afectadas

Consecuencia Gravedad Detalle
Filtración de datos de clientes Crítica Exposición de PII (nombre, correo, teléfono, SSN), datos financieros y médicos
Daño reputacional Alta Pérdida de confianza de clientes y socios
Multas regulatorias Alta Posibles sanciones por incumplimiento de GDPR, CCPA, etc.
Riesgo de extorsión Alta El atacante podría exigir un rescate para no publicar los datos robados
Riesgo de phishing Alta Los datos robados pueden ser utilizados para ataques de phishing dirigidos (spear-phishing) y vishing a empleados y clientes

Recomendaciones de Mitigación

Para Salesforce Experience Cloud

Acción Prioridad Descripción
Auditar permisos de usuario invitado CRÍTICA Revisar y restringir los permisos de objeto, campo y registro del perfil de usuario invitado al mínimo absoluto necesario para el funcionamiento del sitio
  • ☑ Deshabilitar "Allow guest users to access public APIs" | CRÍTICA | Configuración en Experience Builder > Workspaces > Administration > Preferences. Cierra el acceso a la UI-API (GraphQL) para invitados
  • ☑ Eliminar permisos de "API Enabled" | ALTA | Desmarcar "API Enabled" en los permisos del sistema del perfil de usuario invitado
  • ☑ Deshabilitar auto-registro | ALTA | Si no se requiere, deshabilitar la auto-registración para evitar que los invitados creen cuentas y amplíen el acceso
  • ☑ Revisar reglas de compartición (sharing rules) | ALTA | Asegurar que las reglas de compartición para el usuario invitado no concedan acceso a datos no públicos
  • ☑ Monitorear Event Monitoring | ALTA | Buscar eventos de AuraRequest y Sites con user-agent Go-http-client/1.1 o IP 158.220.87.79, y patrones de actividad anómala (ej. altas tasas de getItems en Aura)

Para ServiceNow

Acción Prioridad Descripción
Revisar fuentes de búsqueda de portales públicos CRÍTICA Identificar qué fuentes de búsqueda (sp_search_source) están expuestas a través de portales públicos (m2m_sp_portal_search_source) y eliminar aquellas que no sean estrictamente necesarias
  • ☑ Auditar fuentes de búsqueda basadas en script | CRÍTICA | Revisar el script data_fetch_script de cada fuente de búsqueda. Asegurar que incluyan gs.isLoggedIn() antes de consultar datos y que utilicen GlideRecordSecure (que respeta ACLs) en lugar de GlideRecord
  • ☑ Revisar criterios de "Can Read" para Knowledge Bases | CRÍTICA | Auditar kb_uc_can_read_mtom y user_criteria. Eliminar los criterios "Any User" que conceden acceso de lectura a invitados a bases de conocimiento sensibles
  • ☑ Revisar logs de transacciones | ALTA | Buscar en syslog_transaction actividad de la IP 158.220.87.79 o del endpoint /api/now/sp/search, especialmente con usuario guest y volúmenes anómalos de solicitudes

Herramientas de Detección

Para Salesforce

Salesforce Event Monitoring (requiere Shield o add-on):

  • Consultar logs de AuraRequest y Sites.
  • Buscar el user-agent Go-http-client/1.1 y la IP 158.220.87.79.
  • Buscar altos volúmenes de SelectableListDataProviderController/ACTION$getItems en ACTION_MESSAGE.

Para ServiceNow

Log de transacciones syslog_transaction :

  • Filtrar por IP Address 158.220.87.79.
  • Filtrar por URL que comience con /api/now/sp/search.
  • Observar el campo Created by (buscar guest) y la columna Output length (valores grandes indican datos devueltos)

Antecedentes: La Campaña de ShinyHunters (Marzo 2026)

ShinyHunters llevó a cabo una campaña similar contra Salesforce Experience Cloud entre mediados de 2025 y marzo de 2026, utilizando una versión modificada de la herramienta AuraInspector para explotar permisos de usuario invitado mal configurados . Salesforce confirmó que se trataba de una mala configuración del cliente, no de una vulnerabilidad de la plataforma.

Diferencias clave con City-Forum:

Aspecto ShinyHunters City-Forum
Herramienta AuraInspector (modificado) Herramienta personalizada en Go
Alcance Solo Salesforce Aura Salesforce Aura + LWR + ServiceNow
Infraestructura Múltiples IPs IP estática durante >17 meses
User-agent Variable Go-http-client/1.1

Opiniones de Expertos

"The threat actor created their own toolset, based on research and techniques which are not well documented online. They studied the services to map different common data leak vectors – this is an advanced actor." — Nitay Bachrach, Investigador de Reco

"If the guest can read a record, so can anyone on the internet. That is not a platform vulnerability." — Nitay Bachrach, Investigador de Reco

"The core issue is that 'what is public' and 'what should be public' are two different things, and that's exactly what the attacker exploited." — Nitay Bachrach, Investigador de Reco


Referencias y Fuentes

  1. Reco AI. (2026, 12 de agosto). The "City-Forum" Campaign - An advanced attacker is targeting Salesforce and ServiceNow instances worldwide.
  2. BleepingComputer. (2026, 12 de agosto). "City-Forum" data-theft attacks target Salesforce, ServiceNow portals.
  3. The Register. (2026, 13 de agosto). Mystery attacker spent a year raiding Salesforce and ServiceNow portals.
  4. Help Net Security. (2026, 12 de agosto). A stranger has been reading Salesforce and ServiceNow portals worldwide for 17 months.
  5. Dark Reading. (2026, 13 de agosto). Long-running Data Theft Campaign Targeting Salesforce, ServiceNow.
  6. Techzine. (2026, 12 de agosto). City-Forum extracts data from Salesforce and ServiceNow.
  7. CyberSecurity Help. (2026, 12 de agosto). City-Forum campaign targets exposed Salesforce and ServiceNow data.
  8. SC Media. (2026, 10 de marzo). Salesforce confirms ShinyHunters exploited Experience Cloud sites.
  9. TechRepublic. (2026, 12 de agosto). City-Forum attacks target Salesforce and ServiceNow.
  10. HEAL Security. (2026, 12 de agosto). New "City-Forum" Hackers Attacking Salesforce and ServiceNow Instances Worldwide.
  11. DIVD. (2026, 24 de abril). DIVD-2026-00005 - Salesforce Experience Cloud – Data Exposure via Misconfiguration.

Historial de Revisiones

Fecha Versión Autor Cambios Realizados
2026-08-13 1.0 Fernando Vargas Hincapié Creación inicial basada en el informe de Reco y fuentes asociadas

Indicadores de Compromiso (IOCs)

Infraestructura

Tipo Indicador
IP 158.220.87.79 (Contabo GmbH - ASN 51167)
  • Dominios | city-forum.com | | | www.city-forum.com | | | server.city-forum.com | | | mail.city-forum.com | | | www.server.city-forum.com | | | www.mail.city-forum.com | | User-agent | Go-http-client/1.1

Comportamiento a monitorear

Plataforma Endpoint/Comportamiento Detalle
Salesforce Aura /aura, /s/sfsites/aura Altos volúmenes de getConfigData y getItems desde IP/User-Agent sospechoso
  • Salesforce LWR | /webruntime/api/services/data/v{56..66}/graphql | Solicitudes GraphQL desde invitados a versiones de API consecutivas | | Salesforce (auto-registro) | /SiteRegister, /CommunitiesSelfReg | Sondeo de estos endpoints en sitios de Experience Cloud | | ServiceNow | POST /api/now/sp/search?sysparm_cancelable=true | Solicitudes POST anónimas al endpoint de búsqueda del portal |

Etiquetas / Categorías

city-forum-data-theft salesforce-servicenow-breach guest-user-exploitation salesforce-experience-cloud-lwr-ui-api servicenow-sp-search-endpoint go-http-client-data-harvesting shinyhunters-alternative-actor