Detection rules › Sigma

HackTool - SharpDPAPI Execution

Status
test
Severity
high
Log source
product windows, category process_creation
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the execution of the SharpDPAPI tool based on CommandLine flags and PE metadata. SharpDPAPI is a C# port of some DPAPI functionality from the Mimikatz project.

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: HackTool - SharpDPAPI Execution
id: c7d33b50-f690-4b51-8cfb-0fb912a31e57
status: test
description: |
    Detects the execution of the SharpDPAPI tool based on CommandLine flags and PE metadata.
    SharpDPAPI is a C# port of some DPAPI functionality from the Mimikatz project.
references:
    - https://github.com/GhostPack/SharpDPAPI
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-06-26
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1134.001
    - attack.t1134.003
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '\SharpDPAPI.exe'
        - OriginalFileName: 'SharpDPAPI.exe'
    selection_other_cli:
        CommandLine|contains:
            - ' backupkey '
            - ' blob '
            - ' certificates '
            - ' credentials '
            - ' keepass '
            - ' masterkeys '
            - ' rdg '
            - ' vaults '
    selection_other_options_guid:
        CommandLine|contains|all:
            - ' {'
            - '}:'
    selection_other_options_flags:
        CommandLine|contains:
            - ' /file:'
            - ' /machine'
            - ' /mkfile:'
            - ' /password:'
            - ' /pvk:'
            - ' /server:'
            - ' /target:'
            - ' /unprotect'
    condition: selection_img or (selection_other_cli and 1 of selection_other_options_*)
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_img or (selection_other_cli and 1 of selection_other_options_*)

Stage 1: selection_img

selection_img:
    - Image|endswith: '\SharpDPAPI.exe'
    - OriginalFileName: 'SharpDPAPI.exe'

Stage 2: selection_other_cli

selection_other_cli:
    CommandLine|contains:
        - ' backupkey '
        - ' blob '
        - ' certificates '
        - ' credentials '
        - ' keepass '
        - ' masterkeys '
        - ' rdg '
        - ' vaults '

Stage 3: selection_other_options_guid

selection_other_options_guid:
    CommandLine|contains|all:
        - ' {'
        - '}:'

Stage 4: selection_other_options_flags

selection_other_options_flags:
    CommandLine|contains:
        - ' /file:'
        - ' /machine'
        - ' /mkfile:'
        - ' /password:'
        - ' /pvk:'
        - ' /server:'
        - ' /target:'
        - ' /unprotect'

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
  • /file:
  • /machine
  • /mkfile:
  • /password:
  • /pvk:
  • /server:
  • /target:
  • /unprotect
  • backupkey
  • blob
  • certificates
  • credentials
  • keepass
  • masterkeys
  • rdg
  • vaults
  • {
  • }:
Imageends_with
  • \SharpDPAPI.exe
OriginalFileNameeq
  • SharpDPAPI.exe