Amcache en Windows 11 y Windows 10: schema, cadencia y peculiaridades
Amcache alcanzó su forma madura y moderna en Windows 10 build 1709 (Fall Creators Update) y ha sido consistente en sus rasgos amplios desde entonces en Windows 10 y Windows 11. El hive en una estación de trabajo Windows 11 hoy se lee y analiza igual que en una estación de trabajo Windows 10 1809 en 2018 — pero un puñado de peculiaridades específicas de build se han acumulado a lo largo de los años, y conocerlas evita que malinterpretes la evidencia.
Esta página es la referencia por build para Windows moderno. Para los aspectos específicos de Server, ver Amcache en Windows Server. Para la referencia más amplia del artefacto, ver la referencia completa de Amcache.
El schema a través de los builds de Windows 10#
El schema Inventory* se añadió en Windows 10 build 1709 (Fall
Creators Update, octubre de 2017). Antes de eso, Amcache en
Windows 10 usaba solo las claves legacy Root\Programs y
Root\File — datos mucho más escasos por entrada.
Las claves estrella Inventory* añadidas en 1709:
Root\InventoryApplicationRoot\InventoryApplicationFileRoot\InventoryDriverBinaryRoot\InventoryDeviceContainerRoot\InventoryDevicePnp
Las actualizaciones de funcionalidad posteriores de Windows 10 han añadido o refinado claves pero han mantenido la estructura general estable:
| Build | Cambio notable de Amcache |
|---|---|
| 1709 | Schema Inventory* introducido. |
| 1803 | InventoryApplicationFramework añadido. |
| 1809 | InventoryApplicationShortcut añadido (menú Inicio / accesos directos anclados). |
| 1903 | InventoryDeviceInterface añadido. |
| 1909 | Refinamientos del schema; no hay claves nuevas mayores. |
| 2004 | InventoryDriverPackage añadido (metadatos del paquete de driver). |
| 20H2 | Schema estable. |
| 21H1 / 21H2 | Schema estable. |
| 22H2 | Última actualización de funcionalidad; schema estable. |
En la práctica: cualquier cosa desde Windows 10 build 1709 en
adelante tiene el schema moderno Inventory* y se parsea
limpiamente con los builds actuales de AmcacheParser.
El schema en Windows 11#
Windows 11 hereda el schema de finales de Windows 10 con adiciones menores:
InventoryMiscellaneousUUPInforegistra metadatos de paquetes Unified Update Platform. Raramente útil en DFIR.InventoryDeviceMediaClassregistra de forma más agresiva sub-clasificaciones de dispositivos de audio / video. Útil para distinguir dispositivos USB-audio de dispositivos USB-mass-storage cuando un único contenedor USB expone múltiples interfaces.- Los registros de driver bajo
InventoryDriverBinaryincluyen ligeramente más campos de metadatos de paquete, particularmente alrededor del estado de firma WHQL.
No hay cambios incompatibles entre Windows 10 (post-1709) y
Windows 11 desde el punto de vista del parsing. El mismo binario
AmcacheParser.exe maneja ambos.
Cadencia del appraiser#
La tarea programada Compatibility Appraiser puebla el hive. Su cadencia en Windows moderno:
- Estación de trabajo Windows 11: aproximadamente diaria, típicamente una vez por la noche cuando el host está inactivo. El disparador exacto es una combinación de disparadores de idle-time y un disparador basado en tiempo con retraso aleatorio.
- Estación de trabajo Windows 10: mismo patrón.
- Tablet / convertible: menos frecuente — el appraiser es consciente de la energía y omite cuando está con batería.
- Estación de trabajo unida al dominio con Microsoft Endpoint Manager: algunas políticas de MEM ajustan la cadencia; el comportamiento puede variar.
La consecuencia práctica: un host Windows 11 recién instalado que lleva corriendo menos de 24 horas puede tener un Amcache muy delgado. A la inversa, una estación de trabajo que lleva años encendida tiene un hive con miles de entradas que abarcan la historia completa.
Tamaño del hive en Windows moderno#
Tamaños típicos:
| Carga de trabajo | Tamaño típico del hive | Notas |
|---|---|---|
| Instalación fresca de Windows 11 (1 semana) | 2–4 MB | Pocas entradas; datos ligeros de driver / dispositivo. |
| Estación de trabajo estándar de oficina (6 meses) | 8–15 MB | Cientos de filas de InventoryApplicationFile; registros completos de driver y dispositivo. |
| Estación de trabajo de desarrollador (1+ año) | 25–50 MB | Miles de entradas de archivo por artefactos de build; muchos clusters de LinkDate. |
| Server (1+ año) | 5–15 MB | Más pequeño — menos apps interactivas, alcance más estrecho. |
Un hive mucho más pequeño de lo que sugiere la carga de trabajo puede ser una bandera de que el appraiser está desactivado (intencionalmente o por sabotaje) — ver Recuperar evidencia de binarios borrados desde Amcache.
Peculiaridades específicas de build que vale la pena conocer#
Un puñado de peculiaridades que pillan desprevenidos a los analistas:
Caso límite de truncamiento de hash en Windows 10 1909 / 2004#
En un pequeño subconjunto de hives Windows 10 1909 y 2004, los
binarios muy grandes (>~1 GB) ocasionalmente tienen un FileId
vacío en lugar de un FileId de hash de prefijo. El
comportamiento se resolvió presumiblemente en actualizaciones
acumulativas posteriores pero aparece en hives archivados de esa
era. Trata las filas con Hash vacío para archivos grandes como
"sin hash capturado" en lugar de "el binario es único".
Churn de device-container en Windows 11 22H2+#
Windows 11 22H2 introdujo una re-enumeración más agresiva de
contenedores de dispositivo a través de reinicios de Windows
Update, lo que puede producir filas "nuevas" de
InventoryDeviceContainer para dispositivos que han estado en el
host durante meses. El KeyLastWriteTimestamp en estas filas
refleja la re-enumeración, no la primera conexión. Cruza con
setupapi.dev.log y USBSTOR para marcas de tiempo reales de
primera conexión.
Inestabilidad de ProgramId a través de upgrades de funcionalidad de Windows#
Una estación de trabajo que fue actualizada de Windows 10 21H2 a
Windows 11 22H2 puede tener diferentes valores ProgramId
para la misma aplicación antes y después del upgrade. El pivote
cross-host de ProgramId sigue funcionando para hosts en el
mismo build mayor; a través de upgrades, pivota también sobre
Hash (más estable a través de upgrades) — ver
Amcache ProgramId explicado.
Churn de inbox apps en Windows 11#
Windows 11 envía y elimina inbox apps (las apps de tienda
incorporadas) con una cadencia más rápida que Windows 10. Ves
filas frecuentes de InventoryApplicationFile para la capa AppX
que van y vienen entre actualizaciones de funcionalidad. Estas
normalmente se filtran con seguridad por
Publisher = 'Microsoft Corporation' y una ruta estilo AppX
bajo \Program Files\WindowsApps\.
Modern Standby / connected standby y el appraiser#
En portátiles en Modern Standby / connected standby, las semánticas del disparador del appraiser difieren de un desktop. Puedes ver intervalos del appraiser ligeramente más largos (a veces 36–48 horas) en portátiles muy usados porque el disparador de idle-time rara vez se dispara. Ten esto en cuenta al razonar sobre tiempos de first-seen.
Diferencias con Windows más antiguo#
Tres cosas para recordar cuando se compara Amcache de Windows 10 / 11 con Windows más antiguo:
vs Windows 7 / Server 2008 R2#
Sin equivalente — Windows 7 tiene RecentFileCache.bcf, un
archivo binario plano. Ver
Dónde está Amcache.hve en disco
para la ruta y el parser.
vs Windows 8 / 8.1 / Server 2012 / 2012 R2#
Amcache.hve existe pero solo con las claves legacy Programs y
File. AmcacheParser produce *_ProgramEntries.csv pero ningún
*_UnassociatedFileEntries.csv. Mucho menos detalle por archivo.
vs Windows 10 temprano (pre-1709)#
Mismo schema solo-legacy que Windows 8.x. El gran cambio a
Inventory* fue 1709.
Implicaciones prácticas para triage#
Algunas reglas que se siguen de todo lo anterior:
- Para Windows 10 1709+ y Windows 11, los CSVs de
AmcacheParser tienen
*_UnassociatedFileEntries.csvy*_AssociatedFileEntries.csv. Ese es el foco del triage. - Para Windows 8 / 8.1 / Server 2012, céntrate en
*_ProgramEntries.csvy reconoce que los metadatos por archivo son escasos. - Para Windows 7, usa un parser dedicado de
RecentFileCache.bcf— AmcacheParser no lo maneja. - Para builds de Server, permite intervalos más largos del appraiser; no saques conclusiones de first-seen de grano fino en escalas de tiempo de hora.
- Para portátiles en Modern Standby, permite variabilidad similar.
Ver también#
- Referencia completa de Amcache — el artefacto al completo.
- Amcache en Windows Server — comportamiento específico de servidor.
- Dónde está Amcache.hve en disco — rutas de archivo por versión.
- Estructura del registro Amcache
— el schema moderno
Inventory*al completo. - Marcas de tiempo de Amcache explicadas — cómo manejar la variabilidad de cadencia del appraiser en tus timelines.
Para explorar un hive de Windows 10 u 11 ahora mismo sin instalar nada, suelta el archivo en la página de inicio del parser — se parsea enteramente en tu navegador.
Artículos relacionados
- Volatility y Amcache: extraer el hive de imágenes de memoria
Una guía práctica para recuperar Amcache de una imagen de memoria de Windows usando Volatility — cuándo la recuperación del lado de memoria es la única opción, qué plugins usar y cómo entregar a AmcacheParser.
- Plugin amcache de RegRipper: qué hace y cuándo usarlo
Una guía práctica del plugin amcache de RegRipper — qué parsea, en qué se diferencia su salida de texto del CSV de AmcacheParser y cuándo recurrir a él en lugar de (o junto con) la herramienta de Zimmerman.
- Las columnas de salida de AmcacheParser explicadas: cada campo CSV decodificado
Referencia campo por campo para la salida CSV de AmcacheParser — FileId, PathHash, ProgramId, LinkDate, BinFileVersion, IsPeFile y cualquier otra columna, con los pivotes que importan en DFIR.
- Guía de descarga de AmcacheParser: fuentes oficiales, mirrors y verificación
Todas las formas de descargar AmcacheParser de Eric Zimmerman — Get-ZimmermanTools, descarga directa, KAPE, Velociraptor — con verificación por suma de control y patrones de instalación en redes aisladas.