Detection rules › Sigma

SharpHound host enumeration over Kerberos

Status
experimental
Severity
medium
Time window
5m
Log source
product windows, service security
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detect if a source host is requesting multiple Kerberos Service tickets (TGS) for different assets in a short period of time.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: SharpHound host enumeration over Kerberos
name: sharphound_enumeration_kerberos
description: Detect if a source host is requesting multiple Kerberos Service tickets (TGS) for different assets in a short period of time.
references:
  - https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4769
  - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0007-Discovery/T1087-Account%20discovery
  - https://www.splunk.com/en_us/blog/security/sharing-is-not-caring-hunting-for-file-share-discovery.html
tags:
  - attack.discovery
  - attack.t1069.002
  - attack.t1087.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4769
    ServiceName|endswith: "$"
    Status: 0x0
  filter:
    - IpAddress:
        - "::1"
        - "%domain_controllers_ip%"
    - TargetUserName|contains: "$@" # excludes computer accounts
  condition: selection and not filter
falsepositives:
  - Administrator activity, backup software
level: medium

---
title: SharpHound host enumeration over Kerberos Count
status: experimental
correlation:
  type: value_count
  rules:
    - sharphound_enumeration_kerberos
  group-by:
    - ServiceName
  timespan: 5m
  condition:
    gte: 20
    field: IpAddress
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4769
  ServiceName|endswith: "$"
  Status: 0x0

Stage 2: not filter

filter:
  - IpAddress:
      - "::1"
      - "%domain_controllers_ip%"
  - TargetUserName|contains: "$@"

Exclusions

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

FieldKindExcluded values
IpAddresseq%domain_controllers_ip%
IpAddresseq::1
TargetUserNamematch$@

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
ServiceNameends_with
  • $ corpus 2 (sigma 2)
Statuseq
  • 0 corpus 7 (sigma 7)