Files
splunk-security_content/detections/endpoint/windows_autoit3_execution.yml
Nasreddine Bencherchali 21ee673940 Fix Issues & Updates (#3705)
* Fix Issues and Updates

* Update add_or_set_windows_defender_exclusion.yml

* Update windows_curl_download_to_suspicious_path.yml

* Fix more issues and bugs

* Update deprecation_mapping.YML

* Update windows_application_whitelisting_bypass_attempt_via_rundll32.yml

* More updates and fixes

* update `Windows Change Default File Association For No File Ext`

* A couple more updates for ya

* rename

* add / update rules

* Update windows_symlink_evaluation_change_via_fsutil.yml

* Update windows_symlink_evaluation_change_via_fsutil.yml

* Update linux_service_started_or_enabled.yml

* Update linux_service_started_or_enabled.yml

---------

Co-authored-by: Bhavin Patel <bhavin.j.patel91@gmail.com>
2025-10-13 09:18:21 -07:00

104 lines
4.5 KiB
YAML

name: Windows AutoIt3 Execution
id: 0ecb40d9-492b-4a57-9f87-515dd742794c
version: 9
date: '2025-10-06'
author: Michael Haag, Splunk
status: production
type: TTP
data_source:
- Sysmon EventID 1
- Windows Event Log Security 4688
- CrowdStrike ProcessRollup2
description: |
The following analytic detects the execution of AutoIt3, a scripting
language often used for automating Windows GUI tasks and general scripting.
It identifies instances where AutoIt3 or its variants are executed by searching for process names
or original file names matching 'autoit3.exe'.
This activity is significant because attackers frequently use AutoIt3 to automate malicious actions, such as executing malware.
If confirmed malicious, this activity could lead to unauthorized code execution,
system compromise, or further propagation of malware within the environment.
search: |
| tstats `security_content_summariesonly`
count min(_time) as firstTime
max(_time) as lastTime
from datamodel=Endpoint.Processes where
(
Processes.process_name = "autoit*.exe"
OR
Processes.original_file_name = "autoit*.exe"
)
by Processes.action Processes.dest Processes.original_file_name
Processes.parent_process Processes.parent_process_exec
Processes.parent_process_guid Processes.parent_process_id
Processes.parent_process_name Processes.parent_process_path
Processes.process Processes.process_exec Processes.process_guid
Processes.process_hash Processes.process_id Processes.process_integrity_level
Processes.process_name Processes.process_path Processes.user
Processes.user_id Processes.vendor_product
| `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_autoit3_execution_filter`
how_to_implement: The detection is based on data that originates from Endpoint Detection
and Response (EDR) agents. These agents are designed to provide security-related
telemetry from the endpoints where the agent is installed. To implement this search,
you must ingest logs that contain the process GUID, process name, and parent process.
Additionally, you must ingest complete command-line executions. These logs must
be processed using the appropriate Splunk Technology Add-ons that are specific to
the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
data model. Use the Splunk Common Information Model (CIM) to normalize the field
names and speed up the data modeling process.
known_false_positives: False positives may be present if the application is legitimately
used, filter by user or endpoint as needed.
references:
- https://github.com/PaloAltoNetworks/Unit42-timely-threat-intel/blob/main/2023-10-25-IOCs-from-DarkGate-activity.txt
drilldown_searches:
- name: View the detection results for - "$dest$" and "$user$"
search: '%original_detection_search% | search dest = "$dest$" user = "$user$"'
earliest_offset: $info_min_time$
latest_offset: $info_max_time$
- name: View risk events for the last 7 days for - "$dest$" and "$user$"
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$",
"$user$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
earliest_offset: $info_min_time$
latest_offset: $info_max_time$
rba:
message: Execution of AutoIt3 detected. The source process is $parent_process_name$
and the destination process is $process_name$ on $dest$ by
risk_objects:
- field: dest
type: system
score: 50
- field: user
type: user
score: 50
threat_objects:
- field: parent_process_name
type: parent_process_name
- field: process_name
type: process_name
tags:
analytic_story:
- Crypto Stealer
- Handala Wiper
- DarkGate Malware
asset_type: Endpoint
atomic_guid: []
mitre_attack_id:
- T1059
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
security_domain: endpoint
tests:
- name: True Positive Test
attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059/autoit/sysmon.log
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
sourcetype: XmlWinEventLog