# T1059.010 - AutoHotKey & AutoIT
## Técnica Pai
Esta é uma sub-técnica de [[t1059-command-scripting-interpreter|T1059 - T1059 - Command and Scripting Interpreter]].
## Descrição
AutoHotKey (AHK) e AutoIT são linguagens de script voltadas para automação de tarefas no Windows - criadas originalmente para facilitar a vida de usuários que precisam automatizar cliques, preenchimento de formulários e interações com jánelas. Precisamente por serem ferramentas legítimas e amplamente utilizadas, elas se tornaram vetores atrativos para adversários que buscam executar código malicioso de forma discreta, aproveitando a confiança que sistemas de segurança depositam nessas ferramentas.
Atacantes utilizam scripts `.ahk` (AutoHotKey) e `.au3` (AutoIT) para executar payloads, realizar capturas de teclado (keylogging), injetar código em processos legítimos e estabelecer comunicação com infraestrutura de comando e controle. Uma vantagem significativa para os adversários é a capacidade de compilar esses scripts em executáveis `.exe` autossuficientes, dificultando a análise e aumentando a portabilidade do malware. Famílias como [[darkgaté|DarkGaté]], [[lumma-stealer|Lumma Stealer]] e [[s1207-xloader|XLoader]] utilizam essa técnica como parte de sua cadeia de execução.
O [[g0087-apt39|APT39]], grupo iraniano de espionagem cibernética, é um dos atores de ameaça documentados com uso dessa técnica. Além disso, campanhas de [[t1566-phishing|phishing]] frequentemente distribuem arquivos AHK compilados como anexos maliciosos, explorando o fato de que usuários e sistemas de e-mail raramente associam arquivos `.exe` gerados por AutoHotKey a ameaças conhecidas.
**Contexto Brasil/LATAM:** O Brasil é historicamente um polo de desenvolvimento de malware bancário sofisticado, e ferramentas como AutoIT aparecem consistentemente em famílias como [[s0530-melcoz|Melcoz]] (também conhecido como Melcoz/Grandoreiro loader). Grupos criminosos brasileiros utilizam scripts AutoIT para automatizar etapas de fraude bancária, captura de senhas e bypass de autenticação em portais financeiros. A prevalência de Windows em ambientes corporativos e governamentais brasileiros amplia significativamente a superfície de ataque para essa técnica.
## Attack Flow
```mermaid
graph TB
A[Phishing / Download] --> B[Script AHK ou AU3]
B --> C[Compilação para .exe]
C --> D[Execução e Payload]
D --> E[Keylogging / C2]
```
## Como Funciona
1. **Preparação:** O adversário desenvolve um script AutoHotKey (`.ahk`) ou AutoIT (`.au3`) contendo a lógica maliciosa - que pode variar desde um simples downloader até um keylogger completo ou um stager para um RAT. O script pode ser compilado em um executável standalone usando os compiladores oficiais fornecidos pelo próprio projeto (Ahk2Exe para AHK, Aut2Exe para AutoIT).
2. **Execução:** O arquivo malicioso é entregue via [[t1566-phishing|phishing]] (anexo de e-mail), download drive-by ou incluído em pacotes de software comprometidos. Uma vez executado, o interpretador AutoHotKey ou AutoIT processa o script - ou o executável compilado roda de forma autossuficiente sem necessitar do interpretador instalado.
3. **Pós-execução:** Dependendo do objetivo, o malware pode estabelecer persistência via [[t1547-001-registry-run-keys|Registry Run Keys]], capturar teclas digitadas, realizar screenshots, coletar credenciais de navegadores ou baixar e executar componentes adicionais. A comunicação com C2 é frequentemente realizada por HTTP/S usando funções nativas de rede disponíveis nas linguagens.
**Exemplo:**
```bash
# Artefatos de detecção - processos AutoHotKey/AutoIT suspeitos
# Processo filho inesperado originado de AutoHotkey32.exe ou AutoIt3.exe
# Criação de arquivos .ahk ou .au3 em diretórios temporários (TEMP, AppData)
# Linha de comando suspeita (blue team):
# AutoHotkey.exe /script C:\Users\Public\updater.ahk
# AutoIt3.exe "C:\Temp\install.au3"
```
## Detecção
**Fontes de dados:** logs de criação de processos (Sysmon Event ID 1, Windows Security Event 4688), monitoramento de arquivos (criação de `.ahk`, `.au3` em diretórios incomuns), análise de linha de comando, EDR comportamental.
**Indicadores chave:** execução de `AutoHotkey.exe` ou `AutoIt3.exe` por processos pai incomuns (Outlook, navegadores, WScript); scripts em diretórios temporários; executáveis compilados com ícones genéricos e sem assinatura digital.
```yaml
title: AutoHotKey ou AutoIT Executando Script em Diretório Suspeito
id: b7e2d4f1-3a9c-4b8e-c2f5-a1d3e7b4c9f2
status: experimental
description: Detecta execução de scripts AutoHotKey ou AutoIT a partir de diretórios temporários ou de usuário incomuns
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith:
- '\AutoHotkey.exe'
- '\AutoHotkey32.exe'
- '\AutoHotkey64.exe'
- '\AutoIt3.exe'
CommandLine|contains:
- '\Temp\'
- '\AppData\Local\Temp\'
- '\Users\Public\'
- '\Downloads\'
condition: selection
falsepositives:
- Scripts de automação legítimos desenvolvidos por TI
- Ferramentas de RPA (Robotic Process Automation) corporativas
level: medium
tags:
- attack.execution
- attack.t1059.010
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Utilizar Application Control (AppLocker, Windows Defender Application Control) para bloquear a execução de `AutoHotkey.exe` e `AutoIt3.exe` em estações de trabalho que não necessitam dessas ferramentas; criar regra de bloqueio por hash de versões conhecidas ou por caminho de execução; monitorar e bloquear compilação de scripts em tempo real |
## Threat Actors que Usam
- [[g0087-apt39|APT39]] - grupo iraniano de espionagem documentado com uso de AHK em campanhas de coleta de inteligência
## Software Associado
- [[lumma-stealer|Lumma Stealer]] - infostealer que usa AutoIT como parte do seu loader
- [[s0530-melcoz|Melcoz]] - trojan bancário brasileiro com componentes AutoIT amplamente documentados
- [[s1207-xloader|XLoader]] - successor do FormBook, usa AutoIT para evasão e execução
- [[outsteel|OutSteel]] - stealer ucraniano documentado com uso de AutoHotKey
- [[darkgaté|DarkGaté]] - RAT sofisticado que usa AutoHotKey como vetor de entrega inicial
*Fonte: [MITRE ATT&CK - T1059.010](https://attack.mitre.org/techniques/T1059/010)*