11name : Windows AdFind Exe
22id : bd3b0187-189b-46c0-be45-f52da2bae67f
3- version : 8
4- date : ' 2024-11-13 '
3+ version : 9
4+ date : ' 2025-04-24 '
55author : Jose Hernandez, Bhavin Patel, Splunk
66status : production
77type : TTP
8- description : The following analytic identifies the execution of `adfind.exe` with
8+ description :
9+ The following analytic identifies the execution of `adfind.exe` with
910 specific command-line arguments related to Active Directory queries. It leverages
1011 data from Endpoint Detection and Response (EDR) agents, focusing on process names,
1112 command-line arguments, and parent processes. This activity is significant because
@@ -14,10 +15,11 @@ description: The following analytic identifies the execution of `adfind.exe` wit
1415 allow attackers to map the AD environment, facilitating further attacks such as
1516 privilege escalation or lateral movement.
1617data_source :
17- - Sysmon EventID 1
18- - Windows Event Log Security 4688
19- - CrowdStrike ProcessRollup2
20- search : ' | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
18+ - Sysmon EventID 1
19+ - Windows Event Log Security 4688
20+ - CrowdStrike ProcessRollup2
21+ search :
22+ ' | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
2123 as lastTime from datamodel=Endpoint.Processes where ((Processes.process="* -f *"
2224 OR Processes.process="* -b *") AND (Processes.process=*objectcategory* OR Processes.process="*-gcb
2325 *" OR Processes.process="* -sc *" )) OR ((Processes.process="*trustdmp*" OR Processes.process="*dclist*"))
@@ -27,8 +29,9 @@ search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
2729 Processes.process_guid Processes.process_hash Processes.process_id Processes.process_integrity_level
2830 Processes.process_name Processes.process_path Processes.user Processes.user_id Processes.vendor_product
2931 | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
30- | `windows_adfind_exe_filter`| `windows_adfind_exe_filter`'
31- how_to_implement : The detection is based on data that originates from Endpoint Detection
32+ | `windows_adfind_exe_filter`'
33+ how_to_implement :
34+ The detection is based on data that originates from Endpoint Detection
3235 and Response (EDR) agents. These agents are designed to provide security-related
3336 telemetry from the endpoints where the agent is installed. To implement this search,
3437 you must ingest logs that contain the process GUID, process name, and parent process.
@@ -37,61 +40,64 @@ how_to_implement: The detection is based on data that originates from Endpoint D
3740 the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
3841 data model. Use the Splunk Common Information Model (CIM) to normalize the field
3942 names and speed up the data modeling process.
40- known_false_positives : ADfind is a command-line tool for AD administration and management
43+ known_false_positives :
44+ ADfind is a command-line tool for AD administration and management
4145 that is seen to be leveraged by various adversaries. Filter out legitimate administrator
4246 usage using the filter macro.
4347references :
44- - https://www.volexity.com/blog/2020/12/14/dark-halo-leverages-solarwinds-compromise-to-breach-organizations/
45- - https://www.mandiant.com/resources/a-nasty-trick-from-credential-theft-malware-to-business-disruption
46- - https://www.joeware.net/freetools/tools/adfind/index.htm
47- - https://thedfirreport.com/2023/05/22/icedid-macro-ends-in-nokoyawa-ransomware/
48+ - https://www.volexity.com/blog/2020/12/14/dark-halo-leverages-solarwinds-compromise-to-breach-organizations/
49+ - https://www.mandiant.com/resources/a-nasty-trick-from-credential-theft-malware-to-business-disruption
50+ - https://www.joeware.net/freetools/tools/adfind/index.htm
51+ - https://thedfirreport.com/2023/05/22/icedid-macro-ends-in-nokoyawa-ransomware/
4852drilldown_searches :
49- - name : View the detection results for - "$user$"
50- search : ' %original_detection_search% | search user = "$user$"'
51- earliest_offset : $info_min_time$
52- latest_offset : $info_max_time$
53- - name : View risk events for the last 7 days for - "$user$"
54- search : ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
55- starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
56- values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
57- as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
58- as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
59- | `security_content_ctime(lastTime)`'
60- earliest_offset : $info_min_time$
61- latest_offset : $info_max_time$
53+ - name : View the detection results for - "$user$"
54+ search : ' %original_detection_search% | search user = "$user$"'
55+ earliest_offset : $info_min_time$
56+ latest_offset : $info_max_time$
57+ - name : View risk events for the last 7 days for - "$user$"
58+ search :
59+ ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
60+ starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
61+ values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
62+ as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
63+ as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
64+ | `security_content_ctime(lastTime)`'
65+ earliest_offset : $info_min_time$
66+ latest_offset : $info_max_time$
6267rba :
63- message : Windows AdFind Exe detected with command-line arguments associated with
68+ message :
69+ Windows AdFind Exe detected with command-line arguments associated with
6470 Active Directory queries on machine - [dest]
6571 risk_objects :
66- - field : user
67- type : user
68- score : 25
72+ - field : user
73+ type : user
74+ score : 25
6975 threat_objects : []
7076tags :
7177 analytic_story :
72- - Domain Trust Discovery
73- - IcedID
74- - NOBELIUM Group
75- - Graceful Wipe Out Attack
76- - BlackSuit Ransomware
78+ - Domain Trust Discovery
79+ - IcedID
80+ - NOBELIUM Group
81+ - Graceful Wipe Out Attack
82+ - BlackSuit Ransomware
7783 asset_type : Endpoint
7884 atomic_guid :
79- - 736b4f53-f400-4c22-855d-1a6b5a551600
80- - b95fd967-4e62-4109-b48d-265edfd28c3a
81- - e1ec8d20-509a-4b9a-b820-06c9b2da8eb7
82- - 5e2938fb-f919-47b6-8b29-2f6a1f718e99
83- - abf00f6c-9983-4d9a-afbc-6b1c6c6448e1
84- - 51a98f96-0269-4e09-a10f-e307779a8b05
85+ - 736b4f53-f400-4c22-855d-1a6b5a551600
86+ - b95fd967-4e62-4109-b48d-265edfd28c3a
87+ - e1ec8d20-509a-4b9a-b820-06c9b2da8eb7
88+ - 5e2938fb-f919-47b6-8b29-2f6a1f718e99
89+ - abf00f6c-9983-4d9a-afbc-6b1c6c6448e1
90+ - 51a98f96-0269-4e09-a10f-e307779a8b05
8591 mitre_attack_id :
86- - T1018
92+ - T1018
8793 product :
88- - Splunk Enterprise
89- - Splunk Enterprise Security
90- - Splunk Cloud
94+ - Splunk Enterprise
95+ - Splunk Enterprise Security
96+ - Splunk Cloud
9197 security_domain : endpoint
9298tests :
93- - name : True Positive Test
94- attack_data :
95- - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1018/atomic_red_team/windows-sysmon.log
96- source : XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
97- sourcetype : XmlWinEventLog
99+ - name : True Positive Test
100+ attack_data :
101+ - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1018/atomic_red_team/windows-sysmon.log
102+ source : XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
103+ sourcetype : XmlWinEventLog
0 commit comments