# T1006 - Direct Volume Access
## Descrição
**T1006 - Direct Volume Access** descreve a capacidade de adversários lerem e escreverem diretamente em volumes de disco bruto (*raw disk volumes*), contornando completamente os controles de acesso ao sistema de arquivos do sistema operacional e as ferramentas de monitoramento de arquivos baseadas em API do Windows.
O Windows expõe volumes lógicos como objetos do kernel (por exemplo, `\\.\C:`, `\\.\PhysicalDrive0`) que podem ser abertos com `CreateFile()` usando privilégios administrativos. Ao operar nesse nível, o adversário lê estruturas brutas do sistema de arquivos NTFS - como a MFT (Master File Table), registros de bitmap e data streams - sem passar pelo gerenciador de I/O normal do Windows. Isso significa que:
- Arquivos **bloqueados pelo sistema operacional** (como `SAM`, `NTDS.dit`, `SYSTEM`, `SECURITY`) podem ser lidos sem volume shadow copies
- Ferramentas de EDR e antivírus baseadas em **file system minifilters** não interceptam operações de baixo nível realizadas diretamente sobre o volume
- Logs de acesso a arquivos no **Security Event Log** (Event ID 4663) não são gerados para acessos via volume bruto
Esta técnica é particularmente perigosa quando combinada com [[t1003-os-credential-dumping|Credential Dumping (T1003)]], pois permite extrair hives de registro críticos - como `SAM` e `NTDS.dit` - que contêm hashes de senhas de contas locais e do Active Directory sem disparar alertas convencionais.
> **Tática principal:** Defense Evasion
> **Técnicas relacionadas:** [[t1003-os-credential-dumping|T1003 - OS Credential Dumping]], [[t1059-001-powershell|T1059.001 - PowerShell]], [[t1055-process-injection|T1055 - Process Injection]]
---
## Como Funciona
### Mecanismo Técnico
O Windows fornece dois caminhos para acesso a volume:
1. **Via API Win32 (normal):** `CreateFile("C:\Windows\System32\config\SAM")` → passa pelo kernel I/O Manager → interceptável por minifilters de EDR
2. **Via volume bruto (T1006):** `CreateFile("\\.\C:")` → abre o volume diretamente → lê setores NTFS sem passar por minifilters
Para extrair arquivos bloqueados, o adversário:
1. Abre o volume com `CreateFile` e flag `GENERIC_READ` (requer privilégio `SeBackupPrivilege` ou acesso administrativo)
2. Lê a **MFT (Master File Table)** para localizar o número do inode do arquivo alvo
3. Percorre os **data runs** do arquivo na MFT para identificar quais clusters físicos contêm os dados
4. Lê os clusters diretamente com `ReadFile` usando offsets calculados pela lógica de parsing NTFS
5. Reconstrói o arquivo em memória ou em disco em um caminho controlado pelo atacante
### Ferramentas Conhecidas
| Ferramenta | Tipo | Método |
|------------|------|--------|
| [[ninjacopy\|NinjaCopy]] | PowerShell | Parse NTFS via volume bruto para copiar arquivos bloqueados |
| [[s0404-esentutl\|esentutl]] | Nativa Windows | Extrai arquivos de banco de dados NTDS.dit via operações VSS/raw |
| `vssadmin` | Nativa Windows | Cria shadow copies para acessar versões bloqueadas |
| `wbadmin` | Nativa Windows | Backup de volumes - pode ser abusado para extrair NTDS.dit |
| Impacket `secretsdump` | Python | Usa técnicas de volume access remoto para dump de credenciais |
---
## Attack Flow
```mermaid
graph TB
A([Adversário com Acesso Administrativo]) --> B[Enumera Volumes Disponíveis<br/>\\.\C: \\.\PhysicalDrive0]
B --> C{Alvo}
C --> D[Hives de Registro<br/>SAM / SYSTEM / SECURITY]
C --> E[Active Directory<br/>NTDS.dit]
C --> F[Arquivos de Banco de Dados<br/>VSS / Exchange / SQL]
D --> G[Abre Volume Bruto<br/>CreateFile com GENERIC_READ]
E --> G
F --> G
G --> H[Lê Master File Table<br/>Localiza inode do arquivo alvo]
H --> I[Parse de Data Runs NTFS<br/>Calcula offsets físicos]
I --> J[ReadFile em Clusters Brutos<br/>Reconstrói arquivo em memória]
J --> K[Exfiltra Arquivo Extraído<br/>Sem alertas de acesso a arquivo]
K --> L([Credential Dumping / Persistência<br/>T1003 - T1098])
style A fill:#c0392b,color:#fff
style K fill:#e74c3c,color:#fff
style L fill:#922b21,color:#fff
style G fill:#f39c12,color:#000
style J fill:#f39c12,color:#000
```
---
## Exemplos de Uso
### Volt Typhoon - Extração Silenciosa de NTDS.dit
O grupo chinês [[g1017-volt-typhoon|Volt Typhoon]], ativo em infraestruturas críticas dos EUA e parceiros FVEY, utiliza acesso direto a volumes como parte de sua estratégia de *living-off-the-land* (LotL). Em vez de ferramentas de terceiros facilmente detectáveis, o grupo abusa de `esentutl` e `ntdsutil` com flags que acionam leituras de baixo nível, extraindo o `NTDS.dit` de controladores de domínio sem disparar alertas de EDR baseados em file access. A técnica é particularmente eficaz em ambientes onde soluções de EDR monitoram chamadas Win32 mas não operações de kernel diretas.
### Scattered Spider - Exfiltração de Hives SAM em Ataques de Engenharia Social
O grupo [[g1015-scattered-spider|Scattered Spider]] (UNC3944), responsável por ataques de alto perfil como os comprometimentos da MGM Resorts e Caesars Entertainment em 2023, combina engenharia social para obter acesso inicial com ferramentas de acesso direto a volumes para extrair credenciais locais de sistemas Windows comprometidos. Ao usar `NinjaCopy` ou variantes, o grupo lê os hives `SAM` e `SYSTEM` sem que as soluções de segurança detectem a leitura - os arquivos permanecem "bloqueados" para APIs normais mas não para acesso via volume bruto.
### Operações de Ransomware - Destruição de Shadow Copies
Grupos de ransomware como [[lockbit|LockBit]] e [[blackcat|ALPHV]] utilizam acesso direto a volumes de forma destrutiva: antes de criptografar dados, apagam shadow copies acessando e corrompendo estruturas de metadados VSS diretamente no volume, impedindo recuperação pós-ataque sem necessitar invocar `vssadmin delete shadows` (comando altamente monitorado).
---
## Detecção
### Eventos Windows Relevantes
| Event ID | Fonte | Descrição |
|----------|-------|-----------|
| 4656 | Security | Handle para objeto solicitado - procurar acessos a `\\.\C:`, `\\.\PhysicalDrive*` |
| 4663 | Security | Acesso a objeto - I/O direta em volumes |
| 7045 | System | Novo serviço instalado - ferramentas como NinjaCopy instalam drivers temporários |
| Sysmon EID 9 | Sysmon | RawAccessRead - leitura de volume bruto (requer Sysmon config) |
> **Sysmon Event ID 9 (RawAccessRead)** é o detector mais eficaz: captura específicamente operações `ReadFile` em handles de `\Device\HarddiskVolume*` sem passar por minifilters.
### Regra Sigma - Detecção de RawAccessRead
```yaml
title: Raw Volume Access - Possible Credential File Extraction
id: a7b3c9f1-2d4e-4a8b-9c6d-1e5f7a2b3c4d
status: experimental
description: >
Detecta leituras de volume bruto (RawAccessRead) que podem indicar
extração de arquivos bloqueados como SAM, NTDS.dit ou hives de registro
para credential dumping via Direct Volume Access (T1006).
references:
- https://attack.mitre.org/techniques/T1006/
- https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1006
- attack.credential_access
- attack.t1003
logsource:
product: windows
category: raw_access_read
# Requer Sysmon instalado com RawAccessRead habilitado
detection:
selection:
EventID: 9
Device|contains:
- '\Device\HarddiskVolume'
suspicious_process:
Image|endswith:
- '\powershell.exe'
- '\cmd.exe'
- '\esentutl.exe'
- '\ntdsutil.exe'
- '\wbadmin.exe'
- '\vssadmin.exe'
filter_system:
Image|startswith:
- 'C:\Windows\System32\svchost.exe'
- 'C:\Windows\System32\SearchIndexer.exe'
- 'C:\Program Files\Windows Defender\'
condition: selection AND suspicious_process AND NOT filter_system
falsepositives:
- Software de backup legítimo (Veeam, Acronis, Windows Backup)
- Ferramentas de defrag e análise de disco
- Antivírus com acesso direto a volume para scan
level: high
```
### KQL - Microsoft Sentinel / Defender for Endpoint
```kusto
// Detecta RawAccessRead por processos suspeitos
DeviceEvents
| where ActionType == "RawVolumeDiskRead"
| where InitiatingProcessFileName in~ ("powershell.exe", "esentutl.exe", "ntdsutil.exe", "cmd.exe")
| project Timestamp, DeviceName, InitiatingProcessFileName,
InitiatingProcessCommandLine, InitiatingProcessAccountName
| sort by Timestamp desc
```
---
## Mitigação
| ID | Mitigação | Implementação |
|----|-----------|---------------|
| [[m1040-behavior-prevention-on-endpoint\|M1040]] | Behavior Prevention on Endpoint | Habilitar Sysmon com RawAccessRead (Event ID 9); configurar EDR para alertar em handles `\\.\PhysicalDrive*` |
| [[m1018-user-account-management\|M1018]] | User Account Management | Restringir privilégio `SeBackupPrivilege` a contas de serviço de backup estritamente necessárias; auditar grupos com esse privilégio |
| Princípio do Menor Privilégio | Controle de Acesso | Garantir que contas de usuário padrão não tenham acesso administrativo local - acesso a volume bruto requer privilégios elevados |
| Application Control | Allowlisting | Bloquear execução de ferramentas como `NinjaCopy.ps1` via AppLocker/WDAC; permitir apenas ferramentas de backup assinadas |
| Monitoramento de Sombra | Auditoria | Monitorar invocações de `vssadmin`, `wbadmin` e `ntdsutil` com flags de exportação do NTDS |
---
## Contexto Brasil/LATAM
O acesso direto a volumes é uma técnica avançada - mas altamente relevante no contexto brasileiro - especialmente em operações direcionadas ao setor financeiro, governo e infraestrutura crítica:
**Setor Financeiro Brasileiro:** Grupos de ameaça que atacam bancos brasileiros frequentemente precisam extrair credenciais de Active Directory de controladores de domínio para se mover lateralmente entre sistemas bancários. O T1006 é o método preferido quando EDR está presente, pois evita as detecções mais comuns baseadas em chamadas `MiniNTDSAPI` ou `DSInternals`.
**Infraestrutura Crítica (Energia/Telecom):** Motivação alinhada ao perfil do [[g1017-volt-typhoon|Volt Typhoon]] - grupos patrocinados por estados que já demonstraram interesse em infraestrutura crítica LATAM utilizam T1006 para garantir acesso persistente e silencioso, lendo credenciais de domínio sem disparar alertas de SIEM baseados em logs de acesso a arquivos.
**Ransomware-as-a-Service no Brasil:** Operadores afiliados de grupos como [[lockbit|LockBit]] e [[blackcat|ALPHV]] ativos no Brasil usam variantes desta técnica para corromper shadow copies antes de criptografar - maximizando o impacto e reduzindo chances de recuperação rápida por equipes de resposta.
**Capacidade Defensiva Nacional:** O [[sources|CERT.br]] e equipes de segurança de grandes instituições brasileiras ainda têm cobertura limitada para detecção via Sysmon Event ID 9, tornando esta técnica subdetectada no ambiente nacional. A implementação de logging de RawAccessRead é uma lacuna crítica a endereçar.
---
## Referências
- [MITRE ATT&CK - T1006: Direct Volume Access](https://attack.mitre.org/techniques/T1006/)
- [Microsoft - Sysmon RawAccessRead Event](https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon)
- [PowerSploit - NinjaCopy](https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1)
- [Volt Typhoon - CISA Advisory](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a)
- [Scattered Spider - CISA Advisory AA23-320A](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-320a)
- [NTFS Forensics - Understanding MFT and Data Runs](https://www.sans.org/white-papers/1212/)
*Fonte: [MITRE ATT&CK - T1006](https://attack.mitre.org/techniques/T1006)*