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