Thumbcache forense: evidencia en las cachés de miniaturas
Qué demuestran los archivos thumbcache_*.db en una investigación, cómo recuperar miniaturas borradas y las salvedades antes de incluir una en un informe.
Las cachés de miniaturas son uno de los pocos artefactos de Windows que conservan el contenido de un archivo y no solo metadatos sobre él. Imágenes, fotogramas de vídeo, primeras páginas de PDF u Office: si el Explorador dibujó una vista previa, a menudo queda una copia pequeña en la caché de miniaturas del usuario mucho después de que el original se haya eliminado, borrado de forma segura o movido a una unidad USB que nunca volvió. En casos basados en imágenes (CSAM, robo de datos, acoso), suele ser la evidencia más importante del disco.
Esta guía cubre qué contienen las cachés, qué demuestran y qué no, y cómo extraerlas y documentarlas en un informe. Puedes seguirla con Thumbcache Parser, que abre en el navegador todos los archivos mencionados aquí.
Dónde viven las cachés
Desde Windows Vista, las cachés son por usuario y están centralizadas:
%LOCALAPPDATA%\Microsoft\Windows\Explorer\
thumbcache_16.db thumbcache_32.db thumbcache_48.db thumbcache_96.db
thumbcache_256.db thumbcache_768.db thumbcache_1280.db thumbcache_1920.db
thumbcache_2560.db thumbcache_sr.db thumbcache_wide.db thumbcache_exif.db
thumbcache_wide_alternate.db thumbcache_custom_stream.db thumbcache_idx.db
iconcache_16.db … iconcache_2560.db
El conjunto exacto depende de la versión de Windows (Vista y 7 solo tienen
32, 96, 256, 1024 y sr). Cada tamaño es una base de datos
independiente, así que la misma imagen puede aparecer varias veces, y un
tamaño puede seguir conservándola después de que otro haya sido purgado.
Recoge siempre todas, además de thumbcache_idx.db y los archivos
iconcache_*.db.
Antes de Vista, el Explorador escribía un Thumbs.db oculto en cada carpeta
que mostraba en vista de miniaturas. Las versiones modernas de Windows
todavía escriben Thumbs.db en recursos compartidos de red, salvo que
una directiva lo desactive, así que los servidores de archivos también
merecen una revisión. Consulta la guía de Thumbs.db
para ese formato.
Qué demuestra una miniatura (y qué no)
Una entrada de caché existe porque el shell de Windows generó una miniatura de un archivo en ese perfil de usuario. En la práctica, eso ocurre cuando:
- una carpeta se ve en cualquier vista de iconos lo bastante grande para mostrar miniaturas;
- un archivo se selecciona con el panel de vista previa o de detalles abierto;
- un cuadro de diálogo de abrir o guardar muestra la carpeta en vista de miniaturas;
- una aplicación pide una miniatura al shell mediante
IThumbnailCache.
Así que una miniatura es evidencia sólida de que el archivo existió en un volumen que ese perfil examinó, y de que su contenido coincidía con la imagen. Es evidencia débil de que el usuario miró ese archivo en concreto: puede haber pasado el cursor por una carpeta con cientos de archivos. Dilo con claridad en los informes; los peritos de la defensa lo harán.
Dos límites más:
- Sin marca de tiempo por entrada. Las entradas modernas de thumbcache no
llevan fecha. Usa las marcas de tiempo del
$MFTdel propio archivo.dbcomo cota, y correlaciona con jump lists, archivos LNK, ShellBags y el índice de búsqueda. - Sin nombre de archivo. Las entradas se identifican por un ID de caché
de 64 bits (ver más abajo). Solo el
Catalogdel antiguoThumbs.dbalmacena los nombres originales.
Recuperar miniaturas eliminadas
Eliminar el archivo de origen no afecta a su miniatura. El Explorador solo limpia las cachés cuando se ejecuta la opción Miniaturas de Liberador de espacio en disco, cuando el mantenimiento automático lo decide, o cuando se reconstruye la caché. Aun así, una entrada liberada normalmente se deja donde estaba: la base de datos registra un offset «disponible», y el espacio posterior se reutiliza de forma perezosa.
Cada entrada empieza con los cuatro bytes CMMM, seguidos de su tamaño, así
que las entradas antiguas son fáciles de tallar (carving). El parser recorre
la cadena de entradas activa y después escanea todo el archivo en busca de la
firma. Los aciertos posteriores al offset «disponible» de la cabecera se
reportan como Slack; los aciertos en otros lugares (por ejemplo, tras una
entrada corrupta) se reportan como Carved. Ambos aparecen con un borde
rojo en la galería y quedan marcados en cada exportación.
Dos consejos prácticos:
- Revisa también las copias de sombra de volumen (VSS). Copias más antiguas de los archivos de caché pueden conservar miniaturas que ya se purgaron de las actuales.
- Talla el espacio no asignado en busca de
CMMM. Cuando la propia base de datos de caché fue eliminada, sus entradas todavía pueden tallarse de clústeres libres y luego cargarse aquí como un bloque en bruto.
Vincular una miniatura con el archivo original
El ID de caché de cada entrada es el mismo valor que Windows Search almacena
como System_ThumbnailCacheId para el archivo indexado. Si el archivo estaba
en una ubicación indexada, la base de datos de búsqueda te da su ruta y otros
metadatos:
- Windows Vista a 10:
%ProgramData%\Microsoft\Search\Data\Applications\Windows\Windows.edb(ESE) - Windows 11:
Windows.dben la misma carpeta (SQLite)
Recoge la base de datos junto con sus logs de transacciones. Una base ESE
copiada de un sistema en vivo suele estar «sucia» y necesita esentutl /r o
/p sobre una copia antes de que las herramientas puedan abrirla. Después,
suéltala en el Thumbcache Parser junto a los archivos de caché: cada
miniatura indexada queda etiquetada con su ruta, nombre, tamaño y fecha de
modificación originales, en el inspector y en todas las exportaciones.
Cachés de iconos
iconcache_*.db usa el mismo formato pero contiene iconos de aplicaciones y
tipos de archivo. Es una fuente discreta de contexto de ejecución de
programas. Una herramienta portable ejecutada desde un USB, o un instalador
eliminado más tarde, puede dejar su icono como rastro.
Lista de comprobación de la recogida
- Todos los
thumbcache_*.db,thumbcache_idx.dbeiconcache_*.dbde cada perfil - Copias de sombra de la misma carpeta
-
Windows.edb/Windows.dbmás sus logs (edb*.log,edb.chk) -
$MFTpara las marcas de tiempo de los propios archivos de caché -
Thumbs.dbde carpetas de usuario, medios extraíbles y recursos compartidos de red
Los archivos están bloqueados mientras explorer.exe se ejecuta, así que usa
el target ThumbCache de KAPE, FTK Imager, una copia de sombra, o extráelos
de una imagen con Disk Image Parser y
arrastra su exportación ZIP directamente al parser.
Informe
Para cada miniatura en la que te bases, registra el archivo de origen y su SHA-256, el offset de la entrada, el ID de caché, si estaba asignada o fue recuperada, y el MD5/SHA-256 de los bytes de imagen extraídos. El ZIP de evidencia del parser reúne las imágenes, un CSV, un volcado JSON y un informe HTML autocontenido con todo eso. Hachea la imagen exactamente como está almacenada en la base de datos, así que cualquiera que vuelva a extraer el mismo offset obtendrá el mismo hash.