Ejemplo de investigación BEC en Google Workspace (ficticio)
Un compromiso de correo empresarial ficticio en Google Workspace, analizado desde los registros: inicio AiTM, OAuth, filtro oculto, fraude y robo en Drive.
En resumen. Este recorrido usa el ejemplo integrado en el analizador, un incidente ficticio en una empresa inventada («Northbridge Supplies», dominios .example, direcciones IP de los rangos reservados para documentación). En dos días, la sesión de la responsable de finanzas es secuestrada desde una IP de DigitalOcean. Una aplicación «PDF Viewer Pro» obtiene acceso completo a Gmail. Un filtro reenvía y oculta todas las facturas. Se descargan 24 archivos de Drive de madrugada. Sale un correo de «nuevos datos bancarios» hacia dos clientes. Los registros lo muestran todo. Pulse Probar un ejemplo en la página de inicio para seguirlo a la vez.
Escenario ficticio. Northbridge Supplies, su personal, proveedores, clientes y todas las direcciones e IP que aparecen a continuación son inventados. Los archivos usan los formatos de exportación reales (JSON de la API Reports, CSV de la consola, configuración de la API de Gmail) y se generaron solo para la demostración.
La llamada
Jueves 17 de septiembre de 2026, a media mañana. La responsable de cuentas por pagar de un cliente, Hartwell Retail, llama a la responsable de finanzas de Northbridge, Claire Martin. Quiere confirmar los «datos bancarios actualizados» recibidos esa misma mañana antes de cambiar la ficha del proveedor. Claire nunca envió ese mensaje. El equipo de TI exporta los registros de la semana y abre el analizador.
Evidencias recopiladas
| Archivo | Formato | Registro |
|---|---|---|
login_activities.json | API Reports | Inicios de sesión |
user_accounts_activities.json | API Reports | Cuentas de usuario |
token_activities.json | API Reports | Tokens OAuth |
gmail_activities.json | API Reports | Gmail |
drive_log_events.csv | CSV de la consola | Drive |
admin_log_events.csv | CSV de la consola | Admin |
gmail-settings/claire.martin@…/filters.json, forwardingAddresses.json, autoForwarding.json | API de Gmail | Configuración del buzón |
El panel de cobertura muestra siete fuentes, del 7 al 18 de septiembre, y ninguna fuente ausente. Eso importa: aquí el veredicto, sea «limpio» o «comprometido», se basa en todos los mecanismos de persistencia que la herramienta comprueba.
Veredicto: probablemente comprometido
El primer hallazgo es la cadena crítica «Patrón de toma de control: inicio de sesión de riesgo seguido de persistencia en el buzón» para claire.martin@northbridge.example. Enlaza diez hallazgos. El resto del artículo reconstruye la cronología a partir de ellos. Todas las horas están en UTC.
Cronología
| Hora (UTC) | Registro | Evento | Lectura |
|---|---|---|---|
| 15 sept. 06:40 | Inicios de sesión | login_success desde la IP de la oficina (FR) | Inicio de jornada normal |
| 15 sept. 06:47 | Gmail | Recepción: «Invoice INV-20931 awaiting your signature» de un remitente que imita un servicio de firma | El señuelo |
| 15 sept. 06:52 | Gmail | Clic en un enlace del mismo mensaje | Claire abre la página de phishing |
| 15 sept. 06:53 | Inicios de sesión | login_verification (solicitud de Google superada) y luego login_success desde 203.0.113.45, AS14061 DigitalOcean, US | Retransmisión AiTM: contraseña y solicitud pasadas por un VPS |
| 15 sept. 06:57 | Tokens OAuth | authorize «PDF Viewer Pro», scopes https://mail.google.com/, gmail.settings.basic | Concesión de consentimiento ilícita desde la IP del atacante |
| 15 sept. 07:00–07:30 | Tokens OAuth | 64 eventos activity: messages.list, messages.get, un settings.filters.create | Buzón leído por la API, filtro creado por la aplicación |
| 15 sept. 07:04 | Cuentas de usuario | email_forwarding_out_of_domain → c.martin.finance@mailbox-relay.example | Dirección de reenvío externa añadida |
| sin fecha | Configuración de Gmail | Filtro invoice OR payment OR remittance OR "bank details" → quitar INBOX y UNREAD, reenviar a la misma dirección | Regla de ocultación más reenvío |
| 15–17 sept. | Gmail | Tres facturas de proveedor recibidas, reenviadas automáticamente a la dirección de relevo y archivadas | Claire nunca las ve |
| 16 sept. 00:07 | Inicios de sesión | login_success desde 203.0.113.46 (mismo ASN) | Segunda sesión del atacante, de noche |
| 16 sept. 00:10–00:16 | Drive | 24 eventos download en seis minutos: datos bancarios de proveedores, nóminas, maestro de clientes… | Descarga masiva |
| 17 sept. 08:12 | Gmail | Envío: «Updated bank details for Northbridge Supplies invoices» a dos direcciones de clientes externos, desde la IP del atacante | El fraude |
| 17 sept. 08:12 | Gmail | El mensaje enviado se mueve a la papelera | Borrar huellas |
Los hallazgos, uno a uno
| Hallazgo (gravedad) | Qué detectó | ATT&CK |
|---|---|---|
| Inicio de sesión correcto desde una red de hosting / VPS (alta) | Dos inicios de sesión desde AS14061 | T1078.004, T1557 |
| Viaje imposible entre dos inicios de sesión correctos (alta) | Oficina en Francia a las 06:40, EE. UU. a las 06:53 | T1078.004 |
| Inicio de sesión correcto desde un país nunca visto para este usuario (media) | Primer inicio desde EE. UU. tras un historial francés | T1078.004 |
| Aplicación de terceros con acceso a Gmail (alta) | «PDF Viewer Pro» con https://mail.google.com/ | T1528, T1114.002 |
| Aplicación que lee Gmail en volumen mediante la API (media) | 64 llamadas en 30 min | T1114.002 |
| Reenvío automático a una dirección externa activado (alta) | email_forwarding_out_of_domain | T1114.003 |
| Un filtro de Gmail reenvía correo a una dirección externa (alta) | Reenvío por filtro a la dirección de relevo | T1114.003 |
| Un filtro de Gmail oculta el correo financiero (alta) | -INBOX -UNREAD sobre palabras de facturas y pagos | T1564.008 |
| Mensajes reenviados automáticamente por una configuración de Gmail (media) | Tres facturas de proveedor | T1114.003 |
| Mensajes financieros enviados a la papelera o archivados en masa (media) | Facturas archivadas, correo fraudulento a la papelera | T1564.008, T1070.008 |
| Correo saliente sobre cambio de datos bancarios a un destinatario externo (media) | Enviado a dos clientes externos | T1656, T1534 |
| Descarga masiva de archivos de Drive (alta) | 24 archivos en 6 min desde la IP del atacante | T1530 |
| Un administrador restableció la contraseña de un usuario / Cuenta de usuario creada o restaurada (baja) | TI creó la cuenta de una nueva incorporación el 9 de sept. | T1098, T1136.003 |
Los dos hallazgos de administración de gravedad baja son los falsos positivos del caso. El administrador de TI creó lucas.moreau@… y fijó su contraseña desde la IP de la oficina, una semana antes del incidente. Comprobado con TI y cotejado con una solicitud de RR. HH.: cerrado. Así se tratan los hallazgos de gravedad baja: se explican, no se ignoran.
Conclusiones del analista
- Acceso inicial: phishing AiTM. Se retransmitieron la contraseña y la solicitud de Google, por eso la 2SV no lo impidió. La remediación incluye pasar a finanzas a llaves de seguridad (por qué).
- Persistencia: tres mecanismos independientes (token OAuth, dirección de reenvío, filtro). Restablecer solo la contraseña no habría eliminado ninguno. Más en reglas de reenvío de Gmail y aplicaciones OAuth sospechosas.
- Impacto: facturas de proveedores interceptadas durante tres días, 24 archivos sensibles descargados, un correo fraudulento de cambio de datos bancarios enviado a dos clientes.
- Sin indicios de compromiso a nivel de administración: ningún cambio de roles, SSO, delegación o enrutamiento en el registro de Admin durante el periodo.
La remediación, en el orden de la herramienta
Contener la sesión (restablecer las cookies de inicio de sesión) → restablecer la contraseña → exigir una 2SV resistente al phishing → eliminar el reenvío → borrar el filtro y recuperar las facturas ocultas → revocar «PDF Viewer Pro» y bloquear su ID de cliente → revisar los administradores → revisar el uso compartido de Drive → llamar por teléfono a Hartwell Retail y Corvin Foods → congelar los pagos con datos modificados → preservar los registros → bloquear las IP del atacante.
Lo que este ejemplo no muestra
Los casos reales son más desordenados: exportaciones CSV sin columnas de red, varias víctimas, usuarios de VPN legítimos, aplicaciones populares y a la vez con demasiados permisos. El ejemplo es pequeño (unos 430 eventos) y tiene una sola víctima. Tómelo como un mapa de dónde está la evidencia, no como una plantilla de lo evidente que será un incidente real. Las lagunas que encontrará se describen en limitaciones de los registros de auditoría.
Para hacer el mismo análisis en su propio tenant, siga la guía paso a paso.