Detection rules › Sigma

LSASS credential dump with LSASSY (process)

Status
experimental
Severity
high
Log source
product windows, category process_creation
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker remotely dump LSASS credentials using the LSASSY tool.

MITRE ATT&CK coverage

TacticTechniques
Credential AccessT1003.001 OS Credential Dumping: LSASS Memory

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: LSASS credential dump with LSASSY (process)
description: Detects scenarios where an attacker remotely dump LSASS credentials using the LSASSY tool.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1003-Credential%20dumping
- https://github.com/Hackndo/lsassy
tags:
- attack.credential_access
- attack.t1003.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection: # Full command: '"C:\Windows\System32\rundll32.exe" C:\Windows\System32\comsvcs.dll MiniDump 512 \Windows\Temp\76nivOxA.dmp full'
  selection_process_native:
    NewProcessName|endswith:
      - \rundll32.exe
      - \powershell.exe
    CommandLine|contains|all:
      - rundll32.exe
      - comsvcs.dll
      #- '.dmp' # Extension can be changed in source code

  selection_sysmon_baseline:
    Image|endswith:
      - \rundll32.exe
      - \powershell.exe
      - \pwsh.exe # PowerShell v6
      - \powershell_ise.exe # Development GUI
  selection_sysmon_parent_process:
    ParentCommandLine:
      - rundll32.exe
      - comsvcs.dll
      #- '.dmp' # Extension can be changed in source code
  selection_sysmon_process:
    CommandLine|contains|all:
      - rundll32.exe
      - comsvcs.dll
      #- '.dmp' # Extension can be changed in source code
  condition: selection_process_native or (selection_sysmon_baseline and (selection_sysmon_parent_process or selection_sysmon_process))
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection_process_native or (selection_sysmon_baseline and (selection_sysmon_parent_process or selection_sysmon_process))

Stage 1: selection_process_native

selection_process_native:
  NewProcessName|endswith:
    - \rundll32.exe
    - \powershell.exe
  CommandLine|contains|all:
    - rundll32.exe
    - comsvcs.dll

Stage 2: selection_sysmon_baseline

selection_sysmon_baseline:
  Image|endswith:
    - \rundll32.exe
    - \powershell.exe
    - \pwsh.exe
    - \powershell_ise.exe

Stage 3: selection_sysmon_parent_process

selection_sysmon_parent_process:
  ParentCommandLine:
    - rundll32.exe
    - comsvcs.dll

Stage 4: selection_sysmon_process

selection_sysmon_process:
  CommandLine|contains|all:
    - rundll32.exe
    - comsvcs.dll

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
CommandLinematch
  • comsvcs.dll corpus 3 (sigma 2, splunk 1)
  • rundll32.exe corpus 8 (sigma 8)
Imageends_with
  • \powershell.exe corpus 182 (sigma 182)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 168 (sigma 168)
  • \rundll32.exe corpus 95 (sigma 95)
NewProcessNameends_with
  • \powershell.exe corpus 182 (sigma 182)
  • \rundll32.exe corpus 95 (sigma 95)
ParentCommandLineeq
  • comsvcs.dll
  • rundll32.exe