Command and Scripting Interpreter: AutoHotKey & AutoIT

Adversaries may execute commands and perform malicious tasks using AutoIT and AutoHotKey automation scripts. AutoIT and AutoHotkey (AHK) are scripting languages that enable users to automate Windows tasks. These automation scripts can be used to perform a wide variety of actions, such as clicking on buttons, entering text, and opening and closing programs.[1][2]

Adversaries may use AHK (.ahk) and AutoIT (.au3) scripts to execute malicious code on a victim's system. For example, adversaries have used for AHK to execute payloads and other modular malware such as keyloggers. Adversaries have also used custom AHK files containing embedded malware as Phishing payloads.[3]

These scripts may also be compiled into self-contained executable payloads (.exe).[1][2]

ID: T1059.010
Sub-technique of:  T1059
Tactic: Execution
Platforms: Windows
Contributors: @_montysecurity; Liran Ravich, CardinalOps; Rahmat Nurfauzi, @infosecn1nja, PT Xynexis International; Serhii Melnyk, Trustwave SpiderLabs; TruKno
Version: 1.0
Created: 29 March 2024
Last Modified: 28 April 2024

Procedure Examples

ID Name Description
G0087 APT39

APT39 has utilized AutoIt malware scripts embedded in Microsoft Office documents or malicious links.[4]

S1111 DarkGate

DarkGate uses AutoIt scripts dropped to a hidden directory during initial installation phases, such as test.au3.[5]

S0530 Melcoz

Melcoz has been distributed through an AutoIt loader script.[6]

S1017 OutSteel

OutSteel was developed using the AutoIT scripting language.[7]

Mitigations

ID Mitigation Description
M1038 Execution Prevention

Use application control to prevent execution of AutoIt3.exe, AutoHotkey.exe, and other related features that may not be required for a given system or network to prevent potential misuse by adversaries.

Detection

ID Data Source Data Component Detects
DS0017 Command Command Execution

Monitor executed commands and arguments for abnormal usage of utilities and command-line arguments that may be used in support of malicious execution. Compare recent invocations of AutoIt3.exe and AutoHotkey.exe with prior history of known good arguments to determine anomalous and potentially adversarial activity (ex: obfuscated and/or malicious commands).

DS0009 Process Process Creation

Monitor and analyze the execution and arguments of the AutoIt3.exe and AutoHotkey.exe interpreters. Non-standard process execution trees may also indicate suspicious or malicious behavior, such as if AutoHotkey.exe is the parent process for additional suspicious processes and activity.

References