Jump List Parser
Volver al blog

Dónde almacena Windows los archivos Jump List (Win 7, 10, 11)

2026-05-253 min de lectura

TL;DR — Las Jump Lists residen en dos directorios por usuario dentro del perfil Roaming: %AppData%\Microsoft\Windows\Recent\AutomaticDestinations\ y %AppData%\Microsoft\Windows\Recent\CustomDestinations\. Estas rutas son idénticas en Windows 7, 8, 10 y 11.

Ubicación de AutomaticDestinations

Archivos escritos por el propio shell cuando un usuario abre un documento:

%AppData%\Microsoft\Windows\Recent\AutomaticDestinations\

Resuelto, esto es C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\. Cada archivo se llama <AppID>.automaticDestinations-ms, por ejemplo <AppID>.automaticDestinations-ms donde <AppID> es una cadena hexadecimal de 16 caracteres. El archivo en sí es un OLE Compound File cuyos flujos numerados son estructuras LNK, ordenados por un flujo DestList.

Ubicación de CustomDestinations

Archivos escritos por la aplicación a través de la API ICustomDestinationList para sus elementos anclados y categorías personalizadas ("Tasks", "Recent", etc.):

%AppData%\Microsoft\Windows\Recent\CustomDestinations\

Misma convención de nombres: <AppID>.customDestinations-ms. El formato es una secuencia plana de estructuras LNK precedida por una pequeña cabecera — no es un OLE Compound File.

Por usuario vs por máquina

Ambos directorios son por usuario y viajan con el perfil (están bajo AppData\Roaming, no Local). No existe un almacén de Jump Lists a nivel de máquina. En un host activo puedes resolver el usuario actual con echo %AppData%; en una imagen montada, recorre \Users\ y mapea cada carpeta de perfil a su SID mediante HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\<SID> si necesitas vincular la actividad a una cuenta.

En una imagen forense

Monta la imagen y extrae todo el árbol Recent por usuario:

\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\
\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\
\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\

La carpeta padre Recent\ también contiene accesos directos .lnk clásicos — útiles como corroboración pero un artefacto aparte. Las dos subcarpetas *Destinations han existido sin cambios desde Windows 7, así que el mismo script de recolección funciona en Windows 7, 8.1, 10 y 11. En un sistema en ejecución, espera que explorer.exe mantenga handles abiertos; recopila desde una Volume Shadow Copy (\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\…) o trabaja desde una imagen.

Cómo es un AppID

El prefijo del nombre de archivo es una cadena hexadecimal en minúsculas de 16 caracteres — por ejemplo 1b4dd67f29cb1962. Es un hash CRC64 truncado calculado sobre la ruta del ejecutable de la aplicación (y, en algunos casos, datos identificativos adicionales), de modo que el mismo binario en la misma ruta produce el mismo AppID en cualquier máquina. Esa estabilidad es lo que hace útiles las listas publicadas de AppIDs: Quick Access y otros elementos anclados al shell usan AppIDs estables y bien conocidos que los analistas pueden reconocer a primera vista. Mueve o renombra el ejecutable y el AppID cambia, dejando el archivo Jump List antiguo huérfano en la carpeta.

Para el diseño de bytes en disco de estos archivos, consulta el desglose del formato de archivo.