# T1036.006 - Space after Filename
## Descrição
**Space after Filename** é uma subtécnica de [[t1036-masquerading|T1036 - Masquerading]] na qual adversários adicionam um ou mais espaços ao final do nome de um arquivo para alterar como o sistema operacional processa e executa aquele arquivo. A técnica explora uma característica específica do macOS (e, em menor grau, do Linux) onde o tipo real do arquivo é determinado pelo SO com base na estrutura interna do arquivo (magic bytes), não pela extensão - desde que um espaço sejá adicionado ao final do nome.
O mecanismo é engenhosamente simples: no macOS, um arquivo nomeado `relatorio.pdf` é aberto pelo Preview.app (ou Adobe Reader). Se renomeado para `relatorio.txt`, é aberto pelo TextEdit. Porém, se nomeado `relatorio.txt ` (com espaço ao final), o macOS ignora a extensão aparente, inspeciona os magic bytes do arquivo, identifica que é um binário Mach-O e o **executa** diretamente - da mesma forma que executaria `relatorio.bin`. Para o usuário, o arquivo parece ser um PDF ou TXT inofensivo, mas ao ser clicado, executa um binário.
Esta técnica tem **alto potencial de engano em ataques de engenharia social**, pois:
1. O nome do arquivo exibido no Finder/explorador de arquivos parece ser um documento
2. O ícone pode ser substituído para imitar um PDF, Word ou imagem
3. O espaço ao final é práticamente invisível na maioria das interfaces gráficas
4. Antivírus que classificam ameaças pela extensão do arquivo são enganados
> **Técnica pai:** [[t1036-masquerading|T1036 - Masquerading]]
> **Tática:** [[_defense-evasion|Defense Evasion]]
> **Técnicas relacionadas:** [[t1204-002-malicious-file|T1204.002 - Malicious File]], [[t1036-001-invalid-code-signature|T1036.001]], [[t1553-001-gatekeeper-bypass|T1553.001 - Gatekeeper Bypass]]
---
## Como Funciona
### Mecanismo Técnico no macOS
O macOS usa um sistema de **Uniform Type Identifiers (UTIs)** e **Launch Services** para determinar qual aplicativo abre um arquivo. Normalmente, essa determinação leva em conta:
1. A extensão do arquivo (`.pdf`, `.txt`, `.app`)
2. Os magic bytes (primeiros bytes do conteúdo do arquivo)
3. Metadados de criador armazenados nos atributos estendidos
Quando um arquivo tem um espaço ao final do nome (`arquivo.txt `), o macOS não consegue mapear corretamente a extensão para um UTI, pois `txt ` (com espaço) não é uma extensão registrada. Neste caso, o sistema recorre à inspeção dos magic bytes. Se os bytes iniciais indicam um binário Mach-O (`\xcf\xfa\xed\xfe` para 64-bit), o Launch Services trata o arquivo como executável e o entrega ao Terminal.app ou o executa diretamente.
### Aplicabilidade em Linux
Em Linux, a técnica é menos automática - o comportamento depende do gerenciador de arquivos usado (Nautilus, Dolphin, Thunar) e de suas configurações. Alguns gerenciadores de arquivos do Linux seguem lógica similar ao macOS de inspecionar conteúdo ao invés de extensão quando há ambiguidade no nome do arquivo. Em ambientes de linha de comando, o espaço no nome do arquivo requer escape (`arquivo.txt\ `) e tem menor impacto de engano.
### Customização com Ícone
Para maximizar o engano, adversários frequentemente combinam esta técnica com substituição de ícone. No macOS, o ícone de um arquivo pode ser trocado via "Get Info" (Cmd+I) ou programaticamente. Um binário malicioso com nome `contrato_assinado.pdf ` e ícone de PDF tem altíssimo potencial de enganar usuários.
### Considerações sobre .app
A subtécnica **não funciona com extensão `.app`** no macOS. Pacotes `.app ` (com espaço) não são reconhecidos como bundles de aplicativo pelo sistema. A técnica se aplica principalmente a extensões de documentos comuns: `.pdf`, `.txt`, `.docx`, `.xlsx`, `.jpg`, `.png`.
---
## Attack Flow
```mermaid
graph TB
A["🎯 Preparação do Payload<br/>Binário Mach-O ou ELF malicioso<br/>compilado para o alvo"] --> B
B["🎭 Mascaramento<br/>Arquivo renomeado: evil.bin<br/>→ contrato_assinado.pdf ESPAÇO<br/>Ícone substituído por PDF/Word"] --> C
C["📧 Entrega<br/>Phishing via e-mail, Slack, Teams<br/>Download via watering hole<br/>Compartilhamento via nuvem (Drive, iCloud)"] --> D
D["👆 Execução pelo Usuário<br/>Usuário vê arquivo aparentemente inofensivo<br/>Clica duas vezes - espera abrir o documento"] --> E
E{"macOS identifica<br/>tipo real do arquivo"}
E -->|"Magic bytes = Mach-O<br/>Extensão ignorada com espaço"| F
E -->|"AV inspeciona extensão .pdf<br/>Não detecta binário"| F
F["⚡ Execução Silenciosa<br/>Terminal.app executa o binário<br/>Sem prompt de confirmação adicional<br/>Gatekeeper pode ser contornado"] --> G
G["🔐 Persistência<br/>LaunchAgent instalado<br/>Keychain acessado<br/>Backdoor estabelecido"] --> H
H["🌐 C2 / Próxima fase<br/>Beacon para C2<br/>Coleta de credenciais<br/>Movimentação lateral"]
style A fill:#8e44ad,color:#fff
style B fill:#e67e22,color:#fff
style C fill:#3498db,color:#fff
style D fill:#e74c3c,color:#fff
style F fill:#c0392b,color:#fff
style G fill:#8e44ad,color:#fff
style H fill:#2c3e50,color:#fff
```
---
## Exemplos de Uso
### APT38 - Operações de Roubo Financeiro
O [[g0082-apt38|APT38]], subgrupo do [[g0032-lazarus-group|Lazarus Group]] com foco em roubo financeiro a instituições bancárias, tem uso documentado de técnicas de mascaramento de arquivos em sistemas macOS. A técnica de espaço ao final do nome foi identificada como parte de operações de entrega de malware via phishing direcionado (spear phishing) contra funcionários de bancos e exchanges de criptomoedas. O APT38 tem histórico de operações contra o sistema SWIFT e alvos financeiros em múltiplos países, incluindo operações na América Latina.
### Keydnap - Backdoor macOS via Documento Falso
O malware [[keydnap|Keydnap]] é um dos casos mais documentados de uso desta técnica. Distribuído como anexo comprimido em campanhas de phishing, o arquivo dentro do ZIP aparece com nome de documento (`.txt ` ou `.jpg `) mas é na verdade um binário Mach-O. Ao ser clicado pelo usuário, o Terminal.app executa o binário que instala um backdoor capaz de roubar senhas do Keychain do macOS. O Keydnap foi atribuído ao [[g0032-lazarus-group|Lazarus Group]] e observado principalmente em 2016, mas variantes modernas utilizam abordagem similar.
### Campanha OSX.Bundlore e Variantes
Instaladores de adware macOS frequentemente usam técnicas de mascaramento similares. O [[s0482-bundlore|Bundlore]] e variantes de adware/malware macOS entregam binários disfarçados como instaladores de software legítimo, frequentemente usando nomes que imitam documentos ou ferramentas esperadas. Embora não usem exclusivamente espaço após o nome, a família de técnicas de mascaramento em macOS é central para sua operação.
### Cenário de Ataque Real - Contabilidade Empresarial
Um vetor frequente observado em incidentes reais: o adversário envia e-mail com um arquivo ZIP anexado nomeado "boleto_fevereiro_2026.zip". Dentro do ZIP há um arquivo chamado "boleto_fevereiro_2026.pdf " (com espaço). O usuário, esperando um PDF, clica duas vezes - o macOS identifica o binário e o executa. Este vetor é particularmente efetivo contra profissionais de contabilidade e financeiros no Brasil, que frequentemente recebem boletos e documentos fiscais por e-mail.
---
## Detecção
### Estrategia Geral
A detecção é desafiadora porque o espaço ao final do nome é visualmente imperceptível na maioria das interfaces. As melhores estrategias incluem:
- **Auditoria de nomes de arquivo com trailing spaces** ao receber arquivos via e-mail, downloads ou compartilhamento
- **Monitoramento de abertura de arquivos pelo Terminal.app** quando o usuário esperaria que um visualizador de documentos fosse aberto
- **Análise de anexos de e-mail** por gateways de segurança que inspecionam magic bytes além da extensão
- **EDR com monitoramento de processo de criação** para detectar Terminal.app sendo lançado a partir de um clique duplo em arquivo "de documento"
### Regra Sigma - macOS (Arquivo com Espaço ao Final Executado via Terminal)
```yaml
title: macOS File with Trailing Space Executed via Terminal
id: e1g7h665-2c58-8f6g-3h45-j9g2i1e67fg5
status: experimental
description: Detecta execução via Terminal.app de arquivos cujo nome termina com
espaço - indicativo de T1036.006 Space after Filename
references:
- https://attack.mitre.org/techniques/T1036/006/
- https://objective-see.org/blog/blog_0x4E.html
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1036.006
- attack.t1204.002
logsource:
category: process_creation
product: macos
detection:
selection:
ParentImage|endswith:
- '/Terminal'
- '/iTerm2'
Image|endswith: ' '
condition: selection
falsepositives:
- Muito raros - nomes de arquivo com espaço ao final são altamente incomuns em uso legítimo
level: high
```
### Regra Sigma - Detecção via Hash de Arquivo Recebido
```yaml
title: Email Attachment with Trailing Space in Filename
id: f2h8i776-3d69-9g7h-4i56-k0h3j2f78gh6
status: experimental
description: Detecta arquivos anexados por e-mail ou downloads com espaço
ao final do nome - padrão de mascaramento T1036.006
references:
- https://attack.mitre.org/techniques/T1036/006/
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1036.006
logsource:
category: file_event
product: macos
detection:
selection:
TargetFilename|re: '.*\s+