# 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)*