# 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]]