Skip to content

Commit fe667dd

Browse files
imays11github-actions[bot]
authored andcommitted
[New Rule] Enumerating Domain Trusts via Dsquery.exe (#2508)
* [New Rule] Enumerating Domain Trusts via Dsquery.exe T1482 Domain Trust Discovery New rule to capture domain trust discovery with dsquery. * Update discovery_enumerating_domain_trusts_via_dsquery.toml I think it would be beneficial to add the process.pe.original_file_name : "dsquery.exe" to the rule, as it would be easy for an attacker to bypass this rule by changing the file name, as so: https://prnt.sc/ZqePZKuV1-Vq Other than that, LGTM! --------- Co-authored-by: Ruben Groenewoud <[email protected]> Co-authored-by: Samirbous <[email protected]> (cherry picked from commit 748bdbf)
1 parent 0a1eab2 commit fe667dd

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
[metadata]
2+
creation_date = "2023/01/27"
3+
integration = ["endpoint", "windows"]
4+
maturity = "production"
5+
min_stack_comments = "New fields added: required_fields, related_integrations, setup"
6+
min_stack_version = "8.3.0"
7+
updated_date = "2023/01/27"
8+
9+
[rule]
10+
author = ["Elastic"]
11+
description = """
12+
Identifies the use of dsquery.exe for domain trust discovery purposes. Adversaries may use this command-line utility to
13+
enumerate trust relationships that may be used for Lateral Movement opportunities in Windows multi-domain forest
14+
environments.
15+
"""
16+
false_positives = [
17+
"Domain administrators may use this command-line utility for legitimate information gathering purposes.",
18+
]
19+
from = "now-9m"
20+
index = ["winlogbeat-*", "logs-endpoint.events.*", "logs-windows.*", "endgame-*"]
21+
language = "eql"
22+
license = "Elastic License v2"
23+
name = "Enumerating Domain Trusts via DSQUERY.EXE"
24+
note = """## Setup
25+
26+
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work.
27+
"""
28+
references = [
29+
"https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc732952(v=ws.11)",
30+
"https://posts.specterops.io/a-guide-to-attacking-domain-trusts-971e52cb2944",
31+
]
32+
risk_score = 21
33+
rule_id = "06a7a03c-c735-47a6-a313-51c354aef6c3"
34+
severity = "low"
35+
tags = ["Elastic", "Host", "Windows", "Threat Detection", "Discovery", "Elastic Endgame"]
36+
timestamp_override = "event.ingested"
37+
type = "eql"
38+
39+
query = '''
40+
process where event.type == "start" and
41+
(process.name : "dsquery.exe" or process.pe.original_file_name: "dsquery.exe") and
42+
process.args : "*objectClass=trustedDomain*"
43+
'''
44+
45+
46+
[[rule.threat]]
47+
framework = "MITRE ATT&CK"
48+
[[rule.threat.technique]]
49+
id = "T1482"
50+
name = "Domain Trust Discovery"
51+
reference = "https://attack.mitre.org/techniques/T1482/"
52+
53+
54+
[rule.threat.tactic]
55+
id = "TA0007"
56+
name = "Discovery"
57+
reference = "https://attack.mitre.org/tactics/TA0007/"
58+

0 commit comments

Comments
 (0)