Detection rules › Sigma

Suspicious Process Access to LSASS with Dbgcore/Dbghelp DLLs

Status
experimental
Severity
high
Log source
product windows, category process_access
Author
Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects suspicious process access to LSASS.exe from processes located in uncommon locations with dbgcore.dll or dbghelp.dll in the call trace. These DLLs contain functions like MiniDumpWriteDump that can be abused for credential dumping purposes. While modern tools like Mimikatz have moved to using ntdll.dll, dbgcore.dll and dbghelp.dll are still used by basic credential dumping utilities and legacy tools for LSASS memory access and process suspension techniques.

MITRE ATT&CK coverage

TacticTechniques
Defense ImpairmentT1685 Disable or Modify Tools
Credential AccessT1003.001 OS Credential Dumping: LSASS Memory

Event coverage

ProviderEventTitle
SysmonEvent ID 10ProcessAccess

Rule body yaml

title: Suspicious Process Access to LSASS with Dbgcore/Dbghelp DLLs
id: 9f5c1d59-33be-4e60-bcab-85d2f566effd
related:
    - id: 416bc4a2-7217-4519-8dc7-c3271817f1d5
      type: similar
status: experimental
description: |
    Detects suspicious process access to LSASS.exe from processes located in uncommon locations with dbgcore.dll or dbghelp.dll in the call trace.
    These DLLs contain functions like MiniDumpWriteDump that can be abused for credential dumping purposes. While modern tools like Mimikatz have moved to using ntdll.dll,
    dbgcore.dll and dbghelp.dll are still used by basic credential dumping utilities and legacy tools for LSASS memory access and process suspension techniques.
references:
    - https://www.splunk.com/en_us/blog/security/you-bet-your-lsass-hunting-lsass-access.html
    - https://docs.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpwritedump
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-27
tags:
    - attack.credential-access
    - attack.defense-impairment
    - attack.t1003.001
    - attack.t1685
logsource:
    category: process_access
    product: windows
detection:
    selection_lsass_calltrace:
        TargetImage|endswith: '\lsass.exe'
        CallTrace|contains:
            - 'dbgcore.dll'
            - 'dbghelp.dll'
    # The following selection is commented out and not enabled by default because any access to LSASS with dbgcore.dll or dbghelp.dll in the call trace from uncommon locations is assumed to be suspicious,
    # but it may reduce false positives if the rule is too noisy. These GrantedAccess bits are commonly used for dumping LSASS memory.
    # Uncomment if you observe false positives with the default rule.
    # selection_granted_access:
    #     GrantedAccess|contains:
    #         - '0x1fffff'
    #         - '0x10'
    #         - '0x1010'
    #         - '0x1410'
    #         - '0x1438'
    selection_susp_location:
        SourceImage|contains:
            - ':\Perflogs\'
            - ':\Temp\'
            - ':\Users\Public\'
            - '\$Recycle.Bin\'
            - '\AppData\Roaming\'
            - '\Contacts\'
            - '\Desktop\'
            - '\Documents\'
            - '\Downloads\'
            - '\Favorites\'
            - '\Favourites\'
            - '\inetpub\wwwroot\'
            - '\Music\'
            - '\Pictures\'
            - '\Start Menu\Programs\Startup\'
            - '\Users\Default\'
            - '\Videos\'
            - '\Windows\Temp\'
    condition: all of selection_*
falsepositives:
    - Possibly during software installation or update processes
level: high
regression_tests_path: regression_data/rules/windows/process_access/proc_access_win_susp_dbgcore_dbghelp_load/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_lsass_calltrace

selection_lsass_calltrace:
    TargetImage|endswith: '\lsass.exe'
    CallTrace|contains:
        - 'dbgcore.dll'
        - 'dbghelp.dll'

Stage 2: selection_susp_location

selection_susp_location:
    SourceImage|contains:
        - ':\Perflogs\'
        - ':\Temp\'
        - ':\Users\Public\'
        - '\$Recycle.Bin\'
        - '\AppData\Roaming\'
        - '\Contacts\'
        - '\Desktop\'
        - '\Documents\'
        - '\Downloads\'
        - '\Favorites\'
        - '\Favourites\'
        - '\inetpub\wwwroot\'
        - '\Music\'
        - '\Pictures\'
        - '\Start Menu\Programs\Startup\'
        - '\Users\Default\'
        - '\Videos\'
        - '\Windows\Temp\'

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)
SourceImagematch
  • :\Perflogs\ corpus 10 (sigma 10)
  • :\Temp\ corpus 13 (sigma 13)
  • :\Users\Public\ corpus 15 (sigma 15)
  • \$Recycle.Bin\ corpus 2 (sigma 2)
  • \AppData\Roaming\ corpus 2 (sigma 2)
  • \Contacts\ corpus 5 (sigma 5)
  • \Desktop\ corpus 7 (sigma 7)
  • \Documents\ corpus 2 (sigma 2)
  • \Downloads\ corpus 10 (sigma 10)
  • \Favorites\ corpus 6 (sigma 6)
  • \Favourites\ corpus 5 (sigma 5)
  • \Music\ corpus 4 (sigma 4)
  • \Pictures\ corpus 5 (sigma 5)
  • \Start Menu\Programs\Startup\ corpus 2 (sigma 2)
  • \Users\Default\ corpus 4 (sigma 4)
  • \Videos\ corpus 4 (sigma 4)
  • \Windows\Temp\ corpus 8 (sigma 8)
  • \inetpub\wwwroot\ corpus 2 (sigma 2)
TargetImageends_with
  • \lsass.exe corpus 16 (sigma 16)