TL;DR. No. Una entrada del ShimCache prueba que Windows examinó el archivo, normalmente pero no siempre por ejecución. Windows 10/11 eliminó por completo el flag de ejecución dentro del cache. Confirma la ejecución con Prefetch, AmCache o eventos de creación de procesos (Security 4688 / Sysmon 1).
"El ShimCache muestra que se ejecutó" es la frase más cara de la respuesta a incidentes en Windows. Acaba en los informes. La cuestiona el abogado de la otra parte. Pone al analista en el estrado explicando por qué una mtime no es un inicio de proceso, mientras todos en la sala aprenden más sobre el Application Compatibility Cache de lo que jamás quisieron. No seas ese analista.
Qué registra realmente el ShimCache
El cache, formalmente el Application Compatibility Cache almacenado en HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache, captura ejecutables que Windows examinó para decidir si había que aplicar un shim de compatibilidad. Examinar no es ejecutar. Windows examina un binario cuando:
- Un usuario hace doble clic en él.
- Explorer enumera una carpeta e inspecciona una cabecera PE buscando datos de icono.
- Un antivirus, un indexador o un EDR recorre el sistema de archivos.
- Un "Propiedades" con clic derecho extrae el recurso de versión.
- Una llamada al sistema resuelve una ruta que termina en
.exe.
La mayoría suceden junto a la ejecución. Algunas no. Un binario que un atacante soltó, renombró y borró sin lanzarlo nunca puede acabar en el cache porque Defender lo escaneó al caer.
El flag que Windows 10 se llevó
Las versiones más antiguas (XP hasta Windows 8.1) incrustaban un flag Executed en cada entrada. Muchos analistas aprendieron a hacer grep por "yes" y darlo por hecho. Windows 10 eliminó ese flag. Windows 11 no lo volvió a poner. El cache moderno lleva la ruta, una mtime y metadatos estructurales. No hay marcador dentro del cache que diga "esto se ejecutó".
Si te formaste con hives antiguos y ahora lees un SYSTEM de Windows 10/11, recalibra. La columna "Executed" que recuerdas ya no está. Cualquier parser que valga la pena (AppCompatCacheParser de Eric Zimmerman, el Mandiant Shim Cache Parser, esta herramienta) refleja esa ausencia con honestidad. Si ves una herramienta que reporta un flag de ejecución en un hive moderno, esa herramienta se lo está inventando.
Para el diseño a nivel de campo, mira el recorrido por el formato binario de Windows 10/11.
Qué confirma la ejecución
Trata el hit del ShimCache como una hipótesis. Después busca evidencia que sí registre creación de procesos.
- Prefetch. Los archivos
C:\Windows\Prefetch\*.pfse escriben en unos 10 segundos tras cada arranque de proceso en SKUs de estación de trabajo. Conteo de ejecuciones, últimas ocho horas de ejecución, módulos cargados. Si el archivo existe, el binario se ejecutó. El parser de Prefetch explica el formato y los casos de desactivación. - AmCache.
Amcache.hvelleva hashes SHA-1 y marcas explícitas de primera ejecución, escritas de forma continua. El parser de AmCache tiene la guía de campos. - EVTX / Sysmon. Security 4688 (con auditoría de línea de comandos activada) y Sysmon Event ID 1 son los registros de mayor fidelidad que vas a obtener. El parser de EVTX cubre el workflow de triage.
- BAM / DAM. Tiempos por usuario de última ejecución bajo
HKLM\SYSTEM\CurrentControlSet\Services\bam\State. Baratos de leer, criminalmente infrautilizados. - UserAssist. Solo lanzamientos interactivos por Explorer, con nombres codificados en ROT13. Útil para "¿hizo el usuario doble clic en esto?", no para "¿se ejecutó el binario alguna vez?".
Los patrones de referencia cruzada están en la referencia de artefactos de ejecución de programas.
Cómo expresarlo en un informe
Mal: "ShimCache muestra que mimikatz.exe se ejecutó a las 14:33:21 UTC del 2026-04-11."
Mejor: "ShimCache registra el archivo C:\Users\Public\mimikatz.exe con mtime $STANDARD_INFORMATION 2026-04-11 14:33:21 UTC. La entrada Prefetch MIMIKATZ.EXE-A1B2C3D4.pf muestra una ejecución a las 14:34:02 UTC. El SHA-1 de AmCache coincide con el build conocido de mimikatz 2.2.0."
La segunda frase aguanta un interrogatorio. La primera no.
Parsear un hive sin salir del navegador
Suelta tu hive SYSTEM en el Shimcache Parser. Todo se ejecuta en el cliente. Sin subida, lo que importa cuando el hive viene de un entorno regulado o un compromiso con un cliente.
Lectura adicional
- Caching Out the Val de Mandiant. el reverse engineering público original del artefacto.
- AppCompatCacheParser de Eric Zimmerman. parser C# de referencia cuyo esquema de salida es el estándar de facto de la industria.
- El análisis profundo de Windows 10/11 AppCompatCache en Ø Security. cubre en detalle el flag eliminado.