# T1547 - Boot or Logon Autostart Execution ## Descrição **T1547 - Boot or Logon Autostart Execution** é uma das técnicas de persistência mais prevalentes no MITRE ATT&CK. O adversário registra um programa, script ou comando para execução automática no momento em que o sistema inicializa ou quando um usuário faz logon - garantindo que o implante retorna mesmo após reinicializações, atualizações ou intervenções parciais da equipe de resposta a incidentes. Ao contrário de técnicas que dependem de sessões ativas ou processos efêmeros, a persistência via autostart é **passiva e resiliente**: o malware fica inativo até que o evento de boot ou logon o acione novamente. Isso torna a técnica especialmente atraente para grupos APT que precisam de acesso de longa duração - e para ransomware que desejá garantir o retorno do payload caso sejá detectado antes da encriptação completa. O mecanismo funciona de forma transversal a plataformas. No Windows, chaves de registro como `HKCU\Software\Microsoft\Windows\CurrentVersion\Run` são os alvos mais comuns. No macOS, Launch Daemons e Login Items substituíram os hooks de login depreciados. No Linux, serviços systemd e scripts de inicialização como `rc.local` são explorados em ambientes de servidor e contêiner. A técnica abrange quatorze sub-técnicas documentadas pelo MITRE, cada uma explorando um mecanismo nativo diferente do sistema operacional. Desde que alguns programas de autostart na inicialização ou logon são executados com privilégios elevados, um adversário pode abusar deles para escalar privilégios além da persistência simples. ## Sub-técnicas - [[ Startup Folder]] - [[t1547-002-authentication-package|T1547.002 - Authentication Package]] - [[t1547-003-time-providers|T1547.003 - Time Providers]] - [[t1547-004-winlogon-helper-dll|T1547.004 - Winlogon Helper DLL]] - [[t1547-005-security-support-provider|T1547.005 - Security Support Provider]] - [[t1547-006-kernel-modules-and-extensions|T1547.006 - Kernel Modules and Extensions]] - [[t1547-007-re-opened-applications|T1547.007 - Re-opened Applications]] - [[t1547-008-lsass-driver|T1547.008 - LSASS Driver]] - [[t1547-009-shortcut-modification|T1547.009 - Shortcut Modification]] - [[t1547-010-port-monitors|T1547.010 - Port Monitors]] - [[t1547-012-print-processors|T1547.012 - Print Processors]] - [[t1547-013-xdg-autostart-entries|T1547.013 - XDG Autostart Entries]] - [[t1547-014-active-setup|T1547.014 - Active Setup]] - [[t1547-015-login-items|T1547.015 - Login Items]] ## Mecanismos Mais Explorados ### Windows - Registry Run Keys e Startup Folder As chaves de registro de autorun são o mecanismo mais abusado no ecossistema Windows. As localizações mais exploradas: ``` HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run ``` A pasta Startup também é alvo frequente: ``` %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\ %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup\ ``` Entradas em `HKCU` exigem apenas privilégios de usuário comum - tornando esse vetor acessível a práticamente qualquer malware que obtenha execução inicial. Entradas em `HKLM` requerem privilégios administrativos, mas oferecem persistência para todos os usuários do sistema e sobrevivem a logouts individuais. ### macOS - Launch Daemons, Launch Agents e Login Items O macOS utiliza o `launchd` como sistema de inicialização. Arquivos `.plist` em locais específicos definem o que é executado automaticamente: ``` /Library/LaunchDaemons/ → executa como root no boot (todos os usuários) /Library/LaunchAgents/ → executa como root no logon de qualquer usuário ~/Library/LaunchAgents/ → executa como o usuário no seu logon /System/Library/LaunchDaemons/ → reservado ao sistema operacional ``` Launch Daemons em `/Library/LaunchDaemons/` requerem privilégios de root para instalação, mas executam no contexto do sistema - ideal para implantes que precisam de persistência privilegiada. Além dos Daemons e Agents, a sub-técnica [[t1547-015-login-items|T1547.015 - Login Items]] explora o mecanismo de itens de login gerenciado pelo Service Management Framework e pelo `launchd`. ### Linux - systemd, cron e scripts legados ``` /etc/systemd/system/ → serviços systemd (root) ~/.config/systemd/user/ → serviços systemd do usuário /etc/cron.d/ → cron jobs do sistema /var/spool/cron/crontabs/ → cron jobs por usuário /etc/rc.local → script legado de inicialização ~/.bashrc / ~/.profile → execução no shell de login ``` Em ambientes de servidor Linux - comuns em infraestruturas de nuvem e contêineres - a persistência via systemd é a mais robusta e difícil de detectar sem auditoria específica. A sub-técnica [[t1547-013-xdg-autostart-entries|T1547.013 - XDG Autostart Entries]] é variante para ambientes de desktop Linux com sessões gráficas. > [!warning] Ransomware e Trojans no Brasil > - **Trojans bancários LATAM**: registro em `HKCU\Run` com nomes que imitam utilitários legítimos do Windows para persistência em ambientes corporativos do Brasil > - **Ransomware moderno** ([[g1024-akira|Akira]], [[lockbit|LockBit]]): usa T1547.001 durante a fase pré-encriptação para garantir reexecução caso o processo sejá interrompido antes da conclusão > - **[[g0008-carbanak|Carbanak]]**: persistência via scheduled tasks e Run Keys em ataques a sistemas de ponto de venda (PDV) no varejo e hotelaria > [!tip] Por que essa técnica é tão prevalente? > T1547 é atraente por três razões: (1) múltiplos mecanismos nativos de SO disponíveis - se um for removido, outro pode ser usado; (2) muitos mecanismos requerem apenas privilégios de usuário; (3) entradas de autorun são frequentemente ignoradas em análises de incident response focadas em processos ativos. ## Attack Flow ```mermaid graph TB A["Acesso Inicial<br/>(phishing, exploit, credencial roubada)"] B["Execução do Payload<br/>(primeira vez - via exploit ou download)"] C{"Plataforma alvo?"} D["Windows:<br/>Escrita em Run Key ou Startup Folder"] E["macOS:<br/>Instalação de LaunchAgent/Daemon .plist<br/>ou Login Item via SMF"] F["Linux:<br/>Criação de serviço systemd<br/>ou cron job"] G["Persistência ativa:<br/>reexecutado em cada boot ou logon"] H["Atividades pós-persistência:<br/>C2, lateral movement, coleta de dados"] A --> B B --> C C -->|Windows| D C -->|macOS| E C -->|Linux| F D --> G E --> G F --> G G --> H classDef initial fill:#e74c3c,color:#fff classDef decision fill:#f39c12,color:#fff classDef action fill:#3498db,color:#fff classDef persist fill:#8e44ad,color:#fff classDef impact fill:#e67e22,color:#fff class A initial class C decision class B,D,E,F action class G persist class H impact ``` ## Contexto CTI - Uso por Ameaças > [!danger] APTs e Grupos de Espionagem > T1547 é uma das técnicas com maior prevalência em campanhas avançadas documentadas: > > - **[[g0032-lazarus-group|Lazarus Group]]**: usa Registry Run Keys para persistência de implantes financeiros em campanhas como Operation AppleJeus e DreamJob; frequentemente combina com técnicas de mascaramento de processo > - **[[g0016-apt29|APT29]]**: combina T1547.001 com injeção de processo para persistência discreta em redes governamentais; prefere entradas em `HKLM` que sobrevivem a logouts de usuário > - **[[g0007-apt28|APT28]]**: usa T1547.004 (Winlogon Helper DLL) em campanhas de espionagem para carregar implantes no contexto do Winlogon, aumentando a dificuldade de detecção > - **[[g0034-sandworm|Sandworm Team]]**: utiliza persistência via systemd em ataques a infraestruturas críticas Linux, notavelmente em operações contra distribuidoras de energia ## Detecção ```mermaid graph TB A["Monitoramento de Registro<br/>(Sysmon Event 13)"] B{"Modificação em<br/>Run / RunOnce Keys?"} C["ALERTA: novo entry<br/>não-assinado ou path suspeito"] D["Auditoria de<br/>Startup Folder"] E{"Novo .lnk, .bat ou .exe<br/>na pasta Startup?"} F["ALERTA: possível T1547.009<br/>Shortcut Modification"] G["EDR - Process Creation<br/>(Sysmon Event 1)"] H{"Processo iniciado<br/>na inicialização<br/>com path incomum?"} I["Investigar: possível<br/>Logon Autostart"] J["Auditoria de<br/>Launch Daemons (macOS)"] K{"Novo .plist em<br/>/Library/LaunchDaemons/?"} L["ALERTA: possível<br/>Launch Daemon malicioso"] A --> B B -->|Sim| C D --> E E -->|Sim| F G --> H H -->|Sim| I J --> K K -->|Sim| L classDef monitor fill:#27ae60,color:#fff classDef check fill:#3498db,color:#fff classDef alert fill:#e74c3c,color:#fff classDef investigaté fill:#f39c12,color:#fff class A,D,G,J monitor class B,E,H,K check class C,F,L alert class I investigaté ``` ### Eventos Windows para Monitorar | Evento | ID | O que captura | |--------|----|---------------| | Modificação de Run Key | Sysmon Event 13 | Registry value set em paths de autorun | | Novo arquivo em Startup | Sysmon Event 11 | File created em pasta de startup | | Processo criado por autorun | Sysmon Event 1 | `ParentImage` = `explorer.exe` ou `winlogon.exe` na inicialização | | Módulo carregado | Sysmon Event 7 | DLL carregada via Winlogon ou LSA | | Criação de serviço | Windows Event 4697 | Novo serviço instalado no sistema | ### Ferramentas de Auditoria - **Autoruns (Sysinternals)**: inventário completo de todos os mecanismos de autostart - ferramenta de referência para análise forense de persistência; comparar com baseline confiável - **Sysmon**: Events 11 e 13 com filtro em paths de registro de autorun e pastas Startup - **OSQuery**: `SELECT * FROM startup_items` para inventário contínuo de itens de logon - **launchctl list** (macOS): enumerar todos os Launch Agents e Daemons registrados no sistema ## Mitigações | Mitigação | Descrição | Prioridade | |-----------|-----------|------------| | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Restringir escrita em pastas Startup para não-administradores; proteger `/Library/LaunchDaemons/` e `/etc/systemd/system/` | Alta | | [[m1018-user-account-management\|M1018 - User Account Management]] | Limitar privilégios que permitem registro de serviços, módulos de kernel e Load/Unload de drivers | Alta | | [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Usar controles como AppLocker ou WDAC para impedir execução de binários não-autorizados registrados como autostart | Média | --- *Fonte: MITRE ATT&CK - T1547 (https://attack.mitre.org/techniques/T1547/)*