# T1564.009 - Resource Forking > [!danger] Técnica de Evasão - macOS > Adversários abusam de **resource forks** do sistema de arquivos HFS+ do macOS para esconder payloads maliciosos dentro de arquivos aparentemente legítimos, contornando inspeção superficial de segurança. ## Descrição **Resource Forking** é uma sub-técnica de [[t1564-hide-artifacts|T1564 - Hide Artifacts]] que explora uma característica histórica do sistema de arquivos HFS+ (Hierarchical File System Plus) do macOS: a capacidade de armazenar dados em múltiplos "forks" (ramificações) dentro de um único arquivo. Historicamente, o macOS usava dois tipos de fork em cada arquivo: - **Data Fork** - conteúdo principal visível ao usuário - **Resource Fork** - metadados estruturados (ícones, menus, código de recursos, configurações) Embora os resource forks tenham sido **depreciados** pela Apple com a introdução dos application bundles (`.app`), o sistema de arquivos ainda os suporta. Adversários exploram essa herança para esconder código executável, payloads cifrados ou scripts maliciosos no resource fork de arquivos comuns - arquivos que passam em inspeções de segurança baseadas apenas no data fork. O acesso a resource forks é possível através do sufixo especial `/..namedfork/rsrc` (acesso por caminho) ou via APIs do macOS como `FSOpenResourceFile()`. Um adversário pode: 1. Escrever um payload binário no resource fork de um arquivo benigno (ex: `.jpg`, `.pdf`, `.txt`) 2. O data fork permanece intacto - o arquivo parece legítimo para ferramentas AV e EDR 3. O payload é lido do resource fork em tempo de execução e executado via `cp` ou API de sistema Os **extended attributes** (xattrs) do macOS são um mecanismo relacionado. A suite do Finder usa o atributo `com.apple.FinderInfo` para armazenar informações de exibição. Adversários podem abusar também de outros xattrs para esconder dados adicionais, complementando o resource fork como canal de evasão. **Relação com outros controles de evasão:** - Combina com [[t1027-obfuscated-files-or-information|T1027 - Obfuscated Files]] para cifrar o payload no fork - Frequentemente precede [[t1059-004-unix-shell|T1059.004 - Unix Shell]] para execução - Pode ser combinado com [[t1564-001-hidden-files-and-directories|T1564.001]] para ocultar ainda mais o artefato ## Como Funciona ### Mecanismo técnico No macOS com sistema de arquivos HFS+/APFS, cada arquivo pode ter múltiplos "named forks". O resource fork é acessível por dois métodos: **1. Via caminho especial (shell):** ``` /caminho/para/arquivo/..namedfork/rsrc ``` **2. Via xattr:** ```bash # Listar extended attributes (inclui resource fork) xattr -l arquivo.jpg ls -l@ arquivo.jpg # Resource fork aparece como: com.apple.ResourceFork ``` **Fluxo de ataque típico:** 1. **Preparação**: O adversário cria ou modifica um arquivo com aparência benigna 2. **Injeção**: O payload (script, shellcode, executável Mach-O) é escrito no resource fork 3. **Transporte**: O arquivo é entregue via phishing, download drive-by ou supply chain 4. **Execução**: Um dropper ou script de inicialização lê o resource fork e copia o conteúdo para um local executável 5. **Limpeza**: O resource fork é apagado após extração para eliminar evidências **Exemplo de leitura de resource fork:** ```bash # Copiar resource fork para executável cp arquivo.jpg/..namedfork/rsrc /tmp/.payload chmod +x /tmp/.payload /tmp/.payload ``` ### Características de evasão | Característica | Impacto na Detecção | |---------------|---------------------| | Invisível para `ls` padrão | AV baseado em varredura de arquivo ignora | | Parece arquivo benigno | Sandboxes analisam apenas data fork | | Pode ser cifrado | Reduz detecção por assinatura | | Removível após uso | Dificulta análise forense | | Suportado por HFS+ e APFS | Presente em todos os macOS modernos | ## Attack Flow ```mermaid graph TB A([Adversário prepara payload]) --> B[Escreve payload cifrado<br/>no resource fork do arquivo] B --> C[Arquivo com aparência benigna<br/>.jpg .pdf .doc com fork malicioso] C --> D{Vetor de entrega} D -->|Phishing| E[Usuário baixa arquivo<br/>de e-mail ou web] D -->|Supply Chain| F[Arquivo inserido em<br/>pacote de software legítimo] D -->|Drive-by Download| G[Download automático<br/>via browser exploit] E --> H[Arquivo armazenado<br/>no sistema alvo] F --> H G --> H H --> I{Ferramenta de segurança\ninspeciona o arquivo} I -->|AV / EDR superficial| J[Apenas data fork analisado<br/>Arquivo classificado como benigno ✓] I -->|Inspeção profunda| K[Resource fork detectado ✗] J --> L[Dropper ou LaunchAgent acessa<br/>resource fork via /..namedfork/rsrc] L --> M[Payload copiado para<br/>diretório executável /tmp ou ~/Library] M --> N[Payload executado<br/>shellcode / Mach-O / script] N --> O[Limpeza: resource fork<br/>apagado com xattr -d] N --> P([Comprometimento estabelecido<br/>Persistência / C2]) style A fill:#8B0000,color:#fff style P fill:#8B0000,color:#fff style J fill:#2d5a27,color:#fff style K fill:#8B0000,color:#fff style N fill:#b8860b,color:#fff ``` ## Exemplos de Uso ### Keydnap (macOS Backdoor) [[keydnap|Keydnap]] é um backdoor macOS documentado pela ESET que utilizou resource forks como vetor de ocultação. A amostra foi distribuída via arquivos `.zip` contendo um item com aparência benigna. O componente malicioso era armazenado no resource fork e extraído na execução inicial. O Keydnap estabelecia persistência via [[t1543-001-launch-agent|LaunchAgent]] após a extração, copiando o payload do resource fork para `~/Library/Application Support/`. **Relevância:** Demonstrou que atores com recursos moderados podem usar técnicas de evasão baseadas em características do sistema de arquivos macOS, sem necessitar de exploits de kernel. ### OSX/Shlayer [[Shlayer]] é um dos trojans macOS mais prevalentes, documentado por Kaspersky, Carbon Black e outros. Algumas variantes usaram resource forks e extended attributes para esconder scripts de segundo estágio dentro de instaladores DMG aparentemente legítimos para software popular (Flash Player, atualizações de codec). O payload principal residia no data fork enquanto o script de evasão de Gatekeeper ficava oculto no resource fork ou em xattrs. **TTPs associados:** - [[t1553-macOS-Gatekeeper-bypass|Gatekeeper Bypass]] para contornar verificação de assinatura - [[t1059-004-unix-shell|T1059.004 - Unix Shell]] para execução do payload extraído - [[t1543-001-launch-agent|T1543.001 - Launch Agent]] para persistência ### APT relevância geral Grupos com histórico de operações macOS como [[g0032-lazarus-group|Lazarus Group]] (DPRK) e atores de espionagem visando ambientes corporativos Apple têm incentivo para dominar técnicas de evasão específicas da plataforma. O resource forking representa uma técnica de nicho de alto valor em ambientes com predominância de macOS (empresas de tecnologia, mídia, design). ## Detecção ### Estrategia de Monitoramento A detecção eficaz requer inspeção além do data fork padrão. As principais fontes de dados são: - **File Metadata** - monitorar criação/modificação de arquivos com resource forks populados - **Process Monitoring** - detectar processos lendo paths `..namedfork/rsrc` - **Command Execution** - capturar uso de `xattr`, `ls -@`, `cp` com source em resource fork ### Regra Sigma - Detecção de Acesso a Resource Fork ```yaml title: macOS Resource Fork Access Detected id: a7c3d9e1-4f82-4b6e-9c0d-1e5f7a2b8d4c status: experimental description: > Detecta leitura ou execução de conteúdo via resource fork do macOS (..namedfork/rsrc). Técnica T1564.009 - adversários escondem payloads no resource fork de arquivos benignos. author: RunkIntel daté: 2026-03-25 references: - https://attack.mitre.org/techniques/T1564/009/ - https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ logsource: category: process_creation product: macos detection: selection_rsrc: CommandLine|contains: - '..namedfork/rsrc' - '/rsrc' selection_xattr: Image|endswith: - '/xattr' - '/cp' CommandLine|contains: - 'com.apple.ResourceFork' - 'ResourceFork' condition: selection_rsrc or selection_xattr falsepositives: - Ferramentas legítimas de backup e migração de dados HFS+ - Scripts de administração de sistema que inspecionam metadados - Developer tools testando compatibilidade HFS+ level: high tags: - attack.defense_evasion - attack.t1564.009 ``` ### Regra Sigma - Criação de Arquivo com Resource Fork Suspeito ```yaml title: Suspicious Resource Fork Write via xattr id: b9d2e5f7-3a14-4c8b-a6e9-2f1d8b5c7e3a status: experimental description: > Detecta escrita de dados em resource fork via xattr em contexto suspeito. Escritas em /tmp, ~/Downloads, ou diretórios de staging são indicadores de alto risco. author: RunkIntel daté: 2026-03-25 logsource: category: process_creation product: macos detection: selection: Image|endswith: '/xattr' CommandLine|contains: - '-w' - 'com.apple.ResourceFork' CommandLine|contains: - '/tmp/' - '/var/folders/' - 'Downloads' condition: selection falsepositives: - Administradores de sistema manipulando metadados deliberadamente level: medium tags: - attack.defense_evasion - attack.t1564.009 ``` ### Consultas de Hunting **macOS Unified Log (Endpoint Security Framework):** ``` // Processos acessando resource forks ES_EVENT_TYPE_NOTIFY_OPEN onde path contém "..namedfork" // xattr write em diretórios temporários ES_EVENT_TYPE_NOTIFY_SETEXTATTR onde path_prefix in ["/tmp", "/var/folders"] E xattr_name = "com.apple.ResourceFork" ``` ## Mitigação | ID | Mitigação | Descrição | Efetividade | |---|-----------|-----------|-------------| | [[m1013-application-developer-guidance\|M1013]] | Application Developer Guidance | Orientar devs a não usar resource forks em aplicações novas; bloquear em políticas de MDM | Alta | | MDM / PPPC | Privacy Preferences Policy Control | Configurar perfis MDM (Jámf, Mosyle) para restringir escrita em extended attributes por aplicações não assinadas | Média-Alta | | EDR macOS | Monitoramento de Endpoint | Soluções como CrowdStrike Falcon, SentinelOne ou Jámf Protect podem monitorar acesso a resource forks em tempo real | Alta | | Gatekeeper Strictness | Notarization + Hardened Runtime | Garantir que apenas aplicações notarizadas pela Apple sejam executadas - dificulta dropper inicial | Média | ### Recomendações Práticas > [!tip] Para Equipes de Segurança macOS > 1. Habilitar **Endpoint Security Framework** (ESF) para visibilidade de eventos de arquivo > 2. Configurar **Jámf Protect** ou equivalente com regras para `..namedfork/rsrc` > 3. Auditar periodicamente arquivos com resource forks via `find / -xattr com.apple.ResourceFork` > 4. Considerar migração total para APFS com políticas que não suportam resource forks legados ## Contexto Brasil/LATAM > [!info] Relevância Regional > Embora T1564.009 sejá uma técnica de nicho específica para macOS, sua relevância no Brasil cresce à medida que empresas do setor **financeiro**, **tecnologia** e **mídia** expandem o uso de dispositivos Apple em ambientes corporativos. **Tendências observadas:** - **Setor Financeiro Brasileiro**: Grandes bancos e fintechs brasileiras têm adotado macOS em larga escala para equipes de desenvolvimento e executivos. Ataques direcionados a esse perfil têm valor elevado. - **Agências e Startups de Tecnologia**: São Paulo e outros hubs tecnológicos brasileiros têm alta densidade de usuários macOS - ambiente propício para campanhas de spear-phishing distribuindo arquivos com resource forks maliciosos. - **Campanhas de Spyware Mercenário**: Operadores de [[pegasus-spyware|Pegasus]] e ferramentas similares têm histórico de abuso de características específicas do macOS para evasão em alvos de alto valor em toda a América Latina. **Atores com histórico de operações macOS na LATAM:** - Grupos de espionagem financeira com foco em bancos brasileiros - Operadores de RATs móveis que migraram para macOS (expansão de superfície) - Campanhas de macOS adware/trojan como [[Shlayer]] com distribuição global incluindo Brasil **Setores de risco elevado no Brasil:** - [[_sectors|Setor Financeiro]] - maior adoção corporativa de Mac - Setor de Mídia e Entretenimento - Empresas de Tecnologia e SaaS ## Referências - [MITRE ATT&CK - T1564.009](https://attack.mitre.org/techniques/T1564/009/) - [ESET - Keydnap: New macOS Backdoor](https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/) - [Carbon Black - OSX.Shlayer Analysis](https://www.carbonblack.com/blog/cb-tau-threat-intelligence-notification-osx-shlayer-new-mac-malware-spreads-via-fake-adobe-flash-updates/) - [Apple Developer - Resource Fork](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFileSystem/Articles/FileForks.html) - [Objective-See - macOS Malware Tradecraft](https://objective-see.org/) - [[t1564-hide-artifacts|T1564 - Hide Artifacts]] (técnica pai) - [[m1013-application-developer-guidance|M1013 - Application Developer Guidance]] - [[keydnap|Keydnap]] - malware que utilizou esta técnica - [[Shlayer]] - trojan macOS com uso de resource fork --- *Fonte: [MITRE ATT&CK - T1564.009](https://attack.mitre.org/techniques/T1564/009)*