
Robo de tokens OAuth en Salesloft vía Drift-Salesforce: 700+ afectados; claves AWS y tokens Snowflake en riesgo. Medidas de mitigación.

Cronología y alcance del ataque (UNC6395)
Línea de tiempo del incidente
Según la investigación, UNC6395 ejecutó un ataque escalonado que culminó en el robo de tokens OAuth aprovechando la integración Drift–Salesforce para pivotar hacia entornos conectados con Salesloft. Entre el 15 y el 20 de julio, el actor logró que inquilinos con la app de Drift autorizada en Salesforce emitieran nuevos permisos, generando refresh tokens. Del 21 al 28 de julio, se automatizó la exfiltración de tokens y credenciales de integraciones.
El 29 de julio se observó acceso programático a APIs de Salesloft desde infraestructura anónima, seguido de consultas a conectores de terceros. El 2 de agosto se detectaron anomalías de token replay y se inició la contención: revocación masiva de tokens, deshabilitación de apps sospechosas y bloqueo de IPs. Entre el 3 y el 7 de agosto se notificó a clientes y se forzó la rotación de credenciales asociadas.
Vector y propagación
El vector principal combinó abuso de consentimiento de OAuth en la app Drift–Salesforce y reuso de sesiones para enumerar integraciones activas de Salesloft. Desde allí, el actor intentó escalar a recursos vinculados: repos de playbooks, conectores de correo, y almacenes de secretos en aplicaciones adyacentes. Se confirmaron intentos de uso de tokens contra endpoints de Snowflake y validación de claves de acceso de AWS expuestas en variables de entorno o registros de integración.
Alcance del compromiso
El impacto afecta a más de 700 organizaciones con la cadena Drift–Salesforce–Salesloft habilitada. Los datos en mayor riesgo incluyen: tokens OAuth de Salesforce/Drift/Salesloft, tokens de Snowflake emitidos a usuarios de integración y claves de AWS utilizadas por conectores. Donde aplique, se recomienda: revocar tokens emitidos o renovados del 15 al 31 de julio, rotar claves de AWS y credenciales de Snowflake, y revisar consentimientos de apps de terceros para impedir nuevo robo de tokens OAuth.

Cómo robaron tokens OAuth y exfiltraron datos
El ataque explotó la cadena de confianza entre Drift, Salesforce y Salesloft. Mediante una integración mal protegida, los actores obtuvieron autorización no deseada y culminaron en el robo de tokens OAuth con alcance amplio. Con esos tokens y sus refresh tokens, accedieron a APIs de CRM y mensajería para leer y sincronizar objetos sensibles, y luego se movieron lateralmente hacia aplicaciones conectadas que heredaban permisos.
Vector inicial: integración Drift–Salesforce mal configurada
La Connected App usaba redirect_uri permisivo y scopes excesivos (offline_access/refresh_token). La falta de PKCE y validación estricta del estado permitió canjear códigos de autorización capturados o reaprovechados desde logs/webhooks. Además, secretos del cliente quedaban expuestos en configuraciones de la integración, facilitando el intercambio por tokens de larga vida.
Abuso del ciclo OAuth y movimiento lateral
Con el refresh token, los atacantes generaron nuevos access tokens sin interacción del usuario y automatizaron llamadas a endpoints de Salesforce y Salesloft. Enumeraron integraciones conectadas y extrajeron configuraciones con credenciales embebidas. Este segundo tramo del robo de tokens OAuth amplió el radio de impacto al heredar permisos entre aplicaciones y sincronizaciones bidireccionales.
Exfiltración de datos y secretos
La extracción se realizó en lotes pequeños para evadir alertas: contactos, oportunidades, correos, notas y transcripciones, junto a secretos operativos (p. ej., claves de AWS y tokens de Snowflake encontrados en parámetros de integración o campos administrativos). Para contener ataques similares: restringe scopes al mínimo, aplica PKCE y redirect URIs exactas, rota y revoca refresh tokens comprometidos, cifra y segrega secretos fuera de los CRMs, y monitoriza anómalos por app, usuario y egress. Así se corta el ciclo del robo de tokens OAuth y la exfiltración encadenada.

Impacto en clientes con integración Drift-Salesforce
Para organizaciones que conectan Drift con Salesforce, el robo de tokens OAuth permite a un actor malicioso operar como si fuera la integración legítima. Con los permisos concedidos al Connected App, el atacante puede leer, crear o modificar datos del CRM, y orquestar acciones desde Drift que se reflejan en Salesforce, afectando la calidad del pipeline y la integridad de la automatización comercial.
Riesgos específicos para el flujo Drift ↔ Salesforce
- Exfiltración de contactos, leads y oportunidades mediante APIs REST/Bulk, con posibilidad de filtrar PII y notas internas.
- Manipulación de automatizaciones: cambios de owner y estado, creación de tareas/casos y actualización de campos clave desde playbooks.
- Suplantación en Drift: envío de mensajes, respuestas en chat y handoff a ventas que alteran la experiencia del cliente.
- Pivotaje a activos relacionados si son accesibles desde registros o adjuntos (p. ej., claves de nube o tokens de data warehouse).
Impacto operativo y de cumplimiento
Distorsión de métricas de forecast y atribución, contaminación de datos maestros y riesgo regulatorio (GDPR/CCPA) por exposición de PII y logs. La confianza en informes y segmentaciones queda comprometida hasta completar la remediación.
Acciones inmediatas recomendadas
- Revocar y reautorizar la integración Drift-Salesforce; rotar secretos del Connected App y validar scopes mínimos necesarios.
- Invalidar sesiones y refresh tokens asociados al robo de tokens OAuth; enumerar y retirar tokens inactivos o con permisos excesivos.
- Auditar eventos: Salesforce (Login History, Setup Audit Trail, Event Monitoring para API/Bulk/ReportExport) y Drift (audit logs, webhooks).
- Detectar IOCs: picos de exportación, IPs atípicas, lotes de cambios de owner/estado y nuevas autorizaciones de integraciones.
- Rotar credenciales relacionadas (Named Credentials, claves de nube, tokens de analítica) si eran accesibles desde Salesforce o Drift.
Reducir la ventana de exposición tras un robo de tokens OAuth depende de revocación rápida, rotación de credenciales y verificación exhaustiva de accesos.

Mitigación: revocaciones, rotación y monitoreo
Revocaciones inmediatas
Ante un robo de tokens OAuth, actúa por fases y en minutos. Suspende temporalmente las integraciones afectadas (por ejemplo, Drift–Salesforce y Salesloft) y revoca todos los grants y sesiones activos. Elimina consentimientos excesivos, invalida refresh tokens y fuerza un nuevo consentimiento con principios de mínimo privilegio.
Reinicia secretos de aplicaciones conectadas y client secrets donde aplique. Bloquea tokens por IP, usuario o aplicación cuando observes uso anómalo, y documenta la ventana temporal de exposición para acotar la búsqueda forense.
Rotación acelerada de credenciales
Ejecuta una rotación de emergencia de credenciales potencialmente expuestas: claves de acceso de AWS, tokens/JWT de Snowflake, secretos de webhooks y contraseñas de bases de datos. Usa un gestor de secretos para propagar cambios y revocar automáticamente credenciales antiguas.
Reduce la vida útil de los tokens, deshabilita refresh tokens persistentes y limita scopes a lo estrictamente necesario. Establece rotaciones programadas y pruebas de conmutación para evitar indisponibilidad durante el cambio.
Monitoreo y detección continua
Centraliza en tu SIEM los eventos de autorización, canje y refresco de tokens, junto con logs de aplicaciones y de red. Crea alertas por picos de refresh, accesos desde IPs o geografías inusuales, y uso de tokens después de su revocación.
Tras un robo de tokens OAuth, vigila consentimientos nuevos o ampliados, correlaciona llamadas API entre Salesforce, Salesloft, Drift, AWS y Snowflake, y aplica listas de permitidos por IP, límites de tasa y autenticación reforzada para frenar la explotación repetida de robo de tokens OAuth.
y luego