Entender Amcache: qué es y por qué le importa al DFIR
Amcache.hve es la hive del Registro de Windows donde el Compatibility Appraiser escribe metadatos de inventario para cada binario PE que ve en el host. SHA-1 de los primeros 31 MiB, ruta completa, publisher, link date y un tiempo de escritura de clave por entrada. Uno de los artefactos individuales más ricos del DFIR de Windows.
Es la hive a la que acudes cuando necesitas saber "¿estuvo este binario alguna vez en este host, y qué era?" — incluso cuando el binario en sí desapareció hace tiempo.
De dónde salió Amcache#
Amcache es un subproducto de la maquinaria de compatibilidad de aplicaciones de Windows, no una característica de seguridad. Microsoft la introdujo en Windows 8 (reemplazando el más antiguo RecentFileCache.bcf de Windows 7) para alimentar al Compatibility Appraiser, el componente que decide si el software instalado sobrevivirá a una actualización del SO. Para tomar esa decisión el appraiser tiene que inventariar el software de la máquina — y ese inventario, escrito en Amcache.hve, resultó ser una mina de oro para los investigadores. La ingeniería inversa canónica es el trabajo de 2013 de Yogesh Khatri; el artefacto solo se ha hecho más rico desde entonces.
La consecuencia práctica: Amcache existe en esencialmente todo host Windows moderno, está habilitado por defecto y acumula un registro de binarios que un atacante no tiene forma fácil de conocer, y menos aún de limpiar selectivamente. Para la ubicación del archivo en disco y cómo copiarlo, ve dónde vive Amcache.hve; para la vista del Registro, dónde está la clave del Registro de Amcache.
Cómo lo construye el appraiser#
El Microsoft Compatibility Appraiser corre como una tarea programada, aproximadamente a diario, limitada por el estado de inactividad y energía. En cada pasada recorre el sistema de archivos y el inventario de software instalado y actualiza Amcache.hve en su sitio. Dos cosas se derivan de esto que dan forma a toda investigación:
- Hay retardo. Un binario que apareció hace una hora puede no estar inventariado todavía. La ausencia nunca es prueba de ausencia — ve por qué está vacía mi Amcache y cada cuánto se actualiza Amcache.
- Es un inventario, no un log. Una entrada por archivo, actualizada en su sitio. Sin run counts, sin filas por ejecución. Ese es el departamento de Prefetch.
Qué hace esta herramienta#
Este parser compila un lector de hives del Registro en Rust (nt-hive) a WebAssembly. Tu Amcache.hve se lee en memoria y se parsea en tu navegador. Nunca se sube.
Eso importa cuando la hive vino de un entorno regulado que no permite subidas de archivos a servicios de terceros, o cuando simplemente quieres un vistazo rápido sin levantar toda la cadena de herramientas DFIR. Suelta una hive en la página de inicio para ver cada valor, filtrar y exportar a JSON o CSV — o usa el AmcacheParser de Eric Zimmerman para el flujo de línea de comandos offline.
Las claves que importan#
Todo vive bajo una única clave Root. Las subclaves que de verdad usas:
| Clave | Qué registra | Por qué te importa |
|---|---|---|
InventoryApplicationFile |
Metadatos por archivo — SHA-1 (FileId), ruta completa, nombre, publisher, tamaño, link date |
La clave estrella. Presencia de programa y el pivote por hash. |
InventoryApplication |
Aplicaciones instaladas | Inventario de software, fechas de instalación. |
InventoryDriverBinary |
Binarios de driver cargados, con hashes | Caza de BYOVD y rootkits. |
InventoryDeviceContainer |
Dispositivos conectados (friendly names) | Historial de USB / periféricos. |
InventoryDevicePnp |
Interfaces de dispositivo PnP | Vista técnica del dispositivo; une con DeviceContainer. |
InventoryApplicationShortcut |
Accesos directos .lnk |
Evidencia de apps instaladas/lanzadas. |
Programs, File (legacy) |
Equivalentes de builds antiguos | Hives de Windows 8 / Windows 10 temprano. |
La más rica de todas con diferencia es InventoryApplicationFile. El desglose campo por campo está en las columnas de salida de AmcacheParser, y el recorrido completo del esquema en estructura del Registro de Amcache.
Por qué los analistas DFIR acuden a ella#
Tres propiedades hacen a Amcache desproporcionadamente útil:
- Carga el SHA-1. La mayoría de artefactos de ejecución de Windows te dan una ruta y un tiempo. Amcache te da el hash del archivo, que pivota limpiamente hacia threat intel y por todos los hosts del parque. Ve hashes SHA-1 para cazar malware.
- Sobrevive al borrado. La entrada de inventario persiste después de que el binario desaparezca — la razón clásica para abrir Amcache primero cuando una herramienta se autoeliminó. Ve Amcache y archivos borrados.
- Pivota entre hosts. El
ProgramIdy el SHA-1 te dejan encontrar el mismo software en todo el parque con una sola consulta — convirtiendo un hallazgo de un solo host en una respuesta de alcance.
Lo que no te dice#
Entender Amcache significa entender sus límites además de sus fortalezas:
- Una entrada es presencia, no ejecución. El appraiser inventaría PEs que estaban en disco; para la mayoría de casos eso coincide con la ejecución, pero corroboras con Prefetch, ShimCache o eventos de creación de proceso antes de llamarlo ejecución. El matiz completo está en qué te dice Amcache.
- Los scripts son invisibles. Sin cabecera PE, sin entrada. La actividad guiada por PowerShell y batch no deja traza en Amcache para la lógica del script en sí.
- Los timestamps son cotas, no eventos.
KeyLastWriteTimestampes el tiempo de escritura del appraiser;LinkDatees un stamp de compilación falsificable. Ninguno es "cuándo se ejecutó" — ve timestamps decodificados.
Ponerla a trabajar#
Si llegaste aquí para usar Amcache en lugar de entenderla, el siguiente paso es el flujo de trabajo: cómo encontrar evidencia de ejecución con Amcache recorre recoger → parsear → filtrar → pivotar → corroborar de principio a fin. Para la referencia exhaustiva del artefacto, ve la referencia completa de Amcache.
Lecturas adicionales#
- Yogesh Khatri, Amcache.hve in Windows 8 is a goldmine for malware hunters. La ingeniería inversa canónica.
- El AmcacheParser de Eric Zimmerman. La herramienta offline estándar de facto en la industria.
Relacionado#
Artículos relacionados
- Forense con Amcache: cómo encontrar evidencia de ejecución
Usa Amcache.hve para probar que un programa se ejecutó en Windows: recoge, parsea, filtra, pivota por SHA-1, corrobora — y sus límites.
- Dónde está Amcache.hve en disco (y cómo recogerlo)
Ruta: C:\Windows\AppCompat\Programs\Amcache.hve más los archivos .LOG. Siempre los tres. Y la forma correcta de recogerlo en un host vivo y desde shadow copies.
- FileId de Amcache explicado: el formato de hash SHA-1 que almacena Windows
FileId es '0000' más el SHA-1 de los primeros 31 MiB. Quita el prefijo o tus lookups a VirusTotal devuelven silenciosamente nada. La referencia completa, con sus trampas.
- Recuperar evidencia de binarios borrados desde Amcache
Amcache sobrevive a los binarios que registra. La ruta, el SHA-1, el publisher, el link date y el momento del inventario persisten meses después de que el atacante limpie el archivo. El flujo práctico.