¿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
¿Registra ProgramId? No
¿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)
¿Disponible antes de Windows 10 1709? Sí (desde Windows XP) Parcialmente (solo schema legado)
¿Activado por defecto en Server? 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 shimcachemem de 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 ProgramId y 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#

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.

Volver a todos los artículos