¿Qué es Windows Prefetch? (glosario)

Windows Prefetch es la carpeta de ficheros .pf que escribe el Prefetcher para acelerar el arranque de aplicaciones. El Prefetcher registra qué DLLs y ficheros de datos carga un binario en sus primeros ~10 segundos, para que Windows pueda pre-cargarlos la próxima vez. El valor forense es un efecto colateral: el .pf existe si y solo si el binario realmente se ejecutó (suponiendo que Prefetch esté activo, que lo está por defecto en builds desktop).

Eso hace de Prefetch el artefacto más fuerte de Windows para probar ejecución. Es lo canónico a emparejar con Amcache cuando importa "¿se ejecutó este binario?".

Lo que lleva cada .pf#

Campo Significado
Nombre del ejecutable Del nombre de fichero.
Hash de ruta El sufijo del nombre de fichero. No es un hash de contenido.
Contador de ejecuciones Cuántas veces se ha lanzado el binario.
Últimos tiempos de ejecución Hasta 8 (Win 7/8/10), 10 en Win 11.
Ficheros cargados DLLs y ficheros de datos referenciados en los ~10s primeros de ejecución.
Volúmenes referenciados Números de serie de los volúmenes de origen.

Prefetch vs Amcache#

Prefetch Amcache
Prueba ejecución No, solo presencia
Registra hash de contenido No (solo hash de ruta) Sí (SHA-1)
Registra tiempos de ejecución Sí, hasta 8 o 10 No
Registra fabricante / versión No
Sobrevive a borrar el binario
Activo por defecto en desktops
Activo por defecto en Servers A menudo no Sí (cadencia más lenta)

Para la comparación completa, ver Amcache vs Prefetch.

Cuándo gana cada uno#

Prefetch gana en: "¿se ejecutó esto?", "¿cuándo?", "¿qué cargó?". La lista de ficheros cargados a menudo saca a la luz DLLs inyectadas que no verías de otra forma.

Amcache gana en: "¿cuál es su SHA-1?", "¿estaba presente pero nunca se ejecutó?", "¿qué hay de drivers y dispositivos?". Y Amcache rutinariamente sobrevive mucho más que Prefetch, que rota a unas 1024 entradas en Windows moderno.

Herramientas de parseo#

  • PECmd (Eric Zimmerman). Estándar.
  • Windows-Prefetch-Parser. Alternativa Python más antigua, ocasionalmente todavía útil.

Términos relacionados#

Artículos relacionados

  • ¿Qué es SRUM (SRUDB.dat)? (glosario)

    SRUM es la base ESE que Windows usa para registrar el uso de recursos por aplicación, por hora, durante 30-60 días. El único artefacto Windows con totales de bytes de red por aplicación. Crítico para exfiltración.

  • ¿Qué es Shimcache (AppCompatCache)? (glosario)

    Shimcache es la caché del loader mantenida por el kernel en la hive SYSTEM. 1024 entradas, sin hash, obsoleta hasta el reinicio. Diferente de Amcache; empareja ambos.

  • ¿Qué es Amcache ProgramId? (glosario)

    ProgramId es el hash de identidad de aplicación de 44 caracteres que almacena Amcache. Estable entre hosts para la misma instalación. Atrapa recompilaciones y renombrados que Hash se pierde.

  • ¿Qué es LinkDate en Amcache? (glosario)

    LinkDate es el PE TimeDateStamp. Controlable por el atacante. Úsalo para agrupar builds, no para líneas de tiempo de host.

Volver a todos los artículos