# T1547.007 - Re-opened Applications ## Técnica Pai Sub-técnica de [[t1547-boot-logon-autostart-execution|T1547 - Execução na Inicialização]], tática [[ta0003-persistence|Persistência]]. ## Descrição Adversários modificam arquivos plist do macOS para executar automaticamente um aplicativo malicioso quando o usuário faz login. Quando um usuário encerra a sessão ou reinicia o sistema pela interface gráfica do macOS, é exibida uma caixa de diálogo com a opção "Reabrir jánelas ao fazer login novamente". Quando selecionada, todos os aplicativos abertos no momento são registrados no arquivo de propriedades `com.apple.loginwindow.[UUID].plist`, localizado em `~/Library/Preferences/ByHost/`. Os aplicativos listados nesse arquivo são reabertos automaticamente no próximo login. Adversários exploram esse mecanismo nativo do macOS inserindo o caminho de um aplicativo malicioso diretamente nesse arquivo plist, garantindo execução de payload a cada autenticação do usuário - sem exigir privilégios de root e sem modificar itens de login visíveis nas preferências do sistema. A técnica é particularmente relevante para ataques direcionados a desenvolvedores, jornalistas e profissionais de [[government|governo]] e [[technology|tecnologia]] no Brasil e na América Latina que utilizam dispositivos Apple como principal estação de trabalho, contexto já documentado em operações do [[g0050-apt32|APT32 (OceanLotus)]] contra alvos da região. ## Attack Flow ```mermaid graph TB A([Acesso Inicial<br/>Exploração ou Phishing]) --> B([Execução<br/>Acesso ao Sistema de Arquivos do Usuário]) B --> C([Persistência<br/>Modificação do plist loginwindow]) C --> D([Execução Automática<br/>Payload Reaberto no Login]) D --> E([Comando e Controle<br/>Conexão C2 Estabelecida]) E --> F([Coleta<br/>Exfiltração de Dados Locais]) style A fill:#4a1942,color:#fff style B fill:#7b2d8b,color:#fff style C fill:#c0392b,color:#fff style D fill:#e67e22,color:#fff style E fill:#2980b9,color:#fff style F fill:#1a5276,color:#fff ``` ## Como Funciona **Passo 1 - Localização e leitura do arquivo plist** O adversário, com acesso ao contexto do usuário comprometido, localiza o arquivo `com.apple.loginwindow.[UUID].plist` em `~/Library/Preferences/ByHost/`. O UUID corresponde ao hardware do Mac e pode ser enumerado via `ioreg -rd1 -c IOPlatformExpertDevice`. O arquivo é um plist binário ou XML que lista os aplicativos a serem reabertos no próximo login. **Passo 2 - Injeção do caminho malicioso no plist** Utilizando `defaults write` ou manipulação direta com `PlistBuddy`, o adversário adiciona o caminho de um aplicativo ou script malicioso (ex.: `.app` bundle com payload embutido, script shell mascarado como helper) à chave `TALAppsToRelaunchAtLogin` do plist. A modificação não é visível em "Preferências do Sistema > Geral > Itens de Login", pois este mecanismo opera em camada distinta. **Passo 3 - Execução persistente a cada login** No próximo login do usuário, o `loginwindow` do macOS lê o plist e reabre os aplicativos listados. O payload malicioso é executado no contexto do usuário, sem alertas de segurança adicionais do macOS (como Gatekeeper), caso o bundle já tenha sido executado anteriormente e quarentena removida. A persistência se mantém mesmo após reinicializações, enquanto o arquivo plist não for limpo. ## Detecção ```yaml title: macOS Loginwindow Plist Modified for Persistence id: 3c7a1d2e-5f8b-4e6a-a1c4-2b9d0f3e7c8a status: experimental description: > Detecta modificação do arquivo plist com.apple.loginwindow via linha de comando, possível indicador de abuso de T1547.007 para persistência em macOS. author: RunkIntel daté: 2026-03-25 tags: - attack.persistence - attack.t1547.007 logsource: category: process_creation product: macos detection: selection_defaults: Image|endswith: '/defaults' CommandLine|contains: - 'com.apple.loginwindow' - 'TALAppsToRelaunchAtLogin' selection_plistbuddy: Image|endswith: '/PlistBuddy' CommandLine|contains: - 'loginwindow' - 'ByHost' condition: selection_defaults or selection_plistbuddy falsepositives: - Scripts de gerenciamento corporativo (MDM/Jámf) que configuram itens de login - Automação legítima de TI level: medium ``` ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1042 | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature or Program]] | Desabilitar o recurso de reabertura automática de aplicativos via políticas MDM (ex.: Jámf), impedindo que o mecanismo sejá explorado para persistência. Configurar perfil de restrição que force `RestoreWindowState = false`. | | M1017 | [[m1017-user-training\|M1017 - User Training]] | Orientar usuários a não marcar "Reabrir jánelas ao fazer login novamente" como hábito, e a revisar periodicamente os itens de login e agentes de lançamento em `~/Library/LaunchAgents/`. | ## Referências *Fonte: [MITRE ATT&CK - T1547.007](https://attack.mitre.org/techniques/T1547/007)*