Repository navigation
Improve handling of registry hives #185
Description
Activity
So I have not full checked the format but Chainsaw already supports
.hvebecause it is needed for the shimcache analysis. You can see what the output looks like withchainsaw search '.*' EXAMPLE.hve.So to write a rule, kind just needs to be set to
hve. There is a chance we might need to implement a new container type but that depends on the shape of the data that is being output.The rule would need to look something like this:
--- title: Example group: Persistence description: Example authors: [] kind: hve level: critical status: stable timestamp: detail.Light.last_key_written_date_and_time.interpreted fields: - name: Path to: path - name: Values to: sub_values filter: condition: example example: path: '"\ROOT\Classes\*"' sub_values: - value_name: AlwaysShowExt value.String: ''Which could then be run like so
chainsaw hunt -r /tmp/rule.yml /tmp/SOFTWARE.hve, but the values output is quite large:[+] Loading detection rules from: /tmp/rule.yml [+] Loaded 1 detection rules [+] Loading forensic artefacts from: /tmp/cSOFTWARE.hve (extensions: .hve) [+] Loaded 1 forensic artefacts (73.9 MB) [+] Hunting: [========================================] 1/1 [+] Group: Persistence ┌─────────────────────┬────────────┬─────────────────┬────────────────────────────────┐ │ timestamp │ detections │ Path │ Values │ ├─────────────────────┼────────────┼─────────────────┼────────────────────────────────┤ │ 2019-12-07 09:17:43 │ ‣ Example │ \ROOT\Classes\* │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: AlwaysShowExt │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: AlwaysShowExt │ │ │ │ │ interpreted: AlwaysShowExt │ │ │ │ │ value_name_size: │ │ │ │ │ value: 13 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 2147483650 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 0 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28854908 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885489 │ │ │ │ │ 6 │ │ │ │ │ value: │ │ │ │ │ String: '' │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: ConflictPrompt │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: ConflictPrompt │ │ │ │ │ interpreted: ConflictPromp │ │ │ │ │ t │ │ │ │ │ value_name_size: │ │ │ │ │ value: 14 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 1280 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 152 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28850952 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28855052 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885500 │ │ │ │ │ 8 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.ItemType │ │ │ │ │ Text;System.Size;System.DateMo │ │ │ │ │ dified;System.DateCreated │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: ContentViewModeFo │ │ │ │ │ rBrowse │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: [] │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: ContentViewModeForB │ │ │ │ │ rowse │ │ │ │ │ interpreted: ContentViewMo │ │ │ │ │ deForBrowse │ │ │ │ │ value_name_size: │ │ │ │ │ value: 24 │ │ │ │ │ size: │ │ │ │ │ value: -48 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 298 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28851160 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28855260 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885520 │ │ │ │ │ 8 │ │ │ │ │ value: │ │ │ │ │ String: prop:~System.ItemNam │ │ │ │ │ eDisplay;System.ItemTypeText;~ │ │ │ │ │ System.LayoutPattern.PlaceHold │ │ │ │ │ er;~System.LayoutPattern.Place │ │ │ │ │ Holder;System.DateModified;Sys │ │ │ │ │ tem.Size │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: ContentViewModeFo │ │ │ │ │ rSearch │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: [] │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: ContentViewModeForS │ │ │ │ │ earch │ │ │ │ │ interpreted: ContentViewMo │ │ │ │ │ deForSearch │ │ │ │ │ value_name_size: │ │ │ │ │ value: 24 │ │ │ │ │ size: │ │ │ │ │ value: -48 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 290 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28851512 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28855612 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885556 │ │ │ │ │ 0 │ │ │ │ │ value: │ │ │ │ │ String: prop:~System.ItemNam │ │ │ │ │ eDisplay;~System.ItemFolderPat │ │ │ │ │ hDisplay;~System.LayoutPattern │ │ │ │ │ .PlaceHolder;System.ItemTypeTe │ │ │ │ │ xt;System.DateModified;System. │ │ │ │ │ Size │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: ContentViewModeLa │ │ │ │ │ youtPatternForBrowse │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: ContentViewModeLayo │ │ │ │ │ utPatternForBrowse │ │ │ │ │ interpreted: ContentViewMo │ │ │ │ │ deLayoutPatternForBrowse │ │ │ │ │ value_name_size: │ │ │ │ │ value: 37 │ │ │ │ │ size: │ │ │ │ │ value: -64 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 12 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28851872 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28855972 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885590 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: delta │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: ContentViewModeLa │ │ │ │ │ youtPatternForSearch │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: ContentViewModeLayo │ │ │ │ │ utPatternForSearch │ │ │ │ │ interpreted: ContentViewMo │ │ │ │ │ deLayoutPatternForSearch │ │ │ │ │ value_name_size: │ │ │ │ │ value: 37 │ │ │ │ │ size: │ │ │ │ │ value: -64 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 12 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28851952 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28856052 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885598 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: delta │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: ExtendedTileInfo │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: [] │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: ExtendedTileInfo │ │ │ │ │ interpreted: ExtendedTileI │ │ │ │ │ nfo │ │ │ │ │ value_name_size: │ │ │ │ │ value: 16 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 168 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28852008 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28856108 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885606 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.ItemType │ │ │ │ │ Text;System.Size;System.DateMo │ │ │ │ │ dified;System.OfflineAvailabil │ │ │ │ │ ity │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: FullDetails │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: FullDetails │ │ │ │ │ interpreted: FullDetails │ │ │ │ │ value_name_size: │ │ │ │ │ value: 11 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 630 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28852256 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28856356 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885628 │ │ │ │ │ 0 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.PropGrou │ │ │ │ │ p.FileSystem;System.ItemNameDi │ │ │ │ │ splay;System.ItemTypeText;Syst │ │ │ │ │ em.ItemFolderPathDisplay;Syste │ │ │ │ │ m.Size;System.DateCreated;Syst │ │ │ │ │ em.DateModified;System.FileAtt │ │ │ │ │ ributes;*System.StorageProvide │ │ │ │ │ rState;*System.OfflineAvailabi │ │ │ │ │ lity;*System.OfflineStatus;*Sy │ │ │ │ │ stem.SharedWith;*System.FileOw │ │ │ │ │ ner;*System.ComputerName │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: InfoTip │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: InfoTip │ │ │ │ │ interpreted: InfoTip │ │ │ │ │ value_name_size: │ │ │ │ │ value: 7 │ │ │ │ │ size: │ │ │ │ │ value: -32 │ │ │ │ │ padding: │ │ │ │ │ value: 847 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 114 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28852928 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857028 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885699 │ │ │ │ │ 2 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.ItemType │ │ │ │ │ Text;System.Size;System.DateMo │ │ │ │ │ dified │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: NoRecentDocs │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: NoRecentDocs │ │ │ │ │ interpreted: NoRecentDocs │ │ │ │ │ value_name_size: │ │ │ │ │ value: 12 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 2147483650 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 0 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857156 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885714 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: '' │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: NoStaticDefaultVe │ │ │ │ │ rb │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: NoStaticDefaultVerb │ │ │ │ │ interpreted: NoStaticDefau │ │ │ │ │ ltVerb │ │ │ │ │ value_name_size: │ │ │ │ │ value: 19 │ │ │ │ │ size: │ │ │ │ │ value: -48 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 2147483650 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 0 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857196 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885718 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: '' │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: PreviewDetails │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: PreviewDetails │ │ │ │ │ interpreted: PreviewDetail │ │ │ │ │ s │ │ │ │ │ value_name_size: │ │ │ │ │ value: 14 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 847 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 308 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28853176 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857276 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885723 │ │ │ │ │ 2 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.DateModi │ │ │ │ │ fied;System.Size;System.DateCr │ │ │ │ │ eated;*System.StorageProviderS │ │ │ │ │ tate;*System.OfflineAvailabili │ │ │ │ │ ty;*System.OfflineStatus;*Syst │ │ │ │ │ em.SharedWith │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: PreviewTitle │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: PreviewTitle │ │ │ │ │ interpreted: PreviewTitle │ │ │ │ │ value_name_size: │ │ │ │ │ value: 12 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 847 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 96 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28853528 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857628 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885758 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.ItemName │ │ │ │ │ Display;System.ItemTypeText │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: QuickTip │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: [] │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: QuickTip │ │ │ │ │ interpreted: QuickTip │ │ │ │ │ value_name_size: │ │ │ │ │ value: 8 │ │ │ │ │ size: │ │ │ │ │ value: -32 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 114 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28853664 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857764 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885772 │ │ │ │ │ 8 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.ItemType │ │ │ │ │ Text;System.Size;System.DateMo │ │ │ │ │ dified │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: SetDefaultsFor │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: │ │ │ │ │ - 0 │ │ │ │ │ - 0 │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: SetDefaultsFor │ │ │ │ │ interpreted: SetDefaultsFo │ │ │ │ │ r │ │ │ │ │ value_name_size: │ │ │ │ │ value: 14 │ │ │ │ │ size: │ │ │ │ │ value: -40 │ │ │ │ │ padding: │ │ │ │ │ value: 847 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 94 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28853824 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28857924 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885788 │ │ │ │ │ 0 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.Author;S │ │ │ │ │ ystem.Document.DateCreated │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ │ │ │ │ - data_type: REG_SZ │ │ │ │ │ value_parse_warnings: null │ │ │ │ │ value_name: TileInfo │ │ │ │ │ versions: [] │ │ │ │ │ detail: │ │ │ │ │ Light: │ │ │ │ │ slack: │ │ │ │ │ value: [] │ │ │ │ │ signature: │ │ │ │ │ value: vk │ │ │ │ │ flags_raw: │ │ │ │ │ value: 1 │ │ │ │ │ data_type_raw: │ │ │ │ │ value: 1 │ │ │ │ │ value_name: │ │ │ │ │ value: TileInfo │ │ │ │ │ interpreted: TileInfo │ │ │ │ │ value_name_size: │ │ │ │ │ value: 8 │ │ │ │ │ size: │ │ │ │ │ value: -32 │ │ │ │ │ padding: │ │ │ │ │ value: 0 │ │ │ │ │ data_size_raw: │ │ │ │ │ value: 114 │ │ │ │ │ data_offset_relative: │ │ │ │ │ value: 28853960 │ │ │ │ │ data_offsets_absolute: │ │ │ │ │ - 28858060 │ │ │ │ │ updated_by_sequence_num: null │ │ │ │ │ sequence_num: null │ │ │ │ │ cell_parse_warnings: │ │ │ │ │ logs: null │ │ │ │ │ file_offset_absolute: 2885802 │ │ │ │ │ 4 │ │ │ │ │ value: │ │ │ │ │ String: prop:System.ItemType │ │ │ │ │ Text;System.Size;System.DateMo │ │ │ │ │ dified │ │ │ │ │ flags: CellKeyValueFlags(VALU │ │ │ │ │ E_COMP_NAME_ASCII) │ │ │ │ │ state: Allocated │ └─────────────────────┴────────────┴─────────────────┴────────────────────────────────┘ [+] 1 Detections found on 1 documentsSome sort of container that can pull out matching values from an array of objects would probably need to be implemented to solve the array of values output noise.
Reacted by Elad Levi and Sajid Nawaz KhanThat will be great.
Also an abstraction for the rules to be able to translate HKEY_LOCAL_MACHINE\SYSTEM in the rule format to SYSTEM hive file (without needing to put '\ROOT').
Changing the hive files to .hve also feels unnecessary (isn't there a file header or something?)
Thanks for the help!
That is doable too, but would need some code changes to handle that behind the scenes.
You can bypass having to add
.hveby using the command--load-unknown, currently there is no magic support because at the time of writing there was no good portable libmagic solution.- changed the title
[-]Feature Request: Rules for Registry Hives[/-][+]Improve handling of registry hives[/+]on Oct 10, 2024

I would like to have the ability to create rules on registry hives, for example:
I think that this feature will allow to get a lot value from the registry hives, both in forensics and threat hunting.