# T1083 - File and Directory Discovery
## Descrição
A descoberta de arquivos e diretórios é uma das primeiras atividades que um adversário realiza após obter acesso a um sistema comprometido. O objetivo é simples: entender o ambiente - quais dados existem, onde estão armazenados, quais são os arquivos de configuração, credenciais, documentos sensíveis ou bases de código que podem ser exfiltrados, corrompidos ou utilizados como vetor para movimento lateral. Trata-se de uma técnica de reconhecimento interno (*host discovery*) que informa todas as ações subsequentes do atacante.
Em sistemas Windows, os comandos mais utilizados incluem `dir`, `tree` e buscas via `where` ou `forfiles`. Em ambientes Linux e macOS, os equivalentes são `ls`, `find`, `locaté` e `tree`. Além de comandos nativos, ferramentas personalizadas e implants com funcionalidade de enumeração de sistema de arquivos utilizam a [[t1106-native-api|Native API]] do sistema operacional para listar diretórios de forma programática - geralmente de maneira mais silenciosa do que invocar binários de linha de comando. Em dispositivos de rede, a técnica se manifesta via [[t1059-008-network-device-cli|Network Device CLI]] com comandos como `dir`, `show flash` e `nvram`.
A T1083 raramente opera de forma isolada: os resultados da enumeração de arquivos alimentam diretamente técnicas de [[t1552-unsecured-credentials|busca por credenciais em texto plano]], [[t1005-data-from-local-system|coleta de dados do sistema local]] e decisões sobre quais alvos priorizar em [[t1074-data-staged|staging de dados para exfiltração]]. Grupos de ransomware utilizam a técnica para identificar extensões de arquivo relevantes antes de iniciar a criptografia, assegurando que documentos Office, bancos de dados, backups e chaves privadas sejam incluídos no escopo do ataque.
**Contexto Brasil/LATAM:** No Brasil, a técnica é especialmente relevante em incidentes envolvendo espionagem industrial e ataques a instituições financeiras. O [[g0082-apt38|APT38]], com histórico de ataques ao sistema bancário global incluindo instituições brasileiras, utiliza enumeração de sistemas de arquivos para localizar terminais SWIFT, logs de transações e arquivos de configuração de sistemas bancários. Grupos de ransomware que atuam no país - frequentemente afiliados de operações internacionais - buscam específicamente arquivos de backup (`.bak`, `.bkp`) e bases de dados (`.mdf`, `.sql`) para garantir que a extorsão sejá efetiva ao eliminar opções de recuperação.
## Attack Flow
```mermaid
graph TB
A["T1078<br/>Credenciais Válidas<br/>/ Acesso Inicial"] --> B["T1082<br/>System Info<br/>Discovery"]
B --> C["T1083<br/>File & Directory<br/>Discovery"]:::highlight
C --> D["T1005<br/>Data from<br/>Local System"]
C --> E["T1486<br/>Data Encrypted<br/>for Impact"]
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
1. **Preparação:** Após obter acesso ao sistema - sejá por comprometimento de credenciais, exploração de vulnerabilidade ou malware instalado - o adversário precisa entender o ambiente antes de agir. Scripts de reconhecimento são preparados ou executados diretamente via shell ou implant já presente na máquina.
2. **Execução:** O adversário utiliza utilitários nativos ou ferramentas customizadas para varrer o sistema de arquivos. Em Windows: `dir /s /b C:\Users\*password*`, `tree C:\ /F > C:\Temp\files.txt`, ou acesso direto via API Win32 (`FindFirstFile` / `FindNextFile`). Em Linux: `find / -name "*.conf" -readable 2>/dev/null`, `locaté id_rsa`. A enumeração frequentemente começa pelo perfil do usuário atual, depois expande para drives completos, compartilhamentos de rede e, quando há escalonamento de privilégios, diretórios de sistema.
3. **Pós-execução:** Os resultados são analisados - manualmente pelo operador ou via script automatizado - para identificar arquivos de interesse: credenciais (`credentials.xml`, `.env`, `web.config`), chaves SSH (`id_rsa`), backups, bases de dados, documentos financeiros e código-fonte. As informações coletadas direcionam [[t1005-data-from-local-system|coleta de dados]] e decisões sobre quais sistemas adicionais atacar na rede interna.
## Detecção
**Fontes de dados:**
- **Sysmon Event ID 1** - Process Creaté: comandos `dir /s`, `tree /F`, `find` ou `locaté` executados por processos não administrativos ou em horários incomuns
- **Windows Event Log 4663** - An attempt was made to access an object: acesso a diretórios sensíveis (`C:\Users\`, `C:\Windows\System32\config\`) por processos inesperados
- **Sysmon Event ID 11** - FileCreaté: scripts de saída de enumeração salvos em diretórios temporários
- **EDR Behavioral Analytics** - Padrão de acesso recursivo a múltiplos diretórios em curto período (>100 diretórios em <60 segundos) por um único processo
- **Auditoria de sistema de arquivos** - Em ambientes Linux, `auditd` com regras para monitorar chamadas `openat`/`getdents` em larga escala
**Sigma Rule:**
```yaml
title: Suspicious Recursive File Enumeration via Native Commands
id: 4a9c2e7b-1f3d-4b8a-9e6c-7d2f5b0a3c8d
status: experimental
description: Detects use of native file enumeration commands in patterns consistent with attacker reconnaissance
author: RunkIntel
daté: 2026/03/24
logsource:
category: process_creation
product: windows
detection:
selection_dir:
Image|endswith: '\cmd.exe'
CommandLine|contains:
- 'dir /s'
- 'dir /a'
- 'tree /F'
selection_where:
Image|endswith: '\where.exe'
CommandLine|contains:
- '/r C:\'
- '/r D:\'
selection_forfiles:
Image|endswith: '\forfiles.exe'
CommandLine|contains:
- '/p C:\'
- '/p D:\'
filter_admin_tools:
ParentImage|endswith:
- '\explorer.exe'
- '\cmd.exe'
User|contains: 'SYSTEM'
condition: (1 of selection_*) and not filter_admin_tools
falsepositives:
- Scripts de inventário de TI legítimos
- Ferramentas de backup e monitoramento
- Antivírus em modo de varredura
level: medium
tags:
- attack.discovery
- attack.t1083
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| Princípio do Menor Privilégio | Garantir que contas de usuário comum não tenham acesso de leitura a diretórios sensíveis (`C:\Windows\System32\config\`, diretórios de outros usuários, pastas de serviços críticos). Em ambientes Linux, revisar permissões de diretórios contendo arquivos de configuração e credenciais. |
| Auditoria de Acesso a Arquivos | Habilitar auditoria de acesso a objetos para diretórios sensíveis via GPO no Windows. No Linux, configurar `auditd` com regras específicas para acesso a `/etc/`, `/home/*/.ssh/` e diretórios de aplicação. |
| Segmentação de Dados | Armazenar dados sensíveis (backups, credenciais, bases de dados) em sistemas separados com controles de acesso adicionais. Dificultar a enumeração ao isolvar dados críticos em segmentos de rede distintos. |
| Detecção Comportamental | Configurar alertas em SIEM/EDR para padrões de enumeração massiva: processo único acessando >50 diretórios distintos em menos de 2 minutos, especialmente se o processo pai for um interpretador de scripts ou ferramenta de acesso remoto. |
| Honeypots de Arquivos | Criar arquivos "isca" com nomes atraentes (`passwords.xlsx`, `credentials.txt`, `backup_keys.zip`) em diretórios monitorados. Qualquer acesso a esses arquivos deve gerar alerta imediato - é IOC de alta confiança de atividade maliciosa. |
## Threat Actors
- [[g1017-volt-typhoon|Volt Typhoon]] - APT chinês que usa enumeração de arquivos como parte de reconhecimento *living off the land* em infraestrutura crítica, evitando ao máximo ferramentas de terceiros
- [[g1052-contagious-interview|Contagious Interview]] - operação do [[g0032-lazarus-group|Lazarus Group]] que enumera sistemas de desenvolvedores de software em busca de chaves SSH, tokens de API e código-fonte
- [[g1048-unc3886|UNC3886]] - grupo com nexo à China que opera em ambientes VMware ESXi, enumerando datastores e configurações de VM
- [[g0040-patchwork|Patchwork]] - APT do sul da Ásia que busca documentos governamentais e de defesa em sistemas Windows comprometidos
- [[g0054-sowbug|Sowbug]] - grupo de espionagem que foca em documentos diplomáticos e de política externa, usando enumeração direcionada por extensão de arquivo
- [[g0047-gamaredon|Gamaredon Group]] - APT russo com foco na Ucrânia, enumera sistemas em busca de documentos Word e planilhas para exfiltração
- [[g1051-medusa-ransomware|Medusa Group]] - operadores de ransomware que mapeiam o sistema de arquivos antes da criptografia para maximizar o impacto
- [[g0035-dragonfly|Dragonfly]] - grupo voltado a infraestrutura energética, enumera sistemas ICS/SCADA em busca de arquivos de configuração de PLCs
- [[g0082-apt38|APT38]] - braço financeiro do Lazarus, enumera sistemas bancários em busca de arquivos de configuração SWIFT e logs de transações
- [[g0007-apt28|APT28]] - Fancy Bear, usa enumeração de arquivos em campanhas de espionagem política e militar
## Software Associado
- [[s0069-blackcoffee|BLACKCOFFEE]] (malware) - backdoor APT17 com funcionalidade de listagem de arquivos e diretórios
- [[s0229-orz|Orz]] (malware) - implant com capacidade de enumeração do sistema de arquivos
- [[s0438-attor|Attor]] (malware) - plugin modular de espionagem com funcionalidade de varredura de disco
- [[s0136-usbstealer|USBStealer]] (malware) - malware que enumera drives USB conectados em busca de arquivos específicos
- [[s0461-sdbbot|SDBbot]] (malware) - RAT com módulo de discovery de arquivos
- [[s0599-kinsing|Kinsing]] (malware) - cryptominer Linux que enumera o sistema em busca de configurações de containers e credenciais de cloud
- [[s1025-amadey|Amadey]] (malware) - loader que realiza reconnaissance de sistema de arquivos antes de baixar payloads adicionais
- [[s1065-woody-rat|Woody RAT]] (malware) - RAT russo com módulo dedicado de file discovery
- [[s0013-plugx|PlugX]] (malware) - ferramenta modular APT com plugin de enumeração de sistema de arquivos
- [[g1024-akira|Akira]] (malware) - ransomware que enumera e filtra extensões de arquivo antes de criptografar
---
*Fonte: [MITRE ATT&CK - T1083](https://attack.mitre.org/techniques/T1083)*