Detection rules › Sigma

Potential Persistence Via Outlook Today Page

Status
test
Severity
high
Log source
product windows, category registry_set
Author
Tobias Michalski (Nextron Systems), David Bertho (@dbertho) & Eirik Sveen (@0xSV1), Storebrand
Source
github.com/SigmaHQ/sigma

Detects potential persistence activity via outlook today page. An attacker can set a custom page to execute arbitrary code and link to it via the registry values "URL" and "UserDefinedUrl".

MITRE ATT&CK coverage

TacticTechniques
PersistenceT1112 Modify Registry
Defense ImpairmentT1112 Modify Registry

Event coverage

ProviderEventTitle
SysmonEvent ID 13RegistryEvent (Value Set)

Rule body yaml

title: Potential Persistence Via Outlook Today Page
id: 487bb375-12ef-41f6-baae-c6a1572b4dd1
related:
    - id: ddd171b5-2cc6-4975-9e78-f0eccd08cc76
      type: similar
status: test
description: |
    Detects potential persistence activity via outlook today page.
    An attacker can set a custom page to execute arbitrary code and link to it via the registry values "URL" and "UserDefinedUrl".
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-persistence-via-microsoft-exchange-server-or-outlook?slide=74
    - https://trustedsec.com/blog/specula-turning-outlook-into-a-c2-with-one-registry-change
author: Tobias Michalski (Nextron Systems), David Bertho (@dbertho) & Eirik Sveen (@0xSV1), Storebrand
date: 2021-06-10
modified: 2024-08-07
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    product: windows
    category: registry_set
detection:
    selection_main:
        TargetObject|contains|all:
            - 'Software\Microsoft\Office\'
            - '\Outlook\Today\'
    selection_value_stamp:
        TargetObject|endswith: '\Stamp'
        Details: 'DWORD (0x00000001)'
    selection_value_url:
        TargetObject|endswith:
            - '\URL'
            - '\UserDefinedUrl'
    filter_main_office:
        Image|startswith:
            - 'C:\Program Files\Common Files\Microsoft Shared\ClickToRun\'
            - 'C:\Program Files\Common Files\Microsoft Shared\ClickToRun\Updates\'
        Image|endswith: '\OfficeClickToRun.exe'
    condition: selection_main and 1 of selection_value_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_main and 1 of selection_value_* and not 1 of filter_main_*

Stage 1: selection_main

selection_main:
    TargetObject|contains|all:
        - 'Software\Microsoft\Office\'
        - '\Outlook\Today\'

Stage 2: selection_value_stamp

selection_value_stamp:
    TargetObject|endswith: '\Stamp'
    Details: 'DWORD (0x00000001)'

Stage 3: selection_value_url

selection_value_url:
    TargetObject|endswith:
        - '\URL'
        - '\UserDefinedUrl'

Stage 4: not filter_main_office

filter_main_office:
    Image|startswith:
        - 'C:\Program Files\Common Files\Microsoft Shared\ClickToRun\'
        - 'C:\Program Files\Common Files\Microsoft Shared\ClickToRun\Updates\'
    Image|endswith: '\OfficeClickToRun.exe'

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
Imagestarts_withC:\Program Files\Common Files\Microsoft Shared\ClickToRun\
Imagestarts_withC:\Program Files\Common Files\Microsoft Shared\ClickToRun\Updates\
Imageends_with\OfficeClickToRun.exe

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Detailseq
  • DWORD (0x00000001) corpus 40 (sigma 36, chronicle 4)
TargetObjectends_with
  • \Stamp
  • \URL corpus 2 (sigma 2)
  • \UserDefinedUrl
TargetObjectmatch
  • Software\Microsoft\Office\ corpus 2 (sigma 2)
  • \Outlook\Today\