Skip to content

Create domain_enumeration_using_netdom.yml #3555

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

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

thegreatmhn
Copy link

This Pull Request adds a new detection to identify potential enumeration of Active Directory infrastructure using the netdom.exe utility. It targets specific keywords in the process command-line arguments such as:

QUERY, WORKSTATION, SERVER, DC, OU, PDC, FSMO, and TRUST

These arguments are commonly associated with the discovery of domain topology, trust relationships, and FSMO roles — tactics that are frequently used during internal reconnaissance and lateral movement in enterprise environments.

Details
This PR includes a new correlation search that leverages the Endpoint.Processes data model via tstats. It detects the execution of netdom.exe with arguments indicative of Active Directory enumeration attempts. These can reveal information about the domain structure, trust boundaries, or domain role assignments. This technique is often leveraged by adversaries post-compromise during the discovery or lateral movement stages.

This Pull Request adds a new detection to identify potential enumeration of Active Directory infrastructure using the netdom.exe utility. It targets specific keywords in the process command-line arguments such as:

QUERY, WORKSTATION, SERVER, DC, OU, PDC, FSMO, and TRUST

These arguments are commonly associated with discovery of domain topology, trust relationships, and FSMO roles — tactics that are frequently used during internal reconnaissance and lateral movement in enterprise environments.
@ljstella
Copy link
Contributor

Hi @thegreatmhn -

Thanks for the contribution! Working through some of the CI errors here: You're currently failing to build because the search doesn't end with a filter macro. The filter macro is based off of the name field in the detection- so in this case, it should be netdom_active_directory_enumeration_filter at the end of the search.

However, once you add the filter macro, you're going to be getting a new error, because the name inside the detection should be derived off of the filename. So, it'll be a matter of either renaming the file to netdom_active_directory_enumeration.yml or changing the name in the detection to Domain Enumeration Using Netdom - either one should work.

@ljstella
Copy link
Contributor

Update: Alright, thanks for taking care of the naming schema stuff- the next failure is related to the rba section being missing. This needs a risk message, a risk object, and can have threat objects, because the Type selected creates both Notables and Risk Events in pre-ES8 environments, and creates Findings (which have risk) in ES8+ environments.

Just about every other detection should have an example if you want to see one, also happy to help explain/walk through any of the fields it requires.

@nasbench
Copy link
Contributor

nasbench commented Jun 12, 2025

@thegreatmhn thanks for the contribution. I made some changes to help with the CI errors you are facing. I also reduced the type to an Anomaly as this could an anomalous behavior but not an immediate alert worthy.

There was also a bug with the logic. The "* QUERY *" flag is required from the quick check I did on MSDN. Hence it should be used along with the other params workstation | server | dc | ou | pdc | fsmo | trust

You need to upload your test data to https://github.com/splunk/attack_data - Simply follow any of the examples available there by creating dedicated yaml and log files for the technique you are covering.

As for the fixes here are a couple of things that you might not be aware of but are needed when contributing rules to this repo.

Anyway. Once you upload the test data as mentioned above. We can start the CI tests again and resolve any issues.

@nasbench nasbench added the WIP DO NOT MERGE Work in Progress label Jun 12, 2025
pyth0n1c and others added 2 commits June 16, 2025 08:53
This detection monitors changes to the 'IPEnableRouter' registry value under
'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters', which enables IP forwarding
on Windows systems. Enabling routing is uncommon on most endpoints and may
indicate lateral movement, network pivoting, or malicious reconfiguration activity.

The rule uses the Endpoint.Registry data model and includes metadata, references,
RBA configuration, MITRE mappings, and drilldowns, following ESCU contribution standards.
@nasbench
Copy link
Contributor

@thegreatmhn ping

@patel-bhavin
Copy link
Contributor

@thegreatmhn : Hello there! Can you please help us with sharing an attack data sample event? This will help us test this detection and get it shipped!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Detections WIP DO NOT MERGE Work in Progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants