# T1547.001 - Registry Run Keys
## Técnica Pai
Esta é uma sub-técnica de [[t1547-boot-logon-autostart-execution|T1547 - T1547 - Boot or Logon Autostart Execution]].
## Descrição
**T1547.001 - Registry Run Keys** é uma subtécnica da categoria [[t1547-boot-logon-autostart-execution|T1547 - Boot or Logon Autostart Execution]], classificada na tática de [[Persistence|Persistência]] do MITRE ATT&CK. Nela, adversários inserem entradas nas chaves de registro `Run` e `RunOnce` do Windows para garantir que um executável malicioso sejá iniciado automaticamente toda vez que o usuário faz login ou o sistema é reiniciado. É uma das técnicas de persistência mais antigas e, por isso mesmo, uma das mais amplamente documentadas - e ainda assim continua altamente eficaz no ambiente real.
As chaves de registro mais exploradas são `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run`, `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run` e seus equivalentes `RunOnce`. A chave em `HKCU` exige apenas privilégios de usuário comum, tornando-a acessível mesmo sem elevação de permissões. Já as entradas em `HKLM` oferecem persistência global para todos os usuários da máquina, mas requerem privilégios administrativos. O valor `RunOnce` executa o programa uma única vez e remove a entrada automaticamente, sendo muito utilizado para launchers ou droppers que precisam de uma única jánela de execução sem deixar rastro permanente.
O que torna essa técnica tão duradoura é a sua invisibilidade operacional: softwares legítimos como antivírus, updaters corporativos e aplicativos de inicialização residem exatamente nas mesmas chaves. Isso cria um ruído de fundo que dificulta a triagem manual. [[g0032-lazarus-group|Lazarus Group]] usa run keys como mecanismo primário de persistência em campanhas de espionagem e roubo financeiro. [[s0531-grandoreiro|Grandoreiro]], trojan bancário de origem brasileira, registra seu payload nessas chaves para manter acesso contínuo a sessões de internet banking. [[qilin|Qilin]] configura run keys como fallback antes de iniciar a fase de criptografia do ransomware.
**Contexto Brasil/LATAM:** No Brasil, run keys são exploradas de forma massiva por famílias de malware de origem regional, especialmente trojans bancários como [[s0531-grandoreiro|Grandoreiro]], Mekotio e Casbaneiro. Esses grupos têm como alvo principal usuários de home banking e pequenas empresas do setor financeiro. A prevalência de máquinas com Windows desatualizado em ambientes corporativos brasileiros - especialmente no setor público - amplifica o risco, pois controles de logging avançado (Sysmon, ScriptBlock logging) raramente estão habilitados por padrão nessas organizações.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial<br/>T1566 Phishing] --> B[Execução<br/>T1059 Script/Payload]
B --> C[Persistência<br/>**T1547.001 Run Keys**]:::highlight
C --> D[Privilege Escalation<br/>T1548]
C --> E[C2 Callback<br/>T1071]
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b
```
## Como Funciona
1. **Preparação:** O adversário obtém execução inicial via phishing ([[t1566-phishing|T1566]]), exploit ou download malicioso. O payload - geralmente um dropper ou loader - é gravado em disco, frequentemente em `%APPDATA%`, `%TEMP%` ou pastas de sistema.
2. **Execução:** O dropper ou o próprio malware usa `reg add`, WMI, scripts [[t1059-001-powershell|PowerShell]] ou a API Win32 `RegSetValueEx` para inserir uma entrada na chave `Run`. O valor criado aponta para o caminho do executável malicioso. Pode ser mascarado com nomes que imitam software legítimo (ex: `"WindowsUpdaté"`, `"OneDriveSync"`).
3. **Pós-execução:** Na próxima reinicialização ou login, o Windows carrega automaticamente todos os valores presentes nas chaves `Run`, executando o malware sem interação do usuário. A partir desse ponto, o adversário mantém acesso persistente e pode usar o C2 para [[t1033-system-owneruser-discovery|descoberta de ambiente]], movimentação lateral e exfiltração.
## Detecção
**Fontes de dados:**
- **Windows Registry (Sysmon Event ID 13):** Monitorar criação/modificação em `HKCU\...\Run` e `HKLM\...\Run`. Sysmon com configuração de RegSetValue captura isso com process name, timestamp e valor inserido.
- **Process Creation (Sysmon Event ID 1 / Windows Event ID 4688):** Processos iniciados pelo `userinit.exe` ou `explorer.exe` como filhos diretos provenientes de caminhos fora de `C:\Program Files\` merecem aténção.
- **Windows Event ID 4657:** Auditoria nativa de modificação no registro (requer GPO de auditoria de objeto habilitada).
- **Autoruns / Baseline comparison:** Ferramentas como Sysinternals Autoruns permitem baseline e detecção de desvio. Em ambientes SOC, a comparação periódica de autoruns é uma prática eficaz.
**Sigma Rule:**
```yaml
title: Suspicious Registry Run Key Creation
id: a7f3b2d1-4e9c-4f8a-b3d2-1c5e7f9a0b2d
status: experimental
description: Detecta criação de valores em chaves Run/RunOnce que apontam para caminhos suspeitos
logsource:
product: windows
category: registry_set
detection:
selection:
EventType: SetValue
TargetObject|contains:
- '\CurrentVersion\Run'
- '\CurrentVersion\RunOnce'
Details|contains:
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
- '\Users\Public\'
- 'cmd.exe /c'
- 'powershell'
- 'wscript'
- 'mshta'
condition: selection
falsepositives:
- Software legítimo instalado em perfil de usuário
- Instaladores que usam RunOnce para configuração pós-reboot
level: medium
tags:
- attack.persistence
- attack.t1547.001
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| Auditoria de Registro | Habilitar GPO de auditoria em `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run` e equivalentes HKCU. Exportar baseline mensal e comparar via script ou SIEM. |
| Controle de Aplicações (M1038) | Usar AppLocker ou Windows Defender Application Control (WDAC) para bloquear execução de binários em `%TEMP%`, `%APPDATA%` e `%PUBLIC%` - caminhos atípicos para software legítimo. |
| Least Privilege (M1026) | Limitar usuários comuns de gravar em `HKLM\...\Run`. Políticas de UAC rigorosas reduzem o alcance de entradas globais. |
| EDR/Sysmon | Implantar Sysmon com templaté de configuração do SwiftOnSecurity ou equivalente. Regras de RegSetValue para chaves Run são essenciais e de baixo custo operacional. |
| Inventário de Autoruns | Em ambientes corporativos brasileiros, executar Autoruns periodicamente e revisar entradas novas ou de caminhos incomuns. Integrar ao processo de hardening de estações. |
## Threat Actors
- [[g0032-lazarus-group|Lazarus Group]] - usa run keys em campanhas de espionagem financeira e roubo a bancos, incluindo operações com foco em instituições da América Latina.
- [[s0531-grandoreiro|Grandoreiro]] - trojan bancário brasileiro que persiste via run keys para manter sessões ativas em sistemas de internet banking no Brasil, México e Espanha.
- [[qilin|Qilin]] - grupo de ransomware-as-a-service que registra seu payload em run keys como mecanismo de sobrevivência antes da fase destrutiva de criptografia.
## Software Associado
Técnica amplamente usada por diversas famílias de malware. Consulte também [[t1112-modify-registry|T1112 - Modify Registry]] e [[Job]] para variantes relacionadas de persistência.
---
*Fonte: [MITRE ATT&CK - T1547.001](https://attack.mitre.org/techniques/T1547/001)*