Detection rules › Sigma
DLL ServerLevelPluginDll registration (Reg via Sysmon)
Detects scenarios where a DLL is loaded by the DNS server in order to escalate privileges or initiate a remote shell.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution | T1574.002 Hijack Execution Flow: DLL Side-Loading |
| Stealth | T1574.002 Hijack Execution Flow: DLL Side-Loading |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Sysmon | Event ID 13 | RegistryEvent (Value Set) |
Rule body yaml
title: DLL ServerLevelPluginDll registration (Reg via Sysmon)
description: Detects scenarios where a DLL is loaded by the DNS server in order to escalate privileges or initiate a remote shell.
references:
- https://medium.com/@esnesenon/feature-not-bug-dnsadmin-to-dc-compromise-in-one-line-a0f779b8dc83
- https://medium.com/r3d-buck3t/escalating-privileges-with-dnsadmins-group-active-directory-6f7adbc7005b
- https://medium.com/techzap/dns-admin-privesc-in-active-directory-ad-windows-ecc7ed5a21a2
- https://phackt.com/dnsadmins-group-exploitation-write-permissions
- http://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/from-dnsadmins-to-system-to-domain-compromise
- http://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html
- https://lolbas-project.github.io/lolbas/Binaries/Dnscmd/
- https://blog.3or.de/hunting-dns-server-level-plugin-dll-injection.html
tags:
- attack.persistence
- attack.t1574.002
author: Florian Roth (shortly adapted my mdecrevoisier)
status: experimental
logsource:
product: windows
category: registry_set # 13
detection:
selection:
TargetObject|endswith: '\services\DNS\Parameters\ServerLevelPluginDll'
condition: selection
falsepositives:
- None
level: critical
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
TargetObject|endswith: '\services\DNS\Parameters\ServerLevelPluginDll'
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 |
|---|---|---|
TargetObject | ends_with |
|