Detection rules › Sigma

HackTool - Certipy Execution

Status
test
Severity
high
Log source
product windows, category process_creation
Author
pH-T (Nextron Systems), Sittikorn Sangrattanapitak
Source
github.com/SigmaHQ/sigma

Detects Certipy execution, a tool for Active Directory Certificate Services enumeration and abuse based on PE metadata characteristics and common command line arguments.

MITRE ATT&CK coverage

TacticTechniques
Credential AccessT1649 Steal or Forge Authentication Certificates

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: HackTool - Certipy Execution
id: 6938366d-8954-4ddc-baff-c830b3ba8fcd
status: test
description: |
    Detects Certipy execution, a tool for Active Directory Certificate Services enumeration and abuse based on PE metadata characteristics and common command line arguments.
references:
    - https://github.com/ly4k/Certipy
    - https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7
author: pH-T (Nextron Systems), Sittikorn Sangrattanapitak
date: 2023-04-17
modified: 2024-10-08
tags:
    - attack.discovery
    - attack.credential-access
    - attack.t1649
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\Certipy.exe'
        - OriginalFileName: 'Certipy.exe'
        - Description|contains: 'Certipy'
    selection_cli_commands:
        CommandLine|contains:
            - ' account '
            - ' auth '
            # - ' ca ' # Too short to be used with just one CLI
            - ' cert '
            - ' find '
            - ' forge '
            - ' ptt '
            - ' relay '
            - ' req '
            - ' shadow '
            - ' template '
    selection_cli_flags:
        CommandLine|contains:
            - ' -bloodhound'
            - ' -ca-pfx '
            - ' -dc-ip '
            - ' -kirbi'
            - ' -old-bloodhound'
            - ' -pfx '
            - ' -target'
            - ' -template'
            - ' -username '
            - ' -vulnerable'
            - 'auth -pfx'
            - 'shadow auto'
            - 'shadow list'
    condition: selection_img or all of selection_cli_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection_img or all of selection_cli_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\Certipy.exe'
    - OriginalFileName: 'Certipy.exe'
    - Description|contains: 'Certipy'

Stage 2: selection_cli_commands

selection_cli_commands:
    CommandLine|contains:
        - ' account '
        - ' auth '
        - ' cert '
        - ' find '
        - ' forge '
        - ' ptt '
        - ' relay '
        - ' req '
        - ' shadow '
        - ' template '

Stage 3: selection_cli_flags

selection_cli_flags:
    CommandLine|contains:
        - ' -bloodhound'
        - ' -ca-pfx '
        - ' -dc-ip '
        - ' -kirbi'
        - ' -old-bloodhound'
        - ' -pfx '
        - ' -target'
        - ' -template'
        - ' -username '
        - ' -vulnerable'
        - 'auth -pfx'
        - 'shadow auto'
        - 'shadow list'

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
  • -bloodhound
  • -ca-pfx
  • -dc-ip
  • -kirbi
  • -old-bloodhound
  • -pfx
  • -target
  • -template
  • -username
  • -vulnerable
  • account
  • auth
  • cert
  • find corpus 2 (sigma 1, splunk 1)
  • forge
  • ptt
  • relay corpus 2 (sigma 2)
  • req
  • shadow
  • template
  • auth -pfx
  • shadow auto
  • shadow list
Descriptionmatch
  • Certipy
Imageends_with
  • \Certipy.exe corpus 2 (sigma 2)
OriginalFileNameeq
  • Certipy.exe