¿Cuál es la diferencia entre un archivo .pf y una entrada de Amcache?

Un archivo .pf prueba ejecución. Una entrada de Amcache registra presencia. El mismo binario puede aparecer en ambos, en solo uno, o en ninguno — y qué combinación observas es en sí información investigativa.

Lado a lado#

Archivo .pf (Prefetch) Entrada de Amcache
Dónde vive C:\Windows\Prefetch\NAME.EXE-1A2B3C4D.pf Subclave dentro de Amcache.hve
Creado cuando Primera vez que el binario corre Primera vez que el appraiser inventaria el binario
Mantenido por Subsistema Prefetcher Tarea programada Compatibility Appraiser
¿Prueba ejecución? No
¿Prueba presencia? Sí (implícito — debió existir para correr)
¿Tiene hash SHA-1? No (solo hash de ruta) (SHA-1 de los primeros 31 MiB)
¿Tiene publisher / versión? No
¿Marcas de tiempo de corrida? , hasta 8 (10 en Win 11) No
¿Marcas de tiempo de inventario? No Sí (KeyLastWriteTimestamp)
¿Sobrevive al borrado del binario? Sí (solo borrado del archivo) Sí (persistencia del registro)
¿Activado por defecto en desktops Windows?
¿Activado por defecto en Servers? A menudo desactivado Activado (cadencia más lenta)

Los cuatro estados#

Para cualquier binario dado en un host, observas uno de cuatro estados. Cada uno lleva una lectura diferente:

Ambos presentes#

El binario corrió, y el appraiser lo inventarió. Tienes prueba de ejecución (horas de corrida de Prefetch) y prueba de identidad (hash de Amcache + metadatos). Caso típico para software normal.

Solo Prefetch#

El binario corrió, pero Amcache no lo ha registrado. Dos razones probables:

  1. El binario fue borrado antes de la siguiente corrida del appraiser. Común para stagers / droppers que se auto-borran después de correr.
  2. El binario vive en una ruta que el appraiser no escanea.

Esta es una señal fuerte de limpieza deliberada — el patrón clásico de stager de Cobalt Strike / Sliver / Metasploit.

Solo Amcache#

El binario está presente pero nunca se ejecutó (o se ejecutó solo como una DLL cargada por otro EXE, lo que actualiza el .pf del otro EXE). Razones:

  1. Herramienta preparada esperando disparador.
  2. Cargada solo vía rundll32.exe / regsvr32.exe / LoadLibrary desde otro proceso.
  3. Prefetch desactivado en este host.

Un hallazgo "presente pero nunca corrió" es muy diferente de "ejecutado". Útil para detectar herramientas preparadas pero sin usar.

Ambos ausentes#

El binario nunca se ejecutó y el appraiser nunca lo inventarió. Lo más cercano que llegas a "esto nunca ocurrió en este host" — pero no concluyente. Ambos artefactos pueden ser limpiados, ambos tienen huecos de cobertura, y los binarios transitorios entre pasadas del appraiser pueden no dejar rastro.

El flujo de trabajo combinado#

  1. Parsea Amcache con AmcacheParser.
  2. Parsea Prefetch con PECmd.
  3. Carga ambos CSVs en Timeline Explorer.
  4. Filtra Amcache a "PE sin firmar en ruta escribible por usuario".
  5. Para cada hit de Amcache, comprueba si existe un .pf para el mismo Name. Presente → ejecución confirmada. Ausente → solo presencia.
  6. Para cada .pf, toma el nombre del ejecutable y comprueba Amcache para hash y metadatos.

Para cobertura completa, ver Amcache vs Prefetch.

Relacionado#

Artículos relacionados

  • Amcache vs Prefetch: qué prueba realmente cada uno

    Amcache registra presencia; Prefetch registra ejecución. Una guía práctica de cuándo usar cada uno, en qué se solapan y cómo combinarlos en una timeline DFIR.

  • ¿Por qué mi Amcache.hve está vacío?

    Tres causas comunes: el Compatibility Appraiser está desactivado, el host está recién imageado, o estás recolectando de un Server / Server Core donde el appraiser corre mucho menos a menudo.

  • ¿Dónde está la clave del registro de Amcache?

    Amcache es su propio archivo de hive en C:\Windows\AppCompat\Programs\Amcache.hve — no una clave bajo HKLM. Cuando es cargado por herramientas o por el propio Windows se monta como HKLM\Amcache.

  • ¿Qué contiene Amcache.hve?

    Amcache.hve contiene registros de inventario para cada binario PE, driver y dispositivo conectado que el Compatibility Appraiser de Windows ha visto — con hashes SHA-1, rutas, publishers y marcas de tiempo.

Volver a todos los artículos