-
Notifications
You must be signed in to change notification settings - Fork 570
[New Rule] Potential ADIDNS Poisoning via Wildcard Record Creation #3535
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
778a35a
[New Rule] Potential ADIDNS Poisoning via Wildcard Record Creation
w0rk3r 4bc3e1b
Update credential_access_adidns_wildcard.toml
w0rk3r 7518b73
Merge branch 'main' into dns_wildcard
w0rk3r e754249
Merge branch 'main' into dns_wildcard
Aegrah File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
[metadata] | ||
creation_date = "2024/03/26" | ||
integration = ["system", "windows"] | ||
maturity = "production" | ||
min_stack_comments = "New fields added: required_fields, related_integrations, setup" | ||
min_stack_version = "8.3.0" | ||
updated_date = "2024/03/26" | ||
|
||
[rule] | ||
author = ["Elastic"] | ||
description = """ | ||
Active Directory Integrated DNS (ADIDNS) is one of the core components of AD DS, leveraging AD's access control and | ||
replication to maintain domain consistency. It stores DNS zones as AD objects, a feature that, while robust, introduces | ||
some security issues, such as wildcard records, mainly because of the default permission (Any authenticated users) to | ||
create DNS-named records. Attackers can create wildcard records to redirect traffic that doesn't explicitly match | ||
records contained in the zone, becoming the Man-in-the-Middle and being able to abuse DNS similarly to LLMNR/NBNS spoofing. | ||
""" | ||
from = "now-9m" | ||
index = ["winlogbeat-*", "logs-system.*", "logs-windows.*"] | ||
language = "eql" | ||
license = "Elastic License v2" | ||
name = "Potential ADIDNS Poisoning via Wildcard Record Creation" | ||
references = [ | ||
"https://www.netspi.com/blog/technical/network-penetration-testing/exploiting-adidns/", | ||
"https://www.thehacker.recipes/a-d/movement/mitm-and-coerced-authentications/adidns-spoofing" | ||
] | ||
risk_score = 73 | ||
rule_id = "8f242ffb-b191-4803-90ec-0f19942e17fd" | ||
setup = """## Setup | ||
|
||
The 'Audit Directory Service Changes' logging policy must be configured for (Success, Failure). | ||
Steps to implement the logging policy with Advanced Audit Configuration: | ||
|
||
``` | ||
Computer Configuration > | ||
Policies > | ||
Windows Settings > | ||
Security Settings > | ||
Advanced Audit Policies Configuration > | ||
Audit Policies > | ||
DS Access > | ||
Audit Directory Service Changes (Success,Failure) | ||
``` | ||
|
||
The above policy does not cover the target object by default (we still need it to be configured to generate events), so we need to set up an AuditRule using https://github.com/OTRF/Set-AuditRule. | ||
|
||
``` | ||
Set-AuditRule -AdObjectPath 'AD:\\CN=MicrosoftDNS,DC=DomainDNSZones,DC=Domain,DC=com' -WellKnownSidType WorldSid -Rights CreateChild -InheritanceFlags Descendents -AttributeGUID e0fa1e8c-9b45-11d0-afdd-00c04fd930c9 -AuditFlags Success | ||
``` | ||
""" | ||
severity = "high" | ||
Aegrah marked this conversation as resolved.
Show resolved
Hide resolved
|
||
tags = [ | ||
"Domain: Endpoint", | ||
"OS: Windows", | ||
"Use Case: Threat Detection", | ||
"Tactic: Credential Access", | ||
"Data Source: Active Directory", | ||
"Use Case: Active Directory Monitoring" | ||
] | ||
timestamp_override = "event.ingested" | ||
type = "eql" | ||
|
||
query = ''' | ||
any where host.os.type == "windows" and event.action == "Directory Service Changes" and | ||
event.code == "5137" and startsWith(winlog.event_data.ObjectDN, "DC=*,") | ||
''' | ||
|
||
|
||
[[rule.threat]] | ||
framework = "MITRE ATT&CK" | ||
[[rule.threat.technique]] | ||
id = "T1557" | ||
name = "Adversary-in-the-Middle" | ||
reference = "https://attack.mitre.org/techniques/T1557/" | ||
|
||
|
||
|
||
[rule.threat.tactic] | ||
id = "TA0006" | ||
name = "Credential Access" | ||
reference = "https://attack.mitre.org/tactics/TA0006/" | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.