¿Qué es KeyLastWriteTimestamp en Amcache? (glosario)
KeyLastWriteTimestamp es la última vez que el Registro escribió la clave que contiene esta entrada de Amcache. Expuesto por AmcacheParser como columna en cada CSV. Es el timestamp más importante de Amcache, y el que más se confunde con LinkDate. No son lo mismo y responden a preguntas distintas.
Qué representa#
Cada clave del Registro tiene un tiempo de última escritura escrito por el propio Windows. Cuando el appraiser crea o actualiza una entrada bajo Root\InventoryApplicationFile, el last-write de esa clave avanza. AmcacheParser lo lee y lo expone como KeyLastWriteTimestamp.
En la práctica:
- La primera vez que el appraiser inventaria un archivo, el timestamp es el tiempo de corrida del appraiser tras advertir el archivo. Límite superior de "primero presente en disco".
- Los cambios de metadatos (hash nuevo, mayor tamaño, cambio de string de versión) avanzan el timestamp.
- Un archivo estable cuyos metadatos no cambian nunca conserva el mismo timestamp incluso tras muchas pasadas posteriores del appraiser. Es "última vez escrito", no "última vez visto".
Ese último punto es el que pilla a la gente. Un binario presente e inalterado durante dos años tiene un KeyLastWriteTimestamp de hace dos años.
Los cuatro timestamps y cuál usar#
| Pregunta | Campo |
|---|---|
| ¿Cuándo lo registró Amcache? | KeyLastWriteTimestamp |
| ¿Cuándo se compiló el binario? | LinkDate |
| ¿Cuándo aterrizó el archivo en disco? | MFT $STANDARD_INFORMATION.CreationTime |
| ¿Cuándo se ejecutó? | Tiempos de corrida en Prefetch |
El pivote estándar de ventana temporal#
Coge una fila sospechosa. Coge su KeyLastWriteTimestamp. Abre una ventana de una hora centrada en él. Saca de esa ventana:
- Otras filas de Amcache en el mismo host.
- Entradas de Prefetch.
- Sysmon
1(proceso creado),7(imagen cargada),11(archivo creado). - Security 4688.
- MFT y creaciones del journal USN.
Esa es la reconstrucción canónica. Casi cualquier hallazgo basado en Amcache acaba corriendo este pivote al menos una vez.
Para la referencia larga, ve Timestamps de Amcache explicados.
Términos relacionados#
Artículos relacionados
- ¿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.
- ¿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 Root\InventoryApplicationFile? (glosario)
La clave principal de Amcache. Una subclave por PE que el appraiser inventarió, con hash, ruta, fabricante, fecha de enlace y una marca de escritura de registro. Donde se va el 90% del tiempo del analista.
- ¿Qué es Amcache FileId? (glosario)
FileId es '0000' más el SHA-1 de los primeros 31 MiB del archivo. Quita el prefijo antes de tirar a VirusTotal o no te devolverá nada en silencio.