Detection rules › Sigma

NetSYnc attack

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

NetSync allows an attacker to take the NTLM hash of a Domain Controller (DC) machine account ("usually" identified by ending in "$") and using it to obtain the NTLM machine account hash of another machine account through impersonation (similar to, but different from, DCSync). Where DCSync can obtain user account passwords, NetSync is limited to machine accounts. The other main differentiator between DCSync and NetSync is that DCSync will make use of Microsoft's Directory Replication Service (DRS) Remote Protocol, whereas NetSync uses the older Netlogon Remote Protocol (MS-NRPC)

MITRE ATT&CK coverage

TacticTechniques
Credential AccessT1003.006 OS Credential Dumping: DCSync

Event coverage

Rule body yaml

title: NetSYnc attack
description: NetSync allows an attacker to take the NTLM hash of a Domain Controller (DC) machine account ("usually" identified by ending in "$") and using it to obtain the NTLM machine account hash of another machine account through impersonation (similar to, but different from, DCSync). Where DCSync can obtain user account passwords, NetSync is limited to machine accounts. The other main differentiator between DCSync and NetSync is that DCSync will make use of Microsoft's Directory Replication Service (DRS) Remote Protocol, whereas NetSync uses the older Netlogon Remote Protocol (MS-NRPC)
correlation: ID 5145 SubjectLogonId 0x1f4a6c852 AND ID 4624 TargetLogonId 0x1f4a6c852
references:
- https://github.com/Neo23x0/sigma/blob/c56cd2dfff6343f3694ef4fd606a305415599737/rules-unsupported/win_dumping_ntdsdit_via_netsync.yml
- https://fr.slideshare.net/heirhabarov/hunting-for-credentials-dumping-in-windows-environment
- https://www.trustedsec.com/blog/the-tale-of-the-lost-but-not-forgotten-undocumented-netsync-part-1/
- https://www.trustedsec.com/blog/the-tale-of-the-lost-but-not-forgotten-undocumented-netsync-part-2/
tags:
- attack.credential_access
- attack.t1003.006
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection: #  lsadump::netsync /dc:<dc_fqdn> /user:dc1$ /ntlm:<ntlmhash> /account:srv02$

  selection_login:
    EventID: 4624
    Computer: '%domain_controllers%'
    TargetUserSid: S-1-5-21-
    LogonType: 3
    AuthenticationPackageName: Kerberos

  selection_share:
    EventID: 5145
    Computer: '%domain_controllers%'
    ShareName: \\*\IPC$
    RelativeTargetName: NETLOGON

  filter:
    - SubjectUserName|endswith: $
    - SubjectUserSid: S-1-5-7 #  ANONYMOUS LOGON
    - IpAddress:
      - '%domain_controllers%'
      - '%exchange_servers%'

  condition: selection_login and selection_share and not filter
falsepositives:
- Exchange servers
level: high

Stages and Predicates

Stage 0: condition

selection_login and selection_share and not filter

Stage 1: selection_login

selection_login:
  EventID: 4624
  Computer: '%domain_controllers%'
  TargetUserSid: S-1-5-21-
  LogonType: 3
  AuthenticationPackageName: Kerberos

Stage 2: selection_share

selection_share:
  EventID: 5145
  Computer: '%domain_controllers%'
  ShareName: \\*\IPC$
  RelativeTargetName: NETLOGON

Stage 3: not filter

filter:
  - SubjectUserName|endswith: $
  - SubjectUserSid: S-1-5-7
  - IpAddress:
    - '%domain_controllers%'
    - '%exchange_servers%'

Exclusions

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

FieldKindExcluded values
IpAddresseq%domain_controllers%
IpAddresseq%exchange_servers%
SubjectUserNameends_with$
SubjectUserSideqS-1-5-7

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
AuthenticationPackageNameeq
  • Kerberos corpus 5 (sigma 2, elastic 2, splunk 1)
Computereq
  • %domain_controllers% corpus 3 (sigma 3)
LogonTypeeq
  • 3 corpus 40 (splunk 13, sigma 12, elastic 9, kusto 6)
RelativeTargetNameeq
  • NETLOGON
ShareNamewildcard
  • \\*\IPC$ corpus 11 (sigma 11)
TargetUserSideq
  • S-1-5-21-