AutoIt or AutoHotkey binary executing under a different file name
Matches Sysmon EventID 1's `OriginalFileName`, PE version-resource metadata the compiler embeds and a rename cannot remove, against the AutoIt/AutoHotkey interpreter names — the direct answer to AN0942's own ScriptExtension knob, which flags "unknown .exe names compiled from these": once a `.ahk`/`.au3` script is compiled to a standalone executable the extension is gone, so matching on `Image` or `CommandLine` for those scripts would miss exactly the compiled case MITRE names. This selector needs no companion field to be meaningful and stays true whether the interpreter kept its own name or was renamed to blend in. MITRE's other tuning knobs — ParentProcessName, TimeWindow, ChildProcessCount — are left for a site to add; none is incorporated here. A determined adversary can still strip or forge the version-resource block before compiling, which removes the one field this rule relies on. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0332, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full descriptionShow less
The detection
The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.
detection.yml
Sentinel · KQL
Run this as a search.
DeviceProcessEvents| where (ProcessVersionInfoOriginalFileName =~ "AutoIt3.exe" or ProcessVersionInfoOriginalFileName =~ "AutoIt.exe" or ProcessVersionInfoOriginalFileName =~ "AutoHotkey.exe" or ProcessVersionInfoOriginalFileName =~ "AutoHotkeyU32.exe" or ProcessVersionInfoOriginalFileName =~ "AutoHotkeyU64.exe" or ProcessVersionInfoOriginalFileName =~ "AutoHotkeyA32.exe")
Splunk · SPL
Run this as a search.
index=* (OriginalFileName="AutoIt3.exe" OR OriginalFileName="AutoIt.exe" OR OriginalFileName="AutoHotkey.exe" OR OriginalFileName="AutoHotkeyU32.exe" OR OriginalFileName="AutoHotkeyU64.exe" OR OriginalFileName="AutoHotkeyA32.exe")Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (TO_LOWER(process.pe.original_file_name) == "autoit3.exe" OR TO_LOWER(process.pe.original_file_name) == "autoit.exe" OR TO_LOWER(process.pe.original_file_name) == "autohotkey.exe" OR TO_LOWER(process.pe.original_file_name) == "autohotkeyu32.exe" OR TO_LOWER(process.pe.original_file_name) == "autohotkeyu64.exe" OR TO_LOWER(process.pe.original_file_name) == "autohotkeya32.exe")
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,process_creation,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <rule id="100000" level="7"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="OriginalFileName" type="pcre2">(?i)(^AutoIt3\.exe$|^AutoIt\.exe$|^AutoHotkey\.exe$|^AutoHotkeyU32\.exe$|^AutoHotkeyU64\.exe$|^AutoHotkeyA32\.exe$)</field> <description>AutoIt or AutoHotkey binary executing under a different file name</description> <mitre> <id>T1059.010</id> </mitre> </rule></group>
Verdicts · reactions · comments
Community
Verdicts from engineers who actually deployed it, and the conversation around it.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.
Log in to report a verdict.
Log in to join the discussion.
No comments yet. Someone who deploys this will have something to say about it.