dissect.target.plugins.os.windows.search¶
Module Contents¶
Classes¶
Windows Search Index plugin. |
|
Attributes¶
- dissect.target.plugins.os.windows.search.SearchIndexRecord¶
- dissect.target.plugins.os.windows.search.SearchIndexActivityRecord¶
- dissect.target.plugins.os.windows.search.RE_URL¶
- dissect.target.plugins.os.windows.search.BROWSER_RECORD_MAP¶
- dissect.target.plugins.os.windows.search.SearchIndexRecords¶
- class dissect.target.plugins.os.windows.search.SearchIndexPlugin(target: dissect.target.target.Target)¶
Bases:
dissect.target.plugin.PluginWindows Search Index plugin.
- SYSTEM_PATHS = ('sysvol/ProgramData/Microsoft/Search/Data/Applications/Windows/Windows.db',...¶
- USER_PATHS = ('AppData/Roaming/Microsoft/Search/Data/Applications/S-1-*/*.*db',)¶
- databases¶
- find_databases() collections.abc.Iterator[tuple[pathlib.Path, dissect.target.plugins.general.users.UserDetails | None]]¶
- check_compatible() None¶
Perform a compatibility check with the target.
This function should return
Noneif the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise anUnsupportedPluginError.- Raises:
UnsupportedPluginError – If the plugin could not be loaded.
- search() collections.abc.Iterator[SearchIndexRecords]¶
Yield Windows Search Index records.
Parses
Windows.edbESE andWindows.dbSQLite3 databases. Currently does not parseGatherLogs/SystemIndex/SystemIndex.*.(Crwl|gthr)files orWindows-gather.dbandWindows-usn.dbfiles.Windows Search is a standard component of Windows 7 and Windows Vista, and is enabled by default. The standard (non-Windows Server) configuration of Windows Search indexes the following paths:
C:\Users\*andC:\ProgramData\Microsoft\Windows\Start Menu\Programs\*, with some exceptions for certain file extensions (see the linked references for more information).The difference between the fields
System_Date*andSystem_Document_Date*should be researched further. It is unclear what the fieldInvertedOnlyMD5is a checksum of (record or file content?). It might be possible to correlate the fieldSystem_FileOwnerwith aUserRecordDescriptor. The fieldSystem_FileAttributesshould be investigated further.No test data available for indexed Outlook emails, this plugin might not be able to handle indexed email messages.
References
https://learn.microsoft.com/en-us/windows/win32/search/-search-3x-wds-overview
https://github.com/libyal/esedb-kb/blob/main/documentation/Windows%20Search.asciidoc
https://devblogs.microsoft.com/windows-search-platform/configuration-and-settings/
https://learn.microsoft.com/en-us/windows/win32/search/-search-3x-wds-included-in-index
- parse_esedb(path: pathlib.Path, user_details: dissect.target.plugins.general.users.UserDetails | None) collections.abc.Iterator[SearchIndexRecords]¶
Parse the ESE
SystemIndex_PropertyStoretable.
- parse_sqlite(path: pathlib.Path, user_details: dissect.target.plugins.general.users.UserDetails | None) collections.abc.Iterator[SearchIndexRecords]¶
Parse the SQLite3
SystemIndex_1_PropertyStoretable.
- build_record(values: dict[str, Any] | TableRecord, user_details: dissect.target.plugins.general.users.UserDetails | None, db_path: pathlib.Path) collections.abc.Iterator[SearchIndexRecords]¶
Build a
SearchIndexRecord,SearchIndexActivityRecordorHistoryRecord.
- class dissect.target.plugins.os.windows.search.TableRecord(table: dissect.database.ese.table.Table, record: dissect.database.ese.record.Record)¶
- table¶
- record¶
- columns¶
- get(key: str, default: Any | None = None) Any¶