Accès aux fichiers
Index Windows Search
Fiche index Windows Search : Windows.edb (ESE) et Windows.db SQLite de Windows 11, chemins, dates et contenu indexés, enregistrements supprimés, esentutl.
- Emplacement
- C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb
- Prouve
- Fichiers, e-mails et URL présents dans les zones indexées, avec métadonnées et extraits
- Horodatages
- Heure de collecte et dates de création/modification/accès indexées en FILETIME, UTC ; reflètent l'indexation, pas l'activité utilisateur
- Rétention
- Suit le système de fichiers, éléments supprimés retirés à terme ; traces dans pages libres, logs et WAL ; une reconstruction ou suppression l'efface
- Accès
- Administrateur ; bases verrouillées par SearchIndexer.exe : copie via VSS (esentutl /vss) avec les MSS*.log ou -wal, rejouer si dirty
- Type
- Base de données
- Windows
- Vista / 78 / 8.11011
- Cible KAPE
- WindowsIndexSearch
- Velociraptor
- Windows.Triage.Targets:WindowsIndexSearch
Outils
Comparer tous les outilsPrésentation
Le service Windows Search (WSearch, processus SearchIndexer.exe) parcourt les fichiers, e-mails et autres éléments pour alimenter la recherche instantanée de l'Explorateur, du menu Démarrer et d'Outlook. Pour chaque élément, il enregistre des propriétés (chemin, nom, taille, dates, propriétaire, type) et, pour de nombreux types de documents, un extrait du texte. Jusqu'à Windows 10, l'index est une unique base ESE, Windows.edb ; Windows 11 le stocke dans des bases SQLite du même dossier. L'index garde souvent la trace de fichiers déplacés, renommés ou supprimés depuis, et peut contenir du contenu introuvable ailleurs.
Emplacement
| Version de Windows | Chemin | Format |
|---|---|---|
| Vista / 7 / 8 / 10 | C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb | Base ESE, avec les journaux de transactions MSS*.log et le point de contrôle MSS.chk dans le même dossier |
| 11 | C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.db, Windows-gather.db (et Windows-usn.db) | SQLite, chacun avec ses fichiers -wal et -shm |
| Server 2019+, Windows 10/11 multisession | C:\Users\<user>\AppData\Roaming\Microsoft\Search\Data\Applications\<SID>\<SID>.edb | Index ESE par utilisateur |
| Toutes | ...\Applications\Windows\GatherLogs\ | Journaux d'exploration de l'indexeur |
Les formats ESE et SQLite ne coexistent pas sur une même installation. Sous Windows Server, le service Search n'est pas activé par défaut.
Ce que l'artefact prouve
- Un fichier a existé à un chemin compris dans le périmètre indexé (par défaut les dossiers du profil utilisateur et le menu Démarrer, tout le PC en mode « Avancé »), avec sa taille, son propriétaire et ses dates tels que vus par l'indexeur.
- Contenu : la propriété de résumé automatique conserve une partie du texte des documents et scripts indexés.
- E-mails : lorsqu'Outlook s'appuie sur Windows Search, messages et pièces jointes sont indexés avec expéditeur, objet et extraits du corps.
- Navigation : historique d'Internet Explorer et de l'ancien Edge, et sous Windows 11 certaines URL via les propriétés de lien.
- Éléments supprimés : les enregistrements de fichiers supprimés peuvent survivre dans la base, ses pages libres, ses journaux ou son WAL.
- Il ne prouve pas qu'un utilisateur a ouvert ou consulté un élément : l'indexation est une activité système automatique.
Champs clés
| Champ | Signification |
|---|---|
SystemIndex_Gthr / SystemIndex_GthrPth | Tables de collecte : une ligne par élément exploré (ID de document, périmètre, nom de fichier, dernière modification) et les chemins de dossiers |
SystemIndex_PropertyStore (ESE) / SystemIndex_1_PropertyStore (SQLite) | Propriétés de chaque élément, indexées par ID de document |
System_ItemPathDisplay | Chemin complet de l'élément |
System_Size, System_ItemType, System_FileOwner | Taille, extension/type, compte propriétaire |
System_DateCreated, System_DateModified, System_DateAccessed | Dates du fichier relevées lors de l'indexation |
System_Search_GatherTime | Dernier traitement de l'élément par l'indexeur |
System_Search_AutoSummary | Extrait du contenu texte |
System_ThumbnailCacheId | Clé reliant l'élément à son entrée thumbcache |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
| Date de collecte (gather time) | L'indexeur a exploré ou réexploré l'élément | FILETIME, UTC | Date d'indexation, pas d'activité utilisateur ; peut avoir des minutes de retard ou plus sur les modifications |
| Création / modification / accès | Copiés depuis le système de fichiers à l'indexation | FILETIME, UTC | Instantané au moment de l'exploration ; les changements ultérieurs manquent jusqu'au passage suivant |
| Dernière modification (table de collecte) | Changement détecté par l'explorateur d'indexation | FILETIME, UTC | Stockée par ligne de collecte, à comparer avec la table de propriétés |
Dates de Windows.edb / Windows.db ($SI) | Mises à jour de la base | NTFS, UTC | Actualisées en permanence par le service |
Rétention et effacement
- L'index suit le système de fichiers : quand un élément est supprimé ou sort du périmètre, son enregistrement finit par disparaître. Des restes peuvent subsister dans les pages libres ESE et les fichiers
MSS*.log, ainsi que dans le-walet la liste des pages libres SQLite sous Windows 11. - « Reconstruire » l'index dans les Options d'indexation, arrêter ou désactiver
WSearch, ou supprimer la base efface l'index courant. Une reconstruction se repère à une base neuve aux dates de fichier récentes. - Des copies plus anciennes de l'index sont souvent disponibles dans les clichés instantanés, ce qui permet de comparer ce qui était indexé à différentes dates.
- Une copie prise sur un système en marche est en général en état « dirty shutdown » : rejouez les journaux (
esentutl /r) sur une copie avant l'analyse si l'outil exige une base propre.
Collecte
- Cible KAPE :
WindowsIndexSearch(dossier de l'index système, index par utilisateur et GatherLogs). - Velociraptor (
Windows.Triage.Targets) :WindowsIndexSearch. - Commandes natives : les bases sont verrouillées par
SearchIndexer.exe; copiez-les via un cliché instantané, récupérez aussi les journaux, puis travaillez sur la copie :
esentutl.exe /y "C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb" /vss /d E:\case\search\Windows.edb
cd /d E:\case\search
esentutl.exe /mh Windows.edb
esentutl.exe /r MSS
/mh indique l'état de la base (arrêt propre ou non) ; /r MSS rejoue les fichiers MSS*.log, qui doivent avoir été copiés dans le même dossier. Sous Windows 11, copiez de la même façon Windows.db, Windows-gather.db et leurs fichiers -wal/-shm ensemble.
Outils d'analyse
- SIDR (Search Index Database Reporter, Stroz Friedberg, open source) : analyse les index ESE comme SQLite et produit des rapports fichiers, historique Internet et historique d'activité (CSV ou JSON).
- ESEDatabaseView (NirSoft, gratuit) : parcourt les tables de
Windows.edb. - libesedb (Joachim Metz, open source) :
esedbexportexporte toutes les tables ESE, y compris depuis des bases endommagées. - Thumbcache Viewer : charge l'index pour relier les identifiants thumbcache aux chemins de fichiers.
- N'importe quel navigateur SQLite ouvre les bases de Windows 11 ; intégrez d'abord le WAL dans une copie (voir WAL SQLite).
Conseils d'investigation
- Cherchez dans la table de propriétés les noms de fichiers du dossier (documents exfiltrés, outils, notes de rançon) : un résultat montre que le fichier existait à ce chemin au moment de l'indexation, même si la $MFT ne le connaît plus.
- Lisez le résumé automatique des documents et scripts supprimés : il peut restituer un contenu effacé par l'attaquant.
- Combinez les dates de collecte avec le journal USN pour dater l'apparition et la disparition des fichiers.
- Sous Windows 11, examinez le fichier
-walavant son intégration : il peut contenir des enregistrements récemment supprimés. - Pratiquez le carving de
Windows.edbet de l'espace non alloué à la recherche de pages ESE (file carving) quand les enregistrements ont été purgés. - L'indexation est automatique : attribuez l'accès utilisateur avec les fichiers LNK, les Jump Lists ou les ShellBags.
Artefacts liés
- ThumbcacheFiche Thumbcache : fichiers thumbcache_*.db par version, identifiants de cache, lien avec l'index Search, Thumbs.db et miniatures de fichiers supprimés.
- Table de fichiers maîtres ($MFT)Fiche $MFT : enregistrements FILE, horodatages $SI et $FN, données résidentes, entrées supprimées, numéros de séquence, timestomping et MFTECmd.
- Journal USN ($UsnJrnl:$J)Fiche journal USN : $UsnJrnl:$J et $Max, champs, indicateurs Reason, référence parent, taille par défaut, rotation, fsutil et analyse avec MFTECmd.
- Artefacts des navigateurs (Chrome, Edge, Firefox)Fiche navigateurs : fichiers de profil Chromium et Firefox, tables History et places.sqlite, horodatages WebKit et PRTime, téléchargements, cookies, cache.
- Clichés instantanés de volume (VSS)Fiche clichés instantanés VSS : fichiers de stockage dans System Volume Information, copie sur écriture, suppression par rançongiciel, montage et analyse.
Termes du glossaire
- Base ESE (Extensible Storage Engine)Le format de base de données transactionnelle de Microsoft derrière SRUM, WebCache, l'index Windows Search et la file BITS, souvent « dirty ».
- Journal WAL SQLite (-wal)Le fichier annexe -wal où SQLite écrit les modifications récentes avant de les fusionner dans la base ; il contient souvent les preuves récentes.
- FILETIMELe format d'horodatage Windows sur 64 bits qui compte les intervalles de 100 nanosecondes depuis le 1er janvier 1601 UTC.
- Carving de fichiersLa récupération de fichiers à partir de données brutes grâce à des signatures de contenu (en-têtes, pieds), sans métadonnées du système de fichiers.