# T1027.011 - Fileless Storage ## Técnica Pai Esta é uma sub-técnica de [[t1027-obfuscated-files|T1027 - T1027 - Obfuscated Files or Information]]. ## Descrição **Fileless Storage** (Armazenamento Sem Arquivo) é uma subtécnica de [[t1027-obfuscated-files-or-information|T1027 - Obfuscated Files or Information]] na qual adversários armazenam payloads, shellcode ou dados coletados em locais que não correspondem a arquivos convencionais no sistema de arquivos. O objetivo central é escapar das ferramentas de segurança que dependem de varreduras baseadas em disco - como antivírus tradicionais, EDRs com foco em hash de arquivos e soluções de monitoramento de integridade de arquivos (FIM). O conceito de "fileless" descreve qualquer formato de persistência ou staging que não cria artefatos diretos e facilmente inspecionáveis no sistema de arquivos convencional. Adversários utilizam essa técnica tanto para **persistência encoberta** (payloads que sobrevivem a reinicializações sem gerar arquivos em disco) quanto para **staging temporário** de dados antes da exfiltração, como no padrão [[t1074-001-local-data-staging|Local Data Staging]]. A técnica é considerada de **alta maturidade operacional** entre grupos APT avançados, pois representa uma evolução natural frente à consolidação de controles de endpoint modernos. Grupos como [[g0010-turla|Turla]] e [[g0050-apt32|APT32]] adotam fileless storage como componente-chave em operações de longa duração, onde a persistência discreta é prioritária. --- ## Como Funciona ### Mecanismos no Windows **1. Registro do Windows** O Registro é o mecanismo mais comum de fileless storage em Windows. Adversários armazenam payloads codificados (Base64, XOR, RC4) em chaves como: - `HKCU\Software\Microsoft\Windows\CurrentVersion\Run` - execução automática na inicialização do usuário - `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options` - sequestro de debuggers - Chaves arbitrárias fora dos caminhos de execução conhecidos, acessadas por stagers PowerShell ou WMI Um stager típico é um script PowerShell mínimo que, na inicialização, lê o payload do Registro, decodifica e injeta em memória via [[t1055-process-injection|Process Injection]]. **2. Repositório WMI (Windows Management Instrumentation)** O repositório WMI (`%SystemRoot%\System32\Wbem\Repository`) permite armazenar código em classes e instâncias WMI personalizadas. Adversários criam classes WMI com propriedades que contêm shellcode ou scripts. A execução pode ser acionada por **Event Subscriptions WMI** (combinação de `__EventFilter`, `__EventConsumer` e `__FilterToConsumerBinding`), garantindo persistência mesmo sem entradas no Registro ou tarefas agendadas visíveis. **3. Event Logs do Windows** Menos comum, mas documentado: adversários codificam shellcode como dados de eventos em logs do Windows (Application, Security, System). O payload é fragmentado em múltiplos eventos e um loader reconstrói o shellcode a partir dos logs via WinAPI (`OpenEventLog`, `ReadEventLog`). Essa abordagem é especialmente evasiva pois os logs são considerados repositórios de auditoria, não de execução. ### Mecanismos no Linux **Diretórios de memória compartilhada:** - `/dev/shm` - compartilhamento entre processos via memória compartilhada POSIX - `/run/shm`, `/var/run`, `/var/lock` - também mapeados em RAM Arquivos gravados nesses diretórios não são persistidos em disco - existem apenas enquanto o sistema está ligado. Adversários os utilizam para staging de payloads em ataques de curta duração ou como área de trabalho intermediária entre estágios de um ataque, escapando de soluções FIM que monitoram apenas o sistema de arquivos convencional. ### Ofuscação Adicional O dado armazenado quase sempre passa por ofuscação adicional: - **Codificação**: Base64, Hex, ROT13, combinações - **Criptografia**: XOR com chave hardcoded, AES/RC4 com chave derivada de informações do ambiente - **Fragmentação**: payload dividido em múltiplas chaves/valores/entradas para dificultar reconstrução manual --- ## Attack Flow ```mermaid graph TB A([Adversário obtém execução inicial]) --> B[Stager executado em memória<br/>ex: macro Office, exploit web] B --> C{Escolha do mecanismo\nde fileless storage} C --> D1[Registro do Windows<br/>HKCU/HKLM] C --> D2[Repositório WMI<br/>Classe personalizada] C --> D3[Event Log do Windows<br/>Shellcode nos eventos] C --> D4[Linux /dev/shm<br/>ou /var/run] D1 --> E1[Payload codificado<br/>gravado na chave] D2 --> E2[Classe WMI criada<br/>com Event Subscription] D3 --> E3[Shellcode fragmentado<br/>gravado como eventos] D4 --> E4[Arquivo temporário<br/>só em RAM] E1 --> F[Trigger de execução<br/>na inicialização ou evento] E2 --> F E3 --> F E4 --> F F --> G[Loader decodifica<br/>e injeta payload] G --> HProcess Injection\nem processo legítimo] H --> I([Execução furtiva<br/>sem artefato em disco]) I --> J{Uso do payload} J --> J1Persistência encoberta\nsobrevive reinicialização] J --> J2Staging de dados\npré-exfiltração] J --> J3[Download de<br/>próximo estágio] style A fill:#c0392b,color:#fff style I fill:#8e44ad,color:#fff style J1 fill:#2980b9,color:#fff style J2 fill:#2980b9,color:#fff style J3 fill:#2980b9,color:#fff ``` --- ## Exemplos de Uso ### Turla - PolyglotDuke e ComRAT O grupo [[g0010-turla|Turla]] (atribuído à inteligência russa FSB) é um dos maiores expoentes de fileless storage em operações de espionagem de longa duração. O malware [[s0518-polyglotduke|PolyglotDuke]] utiliza o Registro do Windows para armazenar configurações de C2 e chaves de criptografia entre estágios. O [[s0126-comrat|ComRAT]] (v4, também conhecido como Agent.BTZ) usa o sistema de arquivos virtual do próprio malware implementado sobre chaves de Registro, permitindo armazenar logs de keylogging, documentos exfiltrados e módulos adicionais sem criar arquivos convencionais. O Turla opera com persistência de meses a anos em redes governamentais europeias sem ser detectado. ### APT32 (OceanLotus) - Registry + WMI Persistence O grupo vietnamita [[g0050-apt32|APT32]] combina fileless storage com [[t1620-reflective-code-loading|Reflective Code Loading]] em campanhas direcionadas a entidades governamentais e corporações no Sudeste Asiático, incluindo alvos no Brasil relacionados a negócios com o Vietnã. O APT32 utiliza Event Subscriptions WMI para manter persistência de backdoors sem entradas no Registro de autorun - uma técnica que escapa de ferramentas como Autoruns da Sysinternals. ### DarkWatchman - Registro como Keylogger Storage O [[darkwatchman|DarkWatchman]] é um malware-as-a-service que armazena seu agente de keylogging inteiramente no Registro do Windows - sem nunca gravar em disco. O keylogger é implementado em JavaScript e reside em uma chave de Registro, sendo invocado via Windows Script Host (wscript.exe) agendado por uma tarefa criada sem binários adicionais. A técnica demonstra que fileless storage não está restrita a atores patrocinados por estados. ### QakBot - Event Log Shellcode O [[s0650-qakbot|QakBot]] (também conhecido como QBot) implementou em 2022 uma técnica documentada por pesquisadores da Kaspersky: armazenar shellcode criptografado em entradas do Event Log do Windows (canal Application), usando o ID de evento `0x4142` ("AB" em ASCII) como marcador. O shellcode era reconstituído e injetado em processos legítimos como `wermgr.exe` ou `AtBroker.exe`. Essa abordagem dificultou significativamente a detecção por EDRs que monitoravam apenas operações de arquivo e Registro. ### ShadowPad - WMI Repository O [[s0596-shadowpad|ShadowPad]] é uma plataforma modular de RAT utilizada por múltiplos grupos APT chineses. Sua arquitetura usa o repositório WMI para armazenar módulos adicionais que são carregados dinâmicamente. A persistência via WMI Event Subscriptions permite que o ShadowPad sobreviva a reinicializações sem deixar entradas nos locais de autorun convencionais monitorados por soluções de segurança. --- ## Detecção ### Estrategia Geral A detecção de fileless storage exige monitoramento de **operações em fontes não convencionais** - Registro, WMI e logs - em vez de varredura de arquivos. As ferramentas de detecção mais eficazes incluem: - **Sysmon** (eventos 12, 13, 14 para Registro; evento 19, 20, 21 para WMI) - **Windows Event Log** (IDs 4656, 4663 para acesso ao Registro; 5861 para WMI subscriptions) - **EDR com telemetria de Registro e WMI** (CrowdStrike, SentinelOne, Microsoft Defender for Endpoint) ### Regra Sigma - Gravação Suspeita em Registro por PowerShell ```yaml title: Fileless Payload Stored in Registry via PowerShell id: a3f1b2c4-d5e6-7890-abcd-ef1234567890 status: experimental description: > Detecta PowerShell gravando dados codificados em Base64 ou Hex em chaves de Registro fora dos caminhos de execução conhecidos - padrão de fileless storage. references: - https://attack.mitre.org/techniques/T1027/011/ - https://www.mandiant.com/resources/blog/fileless-malware-registry author: RunkIntel daté: 2026-03-25 tags: - attack.defense_evasion - attack.t1027.011 logsource: category: registry_set product: windows detection: selection_process: Image|endswith: - '\powershell.exe' - '\pwsh.exe' - '\wscript.exe' - '\cscript.exe' selection_registry: TargetObject|contains: - '\Software\Microsoft\Windows\CurrentVersion\Run' - '\Software\Microsoft\Windows NT\CurrentVersion' - '\Software\Classes\CLSID\' selection_content: Details|re: '^[A-Za-z0-9+/]{100,}={0,2} condition: selection_process and selection_registry and selection_content falsepositives: - Software legítimo que armazena configurações codificadas no Registro - Ferramentas de gerenciamento de configuração (Ansible, Chef, Puppet) level: high ``` ### Regra Sigma - WMI Event Subscription Criada ```yaml title: WMI Event Subscription Created - Fileless Persistence id: b4c5d6e7-f8a9-0123-bcde-f45678901234 status: stable description: > Detecta criação de WMI Event Subscriptions, mecanismo comum de persistência fileless. Qualquer nova subscription deve ser investigada. references: - https://attack.mitre.org/techniques/T1084/ - https://attack.mitre.org/techniques/T1027/011/ author: RunkIntel daté: 2026-03-25 tags: - attack.persistence - attack.defense_evasion - attack.t1027.011 logsource: product: windows service: sysmon detection: selection: EventID: - 19 - 20 - 21 filter_known_software: Consumer|contains: - 'SCM Event Log Consumer' - 'NTEventLogEventConsumer' condition: selection and not filter_known_software falsepositives: - Software de monitoramento legítimo que utiliza WMI subscriptions - Soluções SCCM/MECM da Microsoft level: high ``` --- ## Mitigação | ID | Mitigação | Descrição Detalhada | Eficácia | |----|-----------|---------------------|----------| | [[m1047-audit\|M1047 - Audit]] | Auditoria de Registro e WMI | Habilitar auditoria de acesso ao objeto no Registro (SACL) para chaves críticas de autorun. Habilitar log de WMI activity (`Microsoft-Windows-WMI-Activity/Operational`). Revisar subscriptions WMI periodicamente com: `Get-WMIObject -Namespace root\subscription -Class __EventFilter` | Alta | | M1054 - Software Configuration | Hardening de WMI | Restringir permissões no namespace WMI `root\subscription` para impedir que usuários não-privilegiados criem Event Subscriptions. Usar GPO para restringir acesso a `wmic.exe` e PowerShell WMI cmdlets | Média | | M1038 - Execution Prevention | AppLocker / WDAC | Implementar Windows Defender Application Control (WDAC) ou AppLocker para bloquear execução de scripts PowerShell/WScript que leem e executam dados do Registro | Alta | | M1045 - Code Signing | Assinatura de Scripts | Exigir que todos os scripts PowerShell sejam assinados (`Set-ExecutionPolicy AllSigned`), bloqueando stagers fileless não assinados | Média | | M1028 - Operating System Configuration | Proteger diretórios de memória Linux | Montar `/dev/shm` com `noexec,nosuid` para impedir execução direta de arquivos nesse diretório. Adicionar ao `/etc/fstab`: `tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0` | Alta (Linux) | --- ## Contexto Brasil/LATAM Fileless Storage representa uma ameaça crescente no contexto brasileiro, especialmente em campanhas direcionadas ao setor [[financial|financeiro]], [[government|governo]] e [[telecommunications|telecomúnicações]]. **Relevância para o Brasil:** O Brasil historicamente concentra altas taxas de infecção por bankers e RATs sofisticados - muitos deles adotando técnicas fileless para persistência. O ecossistema de malware bancário brasileiro evoluiu significativamente nos últimos anos, com famílias como **Grandoreiro**, **Mekotio** e **BRATA** incorporando persistência via Registro e WMI para escapar de antivírus locais. Em campanhas de ransomware que afetaram órgãos públicos brasileiros (STJ em 2020, Embraer em 2020, Porto de Santos em 2023), investigações forenses documentaram o uso de técnicas fileless durante a fase de persistência e movimento lateral - especialmente via [[s0650-qakbot|QakBot]] e [[s0154-cobalt-strike|Cobalt Strike]], que servem como precursores de ransomware e utilizam extensivamente o Registro para staging. **Cenário de Ameaça LATAM:** Grupos como [[g0050-apt32|APT32]] têm histórico de operações na América Latina em contextos de espionagem industrial e governamental. A infraestrutura reduzida de defesa cibernética em muitos países da região - combinada com altas taxas de uso de software não licenciado e sistemas sem atualização - cria um ambiente propício para campanhas que dependem de fileless storage para prolongar o tempo de permanência sem detecção. **Recomendações específicas para equipes brasileiras:** - Priorizar a implantação de Sysmon nas estações Windows - ferramenta gratuita que provê telemetria crítica para detecção de fileless storage - Integrar regras de WMI subscription monitoring em SIEMs locais (Wazuh, Splunk, Microsoft Sentinel) - Realizar auditorias trimestrais de WMI subscriptions e entradas de Registro em servidores críticos - Considerar a técnica no contexto de [[t1059-001-powershell|PowerShell]] abuse, que frequentemente serve como loader para payloads armazenados no Registro --- ## Referências - [MITRE ATT&CK - T1027.011: Fileless Storage](https://attack.mitre.org/techniques/T1027/011/) - [Kaspersky - QakBot Event Log Shellcode (2022)](https://securelist.com/qakbot-technical-analysis/107705/) - [Mandiant - Fileless Malware: A Holistic Approach](https://www.mandiant.com/resources/blog/fileless-malware-registry) - [Microsoft - Detecting Fileless Threats with Microsoft Defender](https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/fileless-threats) - [Huntress - WMI Persistence Deep Dive](https://www.huntress.com/blog/wmi-persistence-malware) - [Red Canary - Threat Detection Report: Fileless Techniques](https://redcanary.com/threat-detection-report/) *Fonte: [MITRE ATT&CK - T1027.011](https://attack.mitre.org/techniques/T1027/011)*