¿Cuál es la diferencia entre Amcache y AppCompatCache?
AppCompatCache (comúnmente llamado ShimCache) y Amcache son artefactos diferentes de Windows que ambos registran binarios PE en un host. Se confunden constantemente porque ambos viven en la infraestructura de Application Compatibility — pero son mecanismos diferentes con límites diferentes y valor forense muy diferente.
Las diferencias estrella:
ShimCache es más corto, más escaso, mantenido por el kernel y actualizado por el loader. Amcache es más largo, más rico, mantenido en modo usuario y actualizado por una tarea programada.
Lado a lado#
| Propiedad | AppCompatCache (ShimCache) | Amcache |
|---|---|---|
| Almacenamiento | Hive SYSTEM, único valor binario |
Amcache.hve independiente |
| Ruta del registro | HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache |
C:\Windows\AppCompat\Programs\Amcache.hve |
| Mantenedor | Loader del kernel | Tarea programada en modo usuario (appraiser) |
| Entradas máximas | 1024 (expulsión LRU) | Efectivamente sin límite |
| ¿Registra hash? | No | Sí (SHA-1 de los primeros 31 MiB) |
| ¿Registra publisher / versión? | No | Sí |
¿Registra ProgramId? |
No | Sí |
| ¿Registra datos de driver / dispositivo? | No | Sí (claves separadas) |
| Persistencia a disco | Al apagar | Continua (con journals de transacciones) |
| ¿Disponible fresco en sistema en vivo? | No (necesita apagado o memoria) | Sí |
| ¿Disponible antes de Windows 10 1709? | Sí (desde Windows XP) | Parcialmente (solo schema legado) |
| ¿Activado por defecto en Server? | Sí | Sí (pero cadencia más lenta) |
Para cobertura completa, ver Amcache vs ShimCache.
Cuándo gana ShimCache#
- "¿Tocó el loader este binario?" ShimCache registra toques del loader; Amcache registra presencia inventariada por el appraiser. Son señales diferentes.
- Adquisiciones solo de memoria. El plugin
shimcachememde Volatility extrae ShimCache de RAM limpiamente. - Hosts pre-Windows-10. ShimCache ha estado ahí desde Windows XP.
- Hosts hardenizados con el appraiser desactivado. ShimCache es mantenido por el kernel; persiste incluso cuando el appraiser está apagado.
Cuándo gana Amcache#
- Pivotes por hash. ShimCache no tiene hash; Amcache tiene SHA-1.
- Hunts inter-host. ShimCache no tiene
ProgramIdy no tiene hash — pivotes inter-host imposibles. Amcache tiene ambos. - Evidencia de driver / dispositivo. ShimCache cubre solo PE de modo usuario. Amcache tiene schemas dedicados de driver y dispositivo.
- Triage en un sistema en vivo. Amcache está al día en disco; ShimCache está obsoleto hasta el reinicio.
Cuándo deberías usar ambos#
Siempre. Los dos artefactos se corroboran mutuamente:
- Un binario en ambos → el loader lo tocó Y el appraiser lo registró. Hallazgo fuerte de "esto estuvo presente y se usó".
- Un binario solo en ShimCache → el loader lo tocó pero el appraiser no lo ha inventariado aún, O el archivo vivió en una ruta que el appraiser no escanea, O el appraiser está desactivado.
- Un binario solo en Amcache → presente e inventariado pero el loader no lo ha tocado (en la ventana actual de 1024 de ShimCache), O ShimCache fue limpiado o rotado.
Ambos ausentes en un host donde esperarías un binario = la señal más fuerte de "esto nunca ocurrió" que obtendrás de estos dos artefactos. Para prueba de ejecución, empareja con Prefetch.
Relacionado#
- Referencia completa de Amcache
- Amcache vs ShimCache — la comparación completa.
- Glosario de ShimCache.
- Parseo de AppCompatCache con la herramienta de Zimmerman.
Artículos relacionados
- Amcache vs ShimCache: cuándo gana cada artefacto
ShimCache y Amcache ambos registran binarios que tocaron un host Windows. Son mecanismos diferentes con límites diferentes — aquí cuándo usar cada uno y qué prueba realmente su solapamiento.
- ¿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.