Skip to content

Improve handling of registry hives #185

Description

@JakePeralta7

I would like to have the ability to create rules on registry hives, for example:

---
title: T1547.004 - Winlogon System Shell Changed
group: Persistence
description: Winlogon\Shell changed from explorer.exe
kind: registry_hive
level: critical
status: stable
timestamp: <take the timestamp from the last changed attribute on the registry key>

filter:
  condition: winlogon_shell and not value_data_explorer
  winlogon_shell:
    RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    RegistryValue: Shell
  value_data_explorer:
    RegistryValueData: explorer.exe

I think that this feature will allow to get a lot value from the registry hives, both in forensics and threat hunting.

Activity

  1. alexkornitzer commented on Oct 9, 2024

    @alexkornitzer
    Collaborator

    So I have not full checked the format but Chainsaw already supports .hve because it is needed for the shimcache analysis. You can see what the output looks like with chainsaw 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.

  2. JakePeralta7 commented on Oct 10, 2024

    @JakePeralta7
    ContributorAuthor

    I could be missing something, but when I'm running it against the SYSTEM and SOFTWARE hives I get 0 hits.
    image

  3. alexkornitzer commented on Oct 10, 2024

    @alexkornitzer
    Collaborator

    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 documents
    

    Some 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.

  4. JakePeralta7 commented on Oct 10, 2024

    @JakePeralta7
    ContributorAuthor

    That 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!

  5. alexkornitzer commented on Oct 10, 2024

    @alexkornitzer
    Collaborator

    That is doable too, but would need some code changes to handle that behind the scenes.

    You can bypass having to add .hve by using the command --load-unknown, currently there is no magic support because at the time of writing there was no good portable libmagic solution.

  6. changed the title [-]Feature Request: Rules for Registry Hives[/-] [+]Improve handling of registry hives[/+] on Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions