Detection rules › Sigma

Potential Credential Dumping Activity Via LSASS

Status
test
Severity
medium
Log source
product windows, category process_access
Author
Samir Bousseaden, Michael Haag
Source
github.com/SigmaHQ/sigma

Detects process access requests to the LSASS process with specific call trace calls and access masks. This behaviour is expressed by many credential dumping tools such as Mimikatz, NanoDump, Invoke-Mimikatz, Procdump and even the Taskmgr dumping feature.

MITRE ATT&CK coverage

TacticTechniques
Credential AccessT1003.001 OS Credential Dumping: LSASS Memory

Event coverage

ProviderEventTitle
SysmonEvent ID 10ProcessAccess

Rule body yaml

title: Potential Credential Dumping Activity Via LSASS
id: 5ef9853e-4d0e-4a70-846f-a9ca37d876da
status: test
description: |
    Detects process access requests to the LSASS process with specific call trace calls and access masks.
    This behaviour is expressed by many credential dumping tools such as Mimikatz, NanoDump, Invoke-Mimikatz, Procdump and even the Taskmgr dumping feature.
references:
    - https://web.archive.org/web/20230329170326/https://blog.menasec.net/2019/02/threat-hunting-21-procdump-or-taskmgr.html
    - https://web.archive.org/web/20230208123920/https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for_22.html
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1003.001/T1003.001.md
    - https://research.splunk.com/endpoint/windows_possible_credential_dumping/
author: Samir Bousseaden, Michael Haag
date: 2019-04-03
modified: 2024-03-02
tags:
    - attack.credential-access
    - attack.t1003.001
    - attack.s0002
logsource:
    category: process_access
    product: windows
detection:
    selection:
        TargetImage|endswith: '\lsass.exe'
        GrantedAccess|contains:
            - '0x1038'
            - '0x1438'
            - '0x143a'
            - '0x1fffff' # Too many false positives
            # - '0x01000'  # Too many false positives
            # - '0x1010'   # Too many false positives
            # - '0x1400'  # Too many false positives
            # - '0x1410' # Too many false positives
            # - '0x40'   # Too many false positives
        CallTrace|contains:
            - 'dbgcore.dll'
            - 'dbghelp.dll'
            - 'kernel32.dll'
            - 'kernelbase.dll'
            - 'ntdll.dll'
    filter_main_system_user:
        SourceUser|contains: # Covers many language settings
            - 'AUTHORI'
            - 'AUTORI'
    filter_optional_thor:
        CallTrace|contains|all:
            - ':\Windows\Temp\asgard2-agent\'
            - '\thor\thor64.exe+'
            - '|UNKNOWN('
        GrantedAccess: '0x103800'
    filter_optional_sysmon:
        SourceImage|endswith: ':\Windows\Sysmon64.exe'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    TargetImage|endswith: '\lsass.exe'
    GrantedAccess|contains:
        - '0x1038'
        - '0x1438'
        - '0x143a'
        - '0x1fffff'
    CallTrace|contains:
        - 'dbgcore.dll'
        - 'dbghelp.dll'
        - 'kernel32.dll'
        - 'kernelbase.dll'
        - 'ntdll.dll'

Stage 2: not filter_main_system_user

filter_main_system_user:
    SourceUser|contains:
        - 'AUTHORI'
        - 'AUTORI'

Stage 3: not filter_optional_*

filter_optional_thor:
    CallTrace|contains|all:
        - ':\Windows\Temp\asgard2-agent\'
        - '\thor\thor64.exe+'
        - '|UNKNOWN('
    GrantedAccess: '0x103800'
filter_optional_sysmon:
    SourceImage|endswith: ':\Windows\Sysmon64.exe'

Exclusions

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

FieldKindExcluded values
SourceUsermatchAUTHORI
SourceUsermatchAUTORI
CallTracematch:\Windows\Temp\asgard2-agent\
CallTracematch\thor\thor64.exe+
CallTracematch|UNKNOWN(
GrantedAccesseq0x103800
SourceImageends_with:\Windows\Sysmon64.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
CallTracematch
  • dbgcore.dll corpus 4 (sigma 2, splunk 1, kusto 1)
  • dbghelp.dll corpus 4 (sigma 2, splunk 1, kusto 1)
  • kernel32.dll
  • kernelbase.dll
  • ntdll.dll
GrantedAccessmatch
  • 0x1038
  • 0x1438
  • 0x143a
  • 0x1fffff
TargetImageends_with
  • \lsass.exe corpus 16 (sigma 16)