Skip to content

ShellBags frente a archivos LNK, Jump Lists y RecentDocs

Cuatro artefactos de actividad comparados: qué registran ShellBags, archivos LNK, Jump Lists y RecentDocs, qué prueban y cuáles son sus puntos ciegos.

Publicado el 6 min de lectura

TL;DR. Los ShellBags responden a «¿qué carpetas recorrió este usuario?». Los archivos LNK y las Jump Lists responden a «¿qué archivos (y carpetas) abrió, con qué aplicación y cuándo?». RecentDocs responde a «¿qué abrió recientemente, por extensión?» de forma compacta en el registro. Los cuatro son por usuario y usan el mismo formato de shell item. Son testigos complementarios: los ShellBags aportan amplitud sobre carpetas; los demás, profundidad sobre archivos.

Cuando reviso una cronología de actividad de usuario, el error estructural más frecuente es usar uno de estos artefactos como sustituto de otro: «no hay LNK, así que el usuario nunca fue allí» o «los ShellBags muestran la carpeta, así que el usuario abrió la hoja de cálculo». Este artículo explica qué puede contener cada uno.

De un vistazo

ShellBagsArchivos LNKJump ListsRecentDocs
AlmacenamientoUsrClass.dat + NTUSER.DAT, Shell\BagMRU%APPDATA%\Microsoft\Windows\Recent\*.lnk...\Recent\AutomaticDestinations\*.automaticDestinations-ms, CustomDestinations\*.customDestinations-msNTUSER.DAT Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Unidad registradaCarpetaArchivo o carpeta de destinoElemento por aplicación (AppID)Nombre de archivo o carpeta, por extensión
Lo creaNavegar/seleccionar carpetas en el Explorador y en los cuadros de diálogoAbrir un archivo a través del shellAbrir elementos con una aplicación que usa jump listsEl seguimiento de «documentos recientes» del shell (SHAddToRecentDocs)
Fechas claveLastWrite de clave, última interacción derivada del MRU, fechas MAC de la carpetaCreación/modificación del LNK, fechas MAC del destinoÚltimo acceso por entrada en DestListLastWrite de clave + orden MRUListEx
Contexto adicionalReferencia MFT de la carpeta, ruta UNC, ruta dentro de archivo comprimidoNúmero de serie del volumen, tipo de unidad, nombre NetBIOS, MAC del equipo (bloque tracker)Identidad de la aplicación, número de accesos en versiones recientes, datos LNK incrustadosOrden de uso por extensión
Prueba acceso a archivoNoSíSíSí
Sobrevive al borrado del destinoSíSíSíSí

Referencias de estructura: MS-SHLLINK para los LNK, el formato Jump lists de libyal y el formato de shell items de libfwsi, común a los cuatro. El póster SANS Windows Forensic Analysis los agrupa bajo «apertura de archivos/carpetas».

Cuándo ganan los ShellBags

  • Recorrer sin abrir. Un usuario que explora un recurso compartido para ver qué hay, o que comprueba que una copia a USB terminó, a menudo no abre nada. Solo los ShellBags lo recuerdan.
  • Amplitud a nivel de carpeta. Se registra cada padre de cada ruta recorrida. Ve la estructura de una unidad extraíble que el usuario exploró, no solo el archivo que abrió.
  • Longevidad. Los LNK de Recent se purgan y las entradas de Jump Lists caducan por aplicación. Los ShellBags persisten mucho más en un perfil típico (con los límites descritos en limitaciones de los ShellBags).
  • Carpetas borradas. La referencia MFT del shell item permite comprobar si el registro de la carpeta se reutilizó. Véase carpetas borradas.

Cuándo ganan los LNK y las Jump Lists

  • Prueba a nivel de archivo. Nombran el archivo abierto. Los ShellBags no pueden.
  • Identidad del dispositivo. Los LNK llevan el número de serie del volumen y el tipo de unidad del destino, lo que vincula un archivo abierto a un volumen USB concreto. Un ShellBag solo da una letra de unidad.
  • Contexto de la aplicación. Una Jump List es por AppID, así que sabe que el archivo se abrió, por ejemplo, con el gestor ZIP predeterminado o con un cliente de escritorio remoto.
  • Mejores fechas para el archivo. La creación del LNK aproxima la primera apertura; su modificación, la última (a través de ese acceso directo).

Cuándo ayuda RecentDocs

RecentDocs es un índice compacto por usuario de los elementos abiertos recientemente, con una subclave por extensión y una subclave Folder, cada una con su propio MRUListEx. Sirve para ordenar por tipo «lo abierto más recientemente» y para detectar extensiones que no encajan con el usuario (.ps1, .7z, .kdbx). Guarda nombres, no rutas completas, así que combínelo con los LNK para obtener la ruta. Listas relacionadas bajo ComDlg32 (OpenSavePidlMRU, LastVisitedPidlMRU) registran archivos y carpetas usados en cuadros de diálogo Abrir/Guardar, por extensión y por aplicación.

Usarlos juntos: un patrón

Una secuencia hipotética que amplía la muestra ficticia del sitio (el nombre del archivo y los detalles del LNK son inventados para ilustrar):

  1. Los ShellBags sitúan al usuario en \\FILESRV01\Finance\Board a las 10:36 (derivado del MRU).
  2. Los LNK/Jump Lists muestran Q3_board_pack.pdf abierto desde ese recurso a las 10:37.
  3. La subclave .pdf de RecentDocs tiene el mismo nombre en la posición 0.
  4. Los ShellBags muestran después E:\exfil\finance_2026 recorrido a las 10:45; un LNK de un archivo de esa carpeta lleva el número de serie del volumen E:, que se cruza con el historial de dispositivos USB del hive SYSTEM y los registros de eventos (parser EVTX).

Cada artefacto cubre los huecos de los demás. Que falte uno no hace falsa la historia; le dice dónde mirar a continuación.

Leer la ausencia

  • ShellBag presente, sin LNK. La carpeta se recorrió; o no se abrió ningún archivo a través del shell, o el LNK se purgó o se borró. No es prueba de acceso a un archivo.
  • LNK presente, sin ShellBag de su carpeta. El archivo pudo abrirse desde una ruta que el usuario nunca recorrió (un enlace en un correo, una línea de comandos, la lista reciente de una aplicación), o los ShellBags se limpiaron.
  • Ninguno de los dos. Considere actividad por consola o por scripts, otra cuenta o antiforense. Los artefactos de ejecución como Prefetch, Amcache y la base de datos SRUM pueden mostrar qué herramientas se ejecutaron.

Preguntas frecuentes

¿Qué artefacto prueba que se abrió un archivo, los ShellBags o los archivos LNK?

Los archivos LNK, las Jump Lists y RecentDocs registran archivos abiertos. Los ShellBags solo registran carpetas visitadas o seleccionadas.

¿Para qué extraer los ShellBags si ya tengo los archivos LNK?

Porque los usuarios recorren muchas carpetas sin abrir ningún archivo en ellas, y los ShellBags conservan esas carpetas, también en soportes extraíbles y recursos compartidos, mucho después de que los LNK se hayan rotado o borrado.

Artículos relacionados

Artículos relacionados