Detection rules › Sigma
Exchange server impersonation via PrivExchange relay attack
Detects scenarios where an attacker relays Exchange server authentication to abuse Exchange servers permissions and escalate privileges.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Credential Access | T1557.001 Adversary-in-the-Middle: Name Resolution Poisoning and SMB Relay |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Security-Auditing | Event ID 4624 | An account was successfully logged on. |
Rule body yaml
title: Exchange server impersonation via PrivExchange relay attack
description: Detects scenarios where an attacker relays Exchange server authentication to abuse Exchange servers permissions and escalate privileges.
references:
- https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/
- https://twitter.com/_dirkjan/status/1091632489561575424?s=20
tags:
- attack.credential_access
- attack.t1557.001
author: mdecrevoisier
status: experimental
logsource:
product: windows
service: security
detection:
selection:
EventID: 4624
AuthenticationPackageName: NTLM
LogonProcessName: NtLmSsp
LogonType: 3
Computer: '%domain_controllers%' # Logon event has to be generated on a DC
TargetUserName: # Exchange server HOSTNAMES list + "$"
- SRVEXCH01$
- SRVEXCH02$
- SRVEXCH03$
filter:
IpAddress: '%exchange_server_ips%' # Source has to be attacker relay
condition: selection and not filter
falsepositives:
- None
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
EventID: 4624
AuthenticationPackageName: NTLM
LogonProcessName: NtLmSsp
LogonType: 3
Computer: '%domain_controllers%'
TargetUserName:
- SRVEXCH01$
- SRVEXCH02$
- SRVEXCH03$
Stage 2: not filter
filter:
IpAddress: '%exchange_server_ips%'
Exclusions
Top-level NOT(...) conjuncts: predicates this rule actively suppresses.
| Field | Kind | Excluded values |
|---|---|---|
IpAddress | eq | %exchange_server_ips% |
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.
| Field | Kind | Values |
|---|---|---|
AuthenticationPackageName | eq |
|
Computer | eq |
|
LogonProcessName | eq |
|
LogonType | eq |
|
TargetUserName | eq |
|