# DC0022 - File Access > [!info] Monitora operações de leitura em arquivos existentes sem modificá-los. Essencial para detectar coleta de credenciais (SAM, NTDS.dit), acesso a dados sensíveis e reconhecimento por enumeração de arquivos. ## Descrição File Access monitora operações de leitura e acesso a arquivos existentes, capturando qual processo leu quais arquivos e quando. Diferente de File Creation e File Modification, foca em operações de leitura que não alteram o arquivo. É essencial para detectar coleta de dados sensíveis (credenciais, documentos confidenciais), acesso a arquivos de configuração de segurança, leitura de bases de dados de senhas do sistema (SAM, NTDS.dit, /etc/shadow) e operações de reconhecimento por enumeração de arquivos. ## Fonte de Dados Parent: [[ds0022-file|DS0022 - File]] ## Pipeline de Detecção ```mermaid graph TB A["📂 Event ID 4663<br/>Objeto Acessado"] --> B["🗂️ Arquivo Alvo<br/>Identificado"] B --> C{"🎯 Arquivo<br/>Crítico?"} C -->|SAM / NTDS.dit| D["🚨 Alerta P1<br/>Credential Dumping"] C -->|shadow / passwd| E["🚨 Alerta P1<br/>Linux Creds Acesso"] C -->|Documento Sensível| F{"🔢 Volume de<br/>Acesso?"} F -->|Alto Volume| G["🚨 Alerta P2<br/>Possível Exfiltração"] F -->|Normal| H["✔️ Acesso<br/>Legítimo"] classDef p1 fill:#e74c3c,color:#ecf0f1 classDef p2 fill:#e67e22,color:#ecf0f1 classDef ok fill:#2ecc71,color:#2c3e50 classDef proc fill:#2c3e50,color:#ecf0f1 class D,E p1 class G p2 class H ok class A,B,C,F proc ``` ## O Que Monitorar - Windows Event ID 4663 (Objeto acessado) com SACL configurado nos arquivos alvo - Acesso ao arquivo SAM: `C:\Windows\System32\config\SAM` - Acesso ao arquivo NTDS.dit em Domain Controllers - Leitura de arquivos de credenciais: `unattend.xml`, `web.config`, `.env`, `id_rsa` - Acesso em massa a documentos sensíveis por processo incomum - Leitura de arquivos de histórico de terminal (`.bash_history`, `ConsoleHost_history.txt`) - Acesso a arquivos de configuração de aplicações com senhas (ex: `wp-config.php`) ## Técnicas Detectadas | Técnica | ID | Como Detectar | |---------|-----|---------------| | Data from Local System | [[t1005-data-from-local-system\|T1005]] | Acesso em massa a documentos por processo incomum | | OS Credential Dumping | [[t1003-os-credential-dumping\|T1003]] | Acesso a SAM, NTDS.dit, /etc/shadow | | File and Directory Discovery | [[t1083-file-and-directory-discovery\|T1083]] | Enumeração sistemática de diretórios e arquivos | | Unsecured Credentials | [[t1552-unsecured-credentials\|T1552]] | Leitura de arquivos de config com senhas em texto claro | ## Implementação **Windows - configurar SACL em arquivos críticos:** ```powershell # Adicionar auditoria de leitura ao arquivo SAM $acl = Get-Acl "C:\Windows\System32\config\SAM" $audit = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone","ReadData","Success") $acl.AddAuditRule($audit) Set-Acl "C:\Windows\System32\config\SAM" $acl ``` **Linux - monitorar via auditd:** ``` -w /etc/shadow -p r -k credential_access -w /etc/passwd -p r -k credential_access ``` **FIM para arquivos sensíveis:** Configurar alertas de acesso (não apenas modificação) para arquivos de credenciais críticos. **Ferramentas:** Wazuh FIM, Tripwire, Qualys, Microsoft Defender for Endpoint, CrowdStrike Falcon, auditd. ## Consultas KQL — Microsoft Sentinel / Defender ### Acesso a Arquivos de Credenciais do Sistema ```kql // DC0022 - Acesso a SAM, NTDS.dit e arquivos de credenciais críticos DeviceFileEvents | where Timestamp > ago(1d) | where ActionType == "FileRead" | where ( FolderPath has @"C:\Windows\System32\config\" and FileName in~ ("SAM", "SYSTEM", "SECURITY") ) or FileName =~ "ntds.dit" or FileName in~ ("unattend.xml", "Unattend.xml", "sysprep.inf") | where InitiatingProcessFileName !in~ ( "lsass.exe", "smss.exe", "wininit.exe", "svchost.exe", "services.exe" ) | project Timestamp, DeviceName, FileName, FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine, InitiatingProcessAccountName, SHA256 | order by Timestamp desc ``` ### Acesso em Massa a Documentos - Possível Coleta/Exfiltração ```kql // DC0022 - Alto volume de acesso a arquivos de escritório em curto período DeviceFileEvents | where Timestamp > ago(1d) | where ActionType == "FileRead" | where FileName has_any (".docx", ".xlsx", ".pdf", ".pptx", ".doc", ".xls") | where InitiatingProcessFileName !in~ ( "winword.exe", "excel.exe", "acrobat.exe", "acrord32.exe", "OUTLOOK.EXE", "WINWORD.EXE" ) | summarize files_accessed = count(), unique_folders = dcount(FolderPath), file_list = make_set(FileName, 20) by DeviceName, InitiatingProcessFileName, InitiatingProcessAccountName, bin(Timestamp, 15m) | where files_accessed > 50 or unique_folders > 10 | order by files_accessed desc ``` ## Contexto LATAM > [!latam] Relevância Regional > **Acesso a credenciais e documentos sensíveis é etapa central de ataques a organizações brasileiras.** O NTDS.dit — banco de dados do Active Directory — é alvo prioritário em ataques a empresas de médio porte no Brasil, onde um único DC centraliza autenticação de toda a organização. Grupos de ransomware documentados em ataques ao Brasil (2024-2025) realizam dump do NTDS.dit como rotina antes do deployment do payload para garantir persistência pós-recovery. No setor bancário brasileiro, o acesso a arquivos de configuração de aplicações web (`web.config`, `.env`) é vetor de comprometimento de chaves de API e credenciais de banco de dados. O **Wazuh** — solução open-source popular em SOCs brasileiros — oferece FIM (File Integrity Monitoring) capaz de detectar esses acessos sem custo de licença. ## Referências - [MITRE ATT&CK - DS0022 File](https://attack.mitre.org/datasources/DS0022/) - [Windows File Auditing - Microsoft](https://learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4663) - [Wazuh FIM Documentation](https://documentation.wazuh.com/current/user-manual/capabilities/file-integrity/index.html) - [NTDS.dit Extraction - CERT.br](https://www.cert.br/)