TL;DR. Sí. Una entrada ShimCache persiste en el registro exista o no el archivo en disco. Borrar el binario no borra su entrada ShimCache — por eso el artefacto es tan valioso para cazar herramientas que un atacante soltó, usó y eliminó.
«¿Sigue mostrando el ShimCache un archivo después de borrarlo?» es una de las preguntas más frecuentes en forense de ejecución de programas — y la respuesta es la razón misma para extraer el artefacto.
Respuesta corta: sí
El ShimCache almacena una ruta + marca de última modificación dentro de un valor de registro. Ese registro no tiene vínculo de vuelta al sistema de archivos. Cuando el ejecutable se elimina, NTFS libera el archivo — pero el valor de registro queda intacto. La entrada permanece hasta que sea desalojada por entradas más nuevas (el caché contiene hasta 1.024) o el propio valor se borre.
Así, un binario que un atacante soltó en C:\Users\Public\, ejecutó y borró diez minutos después puede aún dejar una entrada ShimCache limpia y legible mostrando la ruta completa que ocupó.
Por qué esto es potente en forense
Las entradas de archivos eliminados son a menudo la única evidencia superviviente del herramental del atacante:
- Un
mimikatz.exerenombrado borrado tras el robo de credenciales. - Un archivo de staging retirado tras la exfiltración.
- Un dropper que se autoeliminó tras instalar una carga.
En cada caso el archivo desapareció, pero la ruta del ShimCache te dice que existió, dónde, y (vía la marca de última modificación) lo ata a una compilación. Es la columna vertebral de cazar malware con el ShimCache y de las investigaciones de ransomware, donde los atacantes borran rutinariamente sus herramientas.
¿Cuánto sobrevive una entrada de archivo eliminado?
Aplican dos límites:
- Desalojo. El caché está acotado (hasta 1.024 entradas). En un host activo, mucha actividad de ejecutables puede expulsar las entradas viejas. En un servidor tranquilo puede sobrevivir meses.
- Momento del volcado. Las entradas nuevas solo persisten en la colmena al apagar limpiamente. Si el host no se ha apagado desde el borrado, la entrada superviviente puede estar aún solo en memoria — extráela de una imagen de memoria (cómo). El modelo de almacenamiento/volcado se trata en dónde se almacena el ShimCache.
Lo que no prueba
Una entrada de archivo eliminado prueba que el archivo existió y fue examinado en ese host. No prueba por sí sola que se ejecutó, ni te dice cuándo se eliminó (la marca es el mtime del archivo, no una fecha de borrado). Trátala como un fuerte testigo de existencia y corrobora la ejecución con Prefetch/AmCache — ver ¿demuestra el ShimCache la ejecución?.
Para comprobar qué entradas de una colmena apuntan a archivos que ya no existen, analízala con el Shimcache Parser y cruza las rutas — todo se ejecuta localmente en tu navegador.
Lectura adicional
- Mandiant: leveraging the ShimCache — el argumento del ShimCache como testigo de herramientas eliminadas.
- SANS DFIR: artefactos de ejecución de programas — dónde encaja el ShimCache entre las evidencias de ejecución.