Skip to content

RecentFileCache vs Amcache vs Prefetch vs ShimCache

Cuatro artefactos Windows de evidence-of-execution lado a lado: qué almacena cada uno, qué no, y cuál abrir primero.

Publicado el 4 min de lectura

"Evidence of execution" es un trabajo que hacen varios artefactos de Windows, no uno solo. Se solapan, se contradicen y desaparecen a ritmos distintos. Este post pone los cuatro más útiles — RecentFileCache, Amcache, Prefetch, ShimCache — en la misma mesa para que dejes de adivinar cuál abrir primero.

De un vistazo

ArtefactoUbicaciónWindowsGranularidadMarcas de tiempo por entradaMetadatos ricosSobrevive al reboot
RecentFileCacheC:\Windows\AppCompat\Programs\RecentFileCache.bcf7 soloSolo rutaNo (mtime del archivo)Ninguno
AmcacheC:\Windows\AppCompat\Programs\Amcache.hve7→11Clave de registro por entradaSí (LastWritten de clave, más)Ruta, SHA-1, PE, editor, fecha de instalación
PrefetchC:\Windows\Prefetch\*.pfXP→11Por archivo ejecutableSí (últimas 8 ejecuciones)Contador, archivos referenciados, info de volumenSí (poda auto a ~1024 entradas en Win10+)
ShimCacheHive SYSTEM: ControlSet\Control\Session Manager\AppCompatCacheXP→11Por ejecutable, en memoria hasta el shutdownLastModified (archivo), no ejecuciónNingunoSolo con apagado limpio

Qué responde realmente cada uno

  • RecentFileCache. "¿Qué ejecutables cruzaron el escáner Application Experience desde la última ejecución de ProgramDataUpdater?" Barato de parsear, sin metadatos, solo Win7.
  • Amcache. "¿Qué programas y archivos se han instalado o ejecutado en esta máquina, con hashes e info de editor, desde que se instaló el OS?" Lo más cercano a un log sistema-amplio de instalación-y-ejecución en Windows moderno.
  • Prefetch. "¿Qué se ejecutó realmente, cuándo y cuántas veces — para los ~1024 binarios más recientes?" La evidencia por-ejecución más estrecha disponible sin logging dedicado.
  • ShimCache. "¿Qué ejecutables ha visto la infraestructura de shim de AppCompat? ¿Cuándo se modificó cada uno por última vez?" Nota: la marca de tiempo de ShimCache es el LastModified del archivo, no el momento de ejecución — este es el campo más malinterpretado en informes DFIR.

Cuándo recurrir a cuál

Un pequeño árbol de triaje para "¿se ejecutó el binario X?":

  1. Prefetch primero. Si *X*.pf existe, tienes un evento de ejecución con marca(s) de tiempo y contador de ejecuciones. Listo.
  2. Amcache. Si un SHA-1 en InventoryApplicationFile coincide con tu archivo, el archivo al menos fue visto por AppCompat — combinado con Prefetch es evidencia de ejecución de alta confianza.
  3. RecentFileCache (Win7). Si estás en Win7 y Amcache está disperso, .bcf puede ser el único lugar donde aterrizó una ruta reciente. Trátalo como "visto por AppCompat entre las dos últimas ejecuciones de ProgramDataUpdater".
  4. ShimCache. Evidencia corroborativa. Presencia ≈ "la infraestructura AppCompat vio un archivo en esta ruta con este LastModified". No leas su marca de tiempo como un tiempo de ejecución.

Un escenario Win7 desarrollado

Imagina a un analista trabajando una caja Win7 comprometida. El atacante soltó C:\Users\Public\update.exe, lo ejecutó una vez, luego lo borró. El sistema se apagó a la mañana siguiente.

¿Qué sobrevive?

  • Prefetch: UPDATE.EXE-XXXXXXXX.pf probablemente presente, con la marca de tiempo de ejecución integrada.
  • ShimCache: entrada presente con el LastModified pre-borrado del archivo — confirma que la infraestructura AppCompat lo observó, no te dice cuándo se ejecutó.
  • Amcache: si ProgramDataUpdater se disparó entre la ejecución y el apagado, una clave InventoryApplicationFile existe con el SHA-1, editor (o su ausencia), y el LastWritten de la clave de registro como la marca de tiempo más cercana a la ejecución que conseguirás.
  • RecentFileCache: ruta presente si ProgramDataUpdater aún no la había promovido a Amcache. Si la promoción se ejecutó, la ruta puede ya haber desaparecido de .bcf mientras está presente en .hve.

Así que la misma ejecución puede dejar rastros en 4 sitios, contándote cosas ligeramente distintas. Ninguno, en solitario, es "evidencia de ejecución". Leídos juntos, triangulan con confianza.

Herramientas en esta flota

Cada artefacto de la tabla anterior tiene un parser hermano en esta colección — todos WebAssembly del lado cliente, sin upload requerido:

  • recentfilecache-parser — este sitio.
  • amcache-parser
  • prefetch-parser
  • shim-cache-parser

Comparten estilo de código, UI y el mismo modelo de privacidad: los bytes nunca salen de tu navegador.

Artículos relacionados

El BCF y el AmCache resuelven problemas que se solapan en distintas versiones de Windows. Saber cuál tienes, y por qué, decide qué puedes afirmar.
Una breve introducción al artefacto AppCompat de Windows 7: dónde vive, qué registra y por qué sigue apareciendo en casos de triage en 2026.
El ciclo de vida del BCF depende de una única tarea programada. Entiende cuándo se ejecuta ProgramDataUpdater, cuándo vacía el archivo y cómo detectar un appraiser deshabilitado.