Evidencia de ejecución con BAM: caso de movimiento lateral
Investigación ficticia en FIN-WKS-07 leída con BAM: phishing, cuenta de servicio secuestrada, escaneo, PsExec, RDP y rclone — y lo que BAM no pudo mostrar.
TL;DR. Escenario ficticio, datos sintéticos. En FIN-WKS-07, BAM basta para reconstruir una mañana: alice abre una «factura» con doble extensión y PowerShell 24 segundos después; una hora más tarde, la cuenta de servicio svc_backup — que solo debería ejecutar un agente de copias de seguridad — lanza cmd.exe, deja un binario en ProgramData, ejecuta un escáner de IP desde un segundo volumen, abre RDP y ejecuta PsExec, 7-Zip y rclone. Un falso svchost.exe se ejecuta como SYSTEM desde Windows\Temp. BAM aporta el quién, el qué y el cuándo; no puede aportar los comandos, los hash ni los destinos, y este artículo lo deja claro en cada caso.
Todo lo que aparece en este artículo es ficticio. El equipo, las cuentas, los SID, las rutas y las horas proceden de las colmenas sintéticas del botón «Probar un ejemplo» del BAM/DAM Parser. No se describe ninguna organización, persona ni incidente reales. Puedes cargar los mismos datos y seguir el caso.
El planteamiento
Un equipo de contabilidad, FIN-WKS-07, generó una alerta por tráfico saliente hacia un proveedor de almacenamiento en la nube el 14 de septiembre de 2026. El analista recopiló SYSTEM, SYSTEM.LOG1/LOG2 y SOFTWARE con KAPE antes de que nadie reiniciara el equipo — lo que, como explica el artículo sobre limitaciones, mantiene vivas las entradas de BAM de las herramientas borradas.
Al cargar las colmenas en la herramienta aparece esta cabecera:
| Campo | Valor |
|---|---|
| Equipo | FIN-WKS-07 |
| Zona horaria | Romance Standard Time (París, UTC+2 en septiembre) |
| Control set activo | 1 |
| Cuentas | alice (…-1104), svc_backup (…-1119), SYSTEM (S-1-5-18) |
Todas las horas siguientes están en UTC, tal como las guarda BAM. Suma dos horas para la hora local de París.
Fase 1 — Acceso inicial con alice
Filtrando por alice y ordenando por última ejecución:
| Última ejecución (UTC) | Programa | Ruta | Señales |
|---|---|---|---|
| 08:51:13 | explorer.exe (DAM) | \Windows\explorer.exe | |
| 08:55:02 | MSTeams | paquete MSTeams_8wekyb3d8bbwe | |
| 08:58:40 | OUTLOOK.EXE | \Program Files\Microsoft Office\root\Office16\ | |
| 09:03:11 | chrome.exe | \Program Files\Google\Chrome\Application\ | |
| 09:12:07 | Invoice_2026-0914.pdf.exe | \Users\alice\Downloads\ | carpeta escribible por el usuario, doble extensión |
| 09:12:31 | powershell.exe | \Windows\System32\WindowsPowerShell\v1.0\ |
Lo que BAM respalda: un inicio de jornada normal (Teams, Outlook, Chrome), luego un programa con doble extensión .pdf.exe desde Downloads y PowerShell 24 segundos después, todo con alice.
Lo que BAM no muestra: cómo llegó el archivo (descarga del navegador o adjunto de correo), su hash, si PowerShell era su proceso hijo ni qué ejecutó PowerShell. Recuerda que la hora es la última actividad registrada — actualizada al iniciar y al terminar el proceso (Suhanov) —, así que la «factura» pudo arrancar algo antes de las 09:12:07 si estuvo abierta un rato.
Siguientes pasos en un caso real: historial de Chrome y flujo Zone.Identifier para el origen de la descarga (Browser Forensics), Amcache para el SHA-1, registros PowerShell Operational (4104, registro de bloques de script si está activado) en EVTX Parser.
Comparación de control sets. Al desactivar «Solo control set activo» aparece ControlSet002 con solo cuatro entradas de alice — Chrome, Outlook, Excel y Notepad. Esa instantánea más antigua no contiene ninguna de las filas sospechosas, lo que es coherente con una actividad reciente. Es un punto de comparación, no una prueba de cronología.
Fase 2 — La cuenta de servicio se despierta
svc_backup es una cuenta de servicio de copias de seguridad. En una red sana, su clave de BAM contendría como mucho el agente de copias. Aquí:
| Última ejecución (UTC) | Programa | Ruta | Señales |
|---|---|---|---|
| 10:02:16 | cmd.exe | \Windows\System32\ | |
| 10:09:44 | m64.exe | \ProgramData\Intel\ | carpeta escribible por el usuario |
| 10:15:58 | Advanced_IP_Scanner.exe | \Device\HarddiskVolume7\tools\ | doble uso |
| 10:18:40 | mstsc.exe | \Windows\System32\ | |
| 10:21:03 | PsExec64.exe | \Users\svc_backup\Downloads\ | carpeta escribible por el usuario, doble uso |
| 10:39:25 | 7z.exe | \Program Files\7-Zip\ | |
| 10:47:12 | rclone.exe | \Users\Public\ | carpeta escribible por el usuario, doble uso |
Este es el hallazgo central, y es del tipo en que BAM no tiene rival: ejecución atribuida a una cuenta concreta. El artículo sobre la atribución explica por qué debe redactarse «ejecutado con la cuenta svc_backup» — BAM no puede saber si una persona tecleó los comandos o si una herramienta usó las credenciales.
Correspondencia con MITRE ATT&CK para el informe:
Advanced_IP_Scanner.exe→ descubrimiento de servicios de red (T1046).mstsc.exe→ RDP saliente (T1021.001).PsExec64.exe→ ejecución de servicios en equipos remotos (T1569.002).7z.exey luegorclone.exe→ preparación y exfiltración a almacenamiento en la nube (T1567.002).
Lo que aportan las rutas
\Device\HarddiskVolume7\tools\— no es el volumen del sistema (HarddiskVolume3). BAM no registra ejecutables en soportes marcados como extraíbles (Suhanov), así que este volumen se presentó de otra forma: un VHD/ISO montado o un disco externo que se identifica como fijo son candidatos. Asócialo con otros artefactos antes de escribir «USB». Consulta el artículo sobre el formato de los valores para las rutas de dispositivo.\ProgramData\Intel\m64.exe— un binario desconocido en una carpeta de aspecto legítimo. BAM no puede decir qué es; el SHA-1 de Amcache sí.\Users\Public\rclone.exe— una carpeta con escritura para todos, a menudo usada para preparar datos.
Lo que falta
No hay net.exe, whoami.exe ni nltest.exe, aunque este tipo de comandos de reconocimiento es típico en una sesión de cmd.exe. Es lo esperado: se ha observado que los programas de consola lanzados desde una sesión de línea de comandos no reciben entrada en BAM (Suhanov). Esa ausencia no dice nada. Aparecerán en Prefetch y en los eventos 4688/Sysmon.
Fase 3 — SYSTEM desde una carpeta temporal
Bajo S-1-5-18:
| Última ejecución (UTC) | Ruta | Señales |
|---|---|---|
| 07:45:00 | \Windows\System32\svchost.exe | |
| 10:05:01 | \Windows\Temp\svchost.exe | carpeta escribible por el usuario, binario del sistema fuera de lugar |
Un svchost.exe fuera de System32, ejecutándose como LocalSystem tres minutos después de que svc_backup abriera una consola y cuatro minutos antes de que apareciera m64.exe. Enmascaramiento de manual (T1036). Cómo obtuvo SYSTEM — instalación de un servicio, una tarea programada, el propio servicio de PsExec — requiere los eventos 7045/4697 y la clave Services.
La línea de tiempo combinada
| UTC | Cuenta | Evento (BAM) |
|---|---|---|
| 09:12:07 | alice | «Factura» con doble extensión desde Downloads |
| 09:12:31 | alice | PowerShell |
| 10:02:16 | svc_backup | cmd.exe |
| 10:05:01 | SYSTEM | Falso svchost.exe en Windows\Temp |
| 10:09:44 | svc_backup | m64.exe en ProgramData\Intel |
| 10:15:58 | svc_backup | Escáner de IP desde HarddiskVolume7 |
| 10:18:40 | svc_backup | Cliente RDP |
| 10:21:03 | svc_backup | PsExec |
| 10:39:25 | svc_backup | 7-Zip |
| 10:47:12 | svc_backup | rclone |
Los cuarenta minutos entre PowerShell y la primera consola de la cuenta de servicio son el hueco evidente: ¿cómo obtuvo el atacante las credenciales de svc_backup? BAM no lo sabe. Hipótesis a comprobar: credenciales guardadas en un script o configuración legible por alice, un volcado de credenciales (Prefetch/Amcache para herramientas de volcado, eventos de acceso a LSASS) o un inicio de sesión desde otro equipo (4624 tipo 3/10).
Lo que entró en el informe
- Los hallazgos de BAM, cada uno redactado como «última actividad registrada con la cuenta X a las T UTC», con la ruta de la clave SID.
- Los límites explícitos: sin líneas de comandos, sin hash, sin herramientas de consola, sin ejecuciones desde soportes extraíbles o de red, una sola marca de tiempo por programa.
- El plan de corroboración: Amcache (hash de
m64.exe, de la factura y de rclone), Prefetch (contadores, primeras ejecuciones), EVTX (inicios de sesión, instalaciones de servicios, PowerShell), SRUM (bytes enviados porrclone.exe) y las claves de BAM de los equipos alcanzados por PsExec y RDP, donde la misma cuenta (o SYSTEM) pudo ejecutar herramientas también. - El alcance: los demás equipos alcanzados por
mstsc.exeyPsExec64.exereciben la misma recopilación.
Pruébalo
Abre el BAM/DAM Parser, haz clic en Probar un ejemplo y reproduce cada tabla con el filtro de cuentas, «Solo señaladas» y la ordenación. La guía paso a paso explica cada control, y la comparación con Prefetch, ShimCache y Amcache muestra lo que aportaría cada artefacto de corroboración.