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