Skip to content

ShellBags y memorias USB: un caso de investigación práctico

Un caso ficticio paso a paso: los ShellBags muestran una cuenta de servicio que recorre un ZIP, un recurso de finanzas y un USB. Qué prueban y qué no.

Publicado el 7 min de lectura

TL;DR. En este caso ficticio, los ShellBags de svc_backup en el equipo FIN-WKS-07 muestran, en 45 minutos: navegación dentro de Downloads\tools.zip, una carpeta nueva bajo ProgramData\Intel, el recurso compartido \\FILESRV01\Finance (Payroll y después Board) y E:\exfil\finance_2026 en una segunda unidad. Los ShellBags prueban que la cuenta navegó a cada carpeta y dan el orden y horas aproximadas. No prueban que se copiara ningún archivo. El informe afirma la navegación y señala los artefactos que pueden probar el resto.

Escenario ficticio. Todo lo que sigue usa los hives sintéticos del botón Probar un ejemplo de ShellBags Parser: la cuenta, el equipo, el recurso compartido, el SID y las horas son inventados. El caso continúa la misma historia que los sitios hermanos de parsers (una cuenta de servicio maliciosa en FIN-WKS-07). No hay ninguna organización ni persona real implicada.

La pregunta

El equipo de finanzas informa de que documentos del consejo han aparecido en un sitio de pegado. El SOC ve un inicio de sesión interactivo de svc_backup, una cuenta de servicio que nunca debería iniciar sesión de forma interactiva, en FIN-WKS-07 el 2026-09-14. Pregunta para los ShellBags: ¿qué carpetas recorrió esa cuenta en el Explorador y en qué orden?

Adquisición

El técnico de respuesta recogió C:\Users\svc_backup\NTUSER.DAT y ...\AppData\Local\Microsoft\Windows\UsrClass.dat, con sus .LOG1/.LOG2, mediante el target RegistryHivesUser de KAPE (véase dónde se guardan los ShellBags). Ninguno de los dos hives estaba sucio. La clave raíz de UsrClass es S-1-5-21-3623811015-3361044348-30300820-1119_Classes, y los Shell Folders de NTUSER apuntan a C:\Users\svc_backup, así que ambos hives se atribuyen a la misma cuenta.

Lo que muestra el parser

Al soltar los dos hives en ShellBags Parser aparecen 20 entradas. Con Solo señaladas marcado, las interesantes son:

RutaTipoFecha usadaSeñalesMFT (entrada/sec.)
My Computer\C:\Users\svc_backup\Downloads\tools.zip\x64directorio dentro de archivo comprimidoúltima interacción 10:07:20archivo comprimido0 (sin significado)
My Computer\C:\ProgramData\Inteldirectorioúltima interacción 10:09:05escribible por el usuario91233/1
\\FILESRV01\Financeredúltima interacción 10:31:07redn/a
\\FILESRV01\Finance\Payrolldirectorioúltima escritura de la clave 10:32:40red70112/1
\\FILESRV01\Finance\Boarddirectorioúltima interacción 10:36:18red70140/1
My Computer\E:\exfildirectorioúltima interacción 10:45:51otra unidad35/1
My Computer\E:\exfil\finance_2026directorioúltima interacción 10:45:51otra unidad36/1

Todas las horas del 2026-09-14, en UTC. «Última interacción» significa que la entrada era la primera del MRUListEx de su padre y toma el LastWrite de la clave padre; «última escritura de la clave» es la de la propia clave de la entrada. La diferencia importa: véase las marcas de tiempo de los ShellBags explicadas.

Lectura, entrada por entrada

1. El kit de herramientas dentro de un ZIP

tools.zip es un item file entry bajo Downloads, y x64 está debajo de él en el árbol. Es decir, el usuario abrió el ZIP en el Explorador como carpeta comprimida y navegó a su directorio x64. Las fechas incrustadas del ZIP (creación 10:06:12, modificación 10:06:40, acceso 10:07:02) son sus fechas en el sistema de archivos cuando se registró el item, coherentes con una descarga hacia las 10:06. La clave tools.zip se escribió por última vez a las 10:07:20 con x64 en la primera posición MRU: navegación dentro del archivo hacia las 10:07.

Lo que no muestra: la extracción. Recorrer un ZIP en el Explorador no lo extrae. Busque los archivos extraídos en la MFT y en el diario USN. Más en ShellBags y archivos ZIP.

2. Una carpeta nueva en ProgramData

C:\ProgramData\Intel tuvo su última interacción a las 10:09:05. Su fecha de creación incrustada es 10:09:00, mientras que ProgramData data del 2026-09-01. Una carpeta con nombre de fabricante creada un minuto antes de recorrerla, en una ubicación escribible por el usuario, es un patrón clásico de preparación. La referencia MFT (entrada 91233, secuencia 1) permite extraer su registro y sus hijos de la $MFT. Si dispone de artefactos de ejecución (Prefetch, Amcache, BAM en el registro), compruebe qué se ejecutó desde esa carpeta.

3. El recurso compartido de finanzas

Tres hechos:

  • \\FILESRV01 era el hijo más reciente de Network, y Finance el hijo más reciente de \\FILESRV01, cuando esas claves se escribieron a las 10:31:07.
  • El MRUListEx de Finance es 1, 0: Board (ranura 1) se usó después de Payroll (ranura 0).
  • Board hereda el LastWrite de Finance, 10:36:18. Payroll, no; el LastWrite de su propia clave (10:32:40), sin subclaves, aproxima cuándo se registró su entrada.

Redacción sólida: «La cuenta navegó a \\FILESRV01\Finance\Payroll y después a \\FILESRV01\Finance\Board; Board era la subcarpeta de Finance usada más recientemente a las 10:36:18 UTC». Las referencias MFT incrustadas (70112, 70140) son registros NTFS del servidor de archivos, útiles cuando examine FILESRV01. En el lado del servidor, la auditoría de acceso a recursos compartidos (eventos de seguridad 5140 y 5145, si está activada) puede confirmar la sesión y los archivos tocados.

4. La segunda unidad

E: era el hijo más reciente de My Computer a las 10:45:51, y exfil\finance_2026 se recorrió entonces. Según sus fechas incrustadas, exfil se creó a las 10:40 y finance_2026 a las 10:45. Ambos llevan referencias MFT, así que el volumen E: estaba formateado en NTFS en ese momento; números de entrada bajos como 35 y 36 son lo esperable en un volumen recién formateado, una pista que conviene comprobar, no una conclusión.

El parser la señala como «Otra unidad (¿USB?)» porque la letra no es C:. Los ShellBags por sí solos no pueden decir que fuera USB. Eso sale del historial de dispositivos del hive SYSTEM, de los registros de setupapi y de eventos, y de los LNK cuyo número de serie de volumen coincida.

5. La Papelera a las 10:50

La clave raíz BagMRU se escribió por última vez a las 10:50:03 con Recycle Bin en primera posición. La cuenta abrió la Papelera cinco minutos después de la actividad en E:. Por sí solo, anecdótico. En contexto, un motivo para analizar $Recycle.Bin (parser de la Papelera) y ver qué se borró.

La cronología

Hora (UTC)Hallazgo de ShellBagsSiguiente artefacto a revisar
~10:02Primera actividad del Explorador en el árbol de NTUSER (My Computer\C:)Eventos de inicio de sesión (4624 tipo 2/10)
~10:07Navegación dentro de Downloads\tools.zip\x64MFT/USN para la extracción, Zone.Identifier
10:09ProgramData\Intel (creada a las 10:09)Prefetch/Amcache/BAM para binarios de esa carpeta
10:31–10:36\\FILESRV01\Finance, Payroll y después BoardLNK/Jump Lists, 5140/5145 en el servidor
10:40–10:45E:\exfil, finance_2026 creadas y recorridasHistorial USB, número de serie del volumen en los LNK
10:50PapeleraArchivos $I de $Recycle.Bin

Lo que los ShellBags no pueden decir

  • Que se abriera, copiara o subiera ningún archivo.
  • Que E: fuera un dispositivo USB, ni cuál.
  • Nada de lo hecho desde una consola: en la historia asociada, las herramientas de línea de comandos del atacante no dejan ShellBags.
  • Que no se recorrieran otras carpetas: una sesión del Explorador con otra cuenta, o claves limpiadas, no aparecerían.

Por eso la sección del informe dedicada a los ShellBags es breve y precisa, y cada fila de la cronología tiene una columna de «siguiente artefacto». Para la elección de artefactos, véase ShellBags frente a archivos LNK, Jump Lists y RecentDocs.

Reprodúzcalo

Abra ShellBags Parser, haga clic en Probar un ejemplo, marque Solo señaladas y alterne entre Árbol y Cronología. La guía paso a paso explica cada panel.

Artículos relacionados

Artículos relacionados