# T1222.001 - Windows File and Directory Permissions Modification
## Descrição
**Windows File and Directory Permissions Modification** é uma sub-técnica de [[t1222-file-and-directory-permissions-modification|T1222 - File and Directory Permissions Modification]] pela qual adversários manipulam as **Discretionary Access Control Lists (DACLs)** e **System Access Control Lists (SACLs)** do Windows para contornar controles de acesso, executar arquivos maliciosos e ocultar atividades de auditoria.
O sistema de permissões do Windows é baseado em ACLs que definem quais usuários ou grupos têm permissão de leitura, escrita e execução sobre objetos do sistema de arquivos NTFS. Cada objeto possui um **security descriptor** contendo:
- **DACL** (*Discretionary ACL*): define quem tem acesso e qual tipo de acesso
- **SACL** (*System ACL*): define quais eventos de acesso geram entradas no log de segurança
- **Owner**: identidade que controla a DACL
- **Group**: grupo principal associado ao objeto
Adversários exploram ferramentas nativas do Windows - `icacls`, `cacls`, `takeown`, `attrib` - e cmdlets [[t1059-001-powershell|PowerShell]] como `Set-Acl` e `Get-Acl` para:
1. **Modificar permissões** de arquivos de sistema ou configuração para permitir escrita/execução por contas não privilegiadas
2. **Tomar posse** (*takeown*) de arquivos protegidos, contornando restrições do sistema
3. **Ocultar arquivos** via atributo `+H` (`attrib +h`) para evasão visual em exploradores de arquivo
4. **Remover ACEs de auditoria** da SACL para suprimir logs de acesso a arquivos sensíveis
5. **Substituir binários legítimos** em caminhos do sistema após ganhar permissão de escrita
Esta técnica frequentemente é um **pré-requisito** para outras: modificação de permissões pode ser necessária antes de estabelecer persistência via [[t1546-008-accessibility-features|T1546.008 - Accessibility Features]], manipular scripts de logon via [[t1037-boot-or-logon-initialization-scripts|T1037]], ou realizar hijacking de execução via [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]].
> **Técnica pai:** [[t1222-file-and-directory-permissions-modification|T1222 - File and Directory Permissions Modification]]
---
## Como Funciona
### Ferramentas nativas abusadas
**`icacls` (ferramenta principal)**
A ferramenta `icacls` permite visualização e modificação granular de DACLs em arquivos e diretórios. Usada por adversários para conceder permissões amplas a contas comprometidas ou para remover restrições de arquivos de sistema.
Padrões de uso malicioso detectados em incidentes reais incluem a concessão de permissão total a grupos não privilegiados, propagação recursiva de permissões modificadas em árvores de diretório, e remoção de entradas de controle de acesso herdadas de admins.
**`takeown`**
Permite que usuários com privilégio `SeTakeOwnershipPrivilege` (normalmente administradores) tomem posse de arquivos de outros usuários ou do sistema. Após tomar posse, o adversário pode modificar a DACL para conceder a si mesmo acesso irrestrito.
**`attrib`**
Usado para definir ou remover atributos de arquivo: `+H` (oculto), `+S` (sistema), `+R` (somente leitura), `-A` (remove arquivo de backup). Grupos de ransomware usam `attrib -r` para remover proteção de somente leitura antes de encriptar, e `attrib +h` para esconder payloads em diretórios do sistema.
**`cacls`** (legado, ainda presente em Windows 7/Server 2008)
Equivalente mais antigo do `icacls`, presente em sistemas legados ainda comuns em ambientes corporativos brasileiros.
**PowerShell - `Set-Acl` / `Get-Acl`**
Os cmdlets PowerShell oferecem controle programático mais sofisticado sobre ACLs, frequentemente usado em scripts de pós-exploração para modificações em massa em múltiplos arquivos simultaneamente.
### Cadeia de ataque típica
Um adversário com acesso a uma conta comprometida (não necessáriamente administrador) pode elevar o impacto de sua presença através de:
1. Identificar binários de sistema ou configurações que restringem sua execução
2. Verificar permissões atuais com `icacls <caminho>`
3. Escalar privilégios suficientes (via outra técnica) para executar `takeown` ou `icacls /grant`
4. Modificar permissões para permitir sobrescrita ou execução
5. Substituir o arquivo legítimo ou inserir conteúdo malicioso
6. Opcionalmente, restaurar permissões originais para reduzir evidências
---
## Attack Flow
```mermaid
graph TB
A["🔓 Acesso Inicial<br/>Conta comprometida<br/>usuário ou serviço"] --> B["🔍 Reconhecimento<br/>icacls mostra permissões<br/>atuais do alvo"]
B --> C{"Conta tem<br/>privilégios<br/>suficientes?"}
C -->|"Sim - Admin/SYSTEM"| D["⚔️ takeown /F alvo<br/>Toma posse do<br/>arquivo protegido"]
C -->|"Não"| E["⬆️ Escalada de Privilégio<br/>T1068 / T1134<br/>Token Impersonation"]
E --> D
D --> F["🔧 icacls /grant<br/>Concede permissão<br/>total à conta evil"]
F --> G{"Objetivo<br/>do adversário"}
G -->|"Persistência"| H["🔄 Substitui binário<br/>legítimo por<br/>backdoor DLL/EXE"]
G -->|"Evasão"| I["👻 attrib +h +s<br/>Oculta arquivos<br/>maliciosos"]
G -->|"Ransomware"| J["🔑 attrib -r<br/>Remove somente leitura<br/>antes de encriptar"]
G -->|"Auditoria"| K["📝 Remove SACL ACEs<br/>Suprime logs de<br/>acesso ao arquivo"]
H --> L["✅ Objetivo Alcançado<br/>Persistência / Evasão<br/>Estabelecida"]
I --> L
J --> L
K --> L
style A fill:#c0392b,color:#fff
style L fill:#8e44ad,color:#fff
style E fill:#e67e22,color:#fff
style D fill:#e74c3c,color:#fff
```
---
## Exemplos de Uso
### Wizard Spider - Campanhas Ryuk e Conti
O grupo [[g0102-conti-group|Wizard Spider]], responsável pelas operações de ransomware [[s0446-ryuk|Ryuk]] e [[conti|Conti]], utiliza extensivamente modificação de permissões como parte de sua cadeia de ataque:
- **Pré-encriptação Ryuk:** O malware [[s0446-ryuk|Ryuk]] executa `icacls * /grant Everyone:F /T /C /Q` para conceder permissão total a todos os usuários em todas as estruturas de diretório antes de iniciar a encriptação. Isso garante que o processo de ransomware consiga encriptar arquivos independentemente das permissões originais.
- **Evasão de defesa Conti:** O [[conti|Conti]] Ransomware modifica permissões em diretórios de ferramentas de segurança instaladas para impedir que agentes EDR regenerem arquivos de configuração após tentativas de restauração.
### Storm-1811 - Campanha Black Basta
O grupo [[g1046-storm-1811|Storm-1811]], afiliado ao ransomware [[blackcat|Black Basta]], foi documentado usando `icacls` e `takeown` para:
- Tomar controle de diretórios pertencentes a contas de serviço de backup (VSS)
- Deletar shadow copies após remover proteções de acesso
- Modificar permissões em scripts de logon para inserir payloads adicionais
### BlackCat/ALPHV - Técnica de Desativação de Defesas
O ransomware [[blackcat|BlackCat]] (ALPHV) usa scripts PowerShell com `Set-Acl` para modificar permissões em drivers de kernel de soluções de segurança, como passo preparatório para desabilitar proteção em tempo real.
### WannaCry - Preparação para Propagação
O [[wannacry|WannaCry]] utilizou modificação de atributos via `attrib` para remover o atributo somente leitura de arquivos compartilhados antes de sobrescrevê-los durante a propagação lateral via EternalBlue.
### JPIN - Espionagem APT
O malware [[jpin|JPIN]], associado a grupos APT de espionagem, usa modificação de DACLs para instalar implantes em locais normalmente protegidos do sistema de arquivos Windows, garantindo persistência mesmo após reinicializações.
### Grandoreiro - Contexto Brasileiro
O trojan bancário [[s0531-grandoreiro|Grandoreiro]], com ampla atuação no Brasil e LATAM, utiliza `attrib +h` para ocultar seus componentes em subdiretórios do perfil de usuário e modifica permissões em arquivos de configuração do sistema para impedir remoção pelos softwares antivírus instalados. Esta técnica é particularmente eficaz em ambientes corporativos brasileiros onde políticas de segurança restritivas coexistem com usuários que possuem direitos de administrador local.
---
## Detecção
### Comandos de alto risco para monitorar
| Comando | Padrão Suspeito | Risco |
|---------|----------------|-------|
| `icacls * /grant Everyone:F /T` | Concessão total recursiva a Everyone | Crítico |
| `takeown /F C:\Windows\* /R` | Toma posse recursiva em diretórios de sistema | Crítico |
| `icacls /grant /inheritancelevel:e` | Modifica herança de ACL | Alto |
| `attrib +h +s` em `%TEMP%` | Oculta arquivos em temp | Alto |
| `Set-Acl` com `FullControl` | Modificação PowerShell de DACL | Alto |
| `cacls /E /G` | Modificação legacy de permissão | Médio |
### Regra Sigma - Modificação Maliciosa de DACL
```yaml
title: Suspicious DACL Modification via icacls or takeown
id: c9d5e1f3-4a6b-4c8d-9e0f-1a2b3c4d5e6f
status: experimental
description: >
Detecta uso de ferramentas nativas do Windows para modificar DACLs de forma
suspeita - padrões associados a ransomware e movimentação lateral.
Técnica T1222.001 - Windows File and Directory Permissions Modification.
author: RunkIntel
daté: 2026-03-25
references:
- https://attack.mitre.org/techniques/T1222/001/
- https://thedfirreport.com/2021/01/18/all-that-for-a-coinminer/
logsource:
category: process_creation
product: windows
detection:
icacls_grant_everyone:
Image|endswith: '\icacls.exe'
CommandLine|contains|all:
- '/grant'
- 'Everyone'
icacls_recursive_system:
Image|endswith: '\icacls.exe'
CommandLine|contains|all:
- '/T'
- '/grant'
takeown_recursive:
Image|endswith: '\takeown.exe'
CommandLine|contains: '/R'
condition: icacls_grant_everyone or icacls_recursive_system or takeown_recursive
falsepositives:
- Administradores de TI realizando manutenção legítima de permissões
- Scripts de implantação de software corporativo
level: high
tags:
- attack.defense_evasion
- attack.t1222.001
```
### Regra Sigma - PowerShell Set-Acl Suspeito
```yaml
title: PowerShell Set-Acl Granting Full Control
id: d0e6f2a4-5b7c-5d9e-0f1a-2b3c4d5e6f7a
status: experimental
description: >
Detecta uso de Set-Acl via PowerShell para conceder FullControl a contas
não privilegiadas ou Everyone - indicativo de T1222.001.
author: RunkIntel
daté: 2026-03-25
logsource:
category: process_creation
product: windows
detection:
powershell_setacl:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
CommandLine|contains|all:
- 'Set-Acl'
- 'FullControl'
condition: powershell_setacl
falsepositives:
- Scripts de configuração de ambiente de desenvolvimento
- Automação de deploy com permissões explícitas
level: medium
tags:
- attack.defense_evasion
- attack.t1222.001
```
---
## Mitigação
| ID | Mitigação | Descrição Detalhada |
|----|-----------|---------------------|
| [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | **Restrição de Permissões** | Auditar e aplicar o princípio de menor privilégio em todas as permissões de arquivo e diretório. Arquivos em `C:\Windows\System32\`, `C:\Program Files\` e outros caminhos críticos devem ter DACL restrita a SYSTEM e Administrators. Remover permissão de escrita de usuários comuns. |
| [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | **Gestão de Contas Privilegiadas** | Evitar que usuários regulares possuam o privilégio `SeTakeOwnershipPrivilege`. Usar grupos de administração separados para tarefas operacionais versus gerenciamento de segurança. Implementar PAM (Privileged Access Management) para operações que requerem modificação de ACL. |
| Auditoria SACL | **Monitoramento via SACL** | Configurar SACLs em diretórios críticos do sistema para registrar modificações de DACL no Event Log (Event ID 4670 - Permissions on an object were changed). Monitorar Event ID 4663 (tentativa de acesso a objeto) e 4670 em diretórios sensíveis. |
| Sysmon | **Sysmon - Process Creation** | Configurar Sysmon para capturar criação de processos (Event ID 1) com linha de comando completa, especialmente para `icacls.exe`, `takeown.exe`, `cacls.exe` e `attrib.exe`. Correlacionar com identidade do processo pai. |
| AppLocker/WDAC | **Controle de Aplicações** | Implementar AppLocker ou Windows Defender Application Control para restringir execução de ferramentas de modificação de ACL a usuários e contextos autorizados. |
---
## Contexto Brasil/LATAM
### Ransomware e Modificação de Permissões no Brasil
O Brasil é consistentemente um dos países mais afetados por ransomware na América Latina. Os principais grupos que operam na região - incluindo afiliados de [[blackcat|BlackCat]], [[lockbit|LockBit]] e operações derivadas do [[conti|Conti]] - utilizam T1222.001 como etapa fundamental em suas cadeias de ataque.
Características específicas do ambiente corporativo brasileiro que aumentam a exposição:
- **Alta prevalência de usuários com admin local:** Muitas empresas brasileiras, especialmente PMEs, concedem direitos de administrador local a usuários de negócio, facilitando a execução de `icacls` e `takeown` sem escalada de privilégio adicional.
- **Legado de Windows 7/Server 2008:** Sistemas legados, comuns em setores industrial e público no Brasil, ainda utilizam `cacls` (legado) e têm menos proteções nativas ativas.
- **Deficiência em monitoramento de Event Log:** A maioria das empresas brasileiras não monitora ativamente Event IDs relacionados a modificações de permissão (4670, 4663) em tempo real.
### Grandoreiro e Modificação de Permissões
O [[s0531-grandoreiro|Grandoreiro]] - o trojan bancário mais prevalente no Brasil e LATAM - utiliza esta técnica para garantir persistência em ambientes corporativos. Sua cadeia de infecção frequentemente inclui modificação de permissões em `%APPDATA%` e `%TEMP%` para prevenir detecção e remoção por soluções de segurança.
O CERT.br registrou múltiplos incidentes em 2024-2025 envolvendo variantes do [[s0531-grandoreiro|Grandoreiro]] que utilizam combinação de `attrib +h +s` e modificação de DACL para manter persistência em sistemas de bancos e operadoras brasileiras.
### Setores mais afetados no Brasil
- [[financial|Setor Financeiro]] - alvo principal de grupos ransomware e trojans bancários
- [[government|Governo Estadual e Municipal]] - menor maturidade de segurança, sistemas legados
- [[setor-saude|Saúde]] - hospitais e operadoras de planos de saúde com TI subdimensionada
- [[setor-industria|Indústria]] - ambientes OT/ICS com Windows legado sem patch
---
## Software Associado
- [[jpin|JPIN]] (malware) - implante APT com uso de modificação de ACL para persistência
- [[bitpaymer|BitPaymer]] (malware) - ransomware com modificação de permissões pré-encriptação
- [[s0531-grandoreiro|Grandoreiro]] (malware) - trojan bancário LATAM com evasão via `attrib`
- [[s0693-caddywiper|CaddyWiper]] (malware) - wiper que remove permissões para destruição de dados
- [[s0446-ryuk|Ryuk]] (malware) - ransomware com concessão massiva de permissões via `icacls`
- [[blackcat|BlackCat]] (malware) - ALPHV ransomware com `Set-Acl` PowerShell
- [[wannacry|WannaCry]] (malware) - worm que remove `attrib -r` para propagação
- [[s1180-blackbyte-ransomware|BlackByte Ransomware]] (malware) - modificação de DACL em destinos de backup
- [[s0612-wastedlocker|WastedLocker]] (malware) - ransomware direcionado com bypass de VSS via permissões
---
## Referências
- [MITRE ATT&CK - T1222.001](https://attack.mitre.org/techniques/T1222/001/)
- [Microsoft - icacls documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/icacls)
- [Microsoft - Windows Security Auditing - 4670](https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4670)
- [The DFIR Report - Ryuk DACL Manipulation](https://thedfirreport.com/2020/11/05/ryuk-speed-run-2-hours-to-ransom/)
- [Mandiant - Conti Ransomware TTPs](https://www.mandiant.com/resources/blog/conti-ransomware-operations)
- [CERT.br - Análise de Trojans Bancários LATAM](https://www.cert.br/docs/palestras/)
- [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]]
- [[t1546-008-accessibility-features|T1546.008 - Accessibility Features]]
- [[t1059-001-powershell|T1059.001 - PowerShell]]