# T1222.002 - Linux and Mac File and Directory Permissions Modification ## Técnica Pai [[t1222-file-and-directory-permissions-modification|T1222 - File and Directory Permissions Modification]] ## Descrição Adversários podem modificar permissões de arquivos e diretórios em sistemas Linux e macOS para contornar listas de controle de acesso (ACLs) e acessar recursos protegidos. Em sistemas baseados em Unix, as permissões são gerenciadas por um modelo clássico de três grupos - **proprietário (user)**, **grupo (group)** e **outros (other)** - cada um com permissões independentes de leitura (`r`), escrita (`w`) e execução (`x`). Esse modelo, embora robusto quando configurado corretamente, pode ser subvertido por adversários que obtêm acesso inicial com privilégios suficientes para alterar as permissões de arquivos sensíveis. Os dois comandos centrais utilizados para essa manipulação são `chmod` (*change mode*), que altera as permissões de acesso, e `chown` (*change owner*), que transfere a propriedade de um arquivo ou diretório. Com o `chmod`, um adversário pode tornar arquivos de configuração ou scripts arbitrariamente executáveis por qualquer usuário do sistema, facilitando a persistência e a escalada de privilégios. Com o `chown`, pode assumir a propriedade de arquivos críticos do sistema, efetivamente sequestrando recursos antes acessíveis apenas ao root ou a usuários específicos. Em macOS, há ainda a camada adicional dos atributos estendidos e das flags BSD (como `chflags`), que podem ser manipulados para ocultar ou proteger arquivos maliciosos de remoção. Essa técnica é frequentemente um **passo habilitador** para outras técnicas MITRE ATT&CK. A modificação de permissões em arquivos de configuração de shell (`.bashrc`, `.zshrc`, `.profile`) é um método comum para estabelecer [[t1546-004-unix-shell-configuration-modification|T1546.004 - Unix Shell Configuration Modification]] como mecanismo de persistência. Da mesma forma, alterar permissões de binários ou bibliotecas compartilhadas é um precursor direto para [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]], onde o adversário substitui ou modifica componentes legítimos do sistema para que executem código malicioso no contexto de processos privilegiados. ## Como Funciona A exploração segue padrões bem definidos dependendo do objetivo do adversário: **Escalada via SUID/SGID:** O bit SUID (*Set User ID*) permite que um executável rode com os privilégios do proprietário do arquivo, não do usuário que o executa. Se um adversário pode executar `chmod u+s /bin/bash` (requer root ou acesso ao arquivo), cria um vetor direto de escalada de privilégios. Qualquer usuário do sistema pode então executar `bash -p` para obter um shell com privilégios de root. **Abertura de arquivos de configuração protegidos:** Após comprometer uma conta com sudo limitado, adversários executam `chmod 777 /etc/sudoers` ou `chmod 777 /etc/cron.d/` para abrir permissões de escrita em arquivos de configuração críticos, permitindo a inserção de entradas maliciosas para persistência ou escalada. **Sequestro de bibliotecas e binários:** Ao alterar permissões de diretórios em `$LD_LIBRARY_PATH` ou `/usr/lib/`, adversários podem substituir bibliotecas compartilhadas legítimas por versões maliciosas, afetando todos os processos que as carregam - uma forma de [[t1574-hijack-execution-flow|Hijack Execution Flow]] em nível de sistema. **Ocultação de malware em macOS:** No macOS, o comando `chflags hidden` pode marcar arquivos com o atributo de sistema oculto, tornando-os invisíveis no Finder e em listagens padrão do terminal. Combinado com modificações de permissão, isso cria artefatos persistentes difíceis de detectar sem ferramentas especializadas. ## Attack Flow ```mermaid graph TB A[Acesso Inicial<br/>ou Escalada Parcial] --> B[Reconhecimento de<br/>permissões existentes<br/>ls -la / stat] B --> C{Objetivo} C --> D[Persistência] C --> E[Escalada de Privilégio] C --> F[Evasão de Defesa] D --> G[chmod +x ~/.bashrc<br/>chmod 777 /etc/cron.d/] E --> H[chmod u+s /bin/bash<br/>chown root:root payload] F --> I[chflags hidden malware<br/>chmod 000 /var/log/auth.log] G --> J[Persistência via<br/>shell config / cron] H --> K[Escalada para root<br/>via SUID bit] I --> L[Logs bloqueados<br/>malware oculto] J --> M[Execução Persistente<br/>como usuário comprometido] K --> M L --> M M --> N[Impacto: Exfiltração<br/>Ransomware / Cryptomining] ``` ## Exemplos de Uso **TeamTNT - Cryptomining em containers Linux:** O grupo [[g0139-teamtnt|TeamTNT]] foi extensivamente documentado usando modificações de permissão em campanhas de cryptomining direcionadas a ambientes Docker e Kubernetes. Após comprometer containers via APIs Docker expostas, o grupo executava sequências de `chmod +x` em scripts de mineração baixados e `chmod 600` em arquivos de configuração de criptomineração para restringir a visibilidade de outros processos. Em alguns casos, usavam `chown` para reassociar arquivos maliciosos a usuários de sistema (`daemon`, `www-data`) para dificultar a identificação durante triagem de incidentes. **Rocke - Modificação de cron e scripts de inicialização:** O grupo [[g0106-rocke|Rocke]], especializado em cryptomining em ambientes cloud Linux, utilizava `chmod 777` em diretórios de cron (`/etc/cron.d/`, `/etc/cron.hourly/`) para inserir tarefas agendadas maliciosas sem necessidade de privilégios de root em todos os casos. Também foi observado usando `chmod 000` em scripts de segurança e agentes de monitoramento para desativá-los efetivamente - impedindo que ferramentas de detecção fossem executadas. **APT32 (OceanLotus) - Persistência em macOS:** O [[g0050-apt32|APT32]] utilizou o malware [[osxoceanlotusd|OSX_OCEANLOTUS.D]] em campanhas contra organizações vietnamitas e internacionais com presença no Sudeste Asiático. O malware manipulava permissões de arquivos em macOS usando `chmod` para garantir que seus componentes de persistência fossem executáveis após reinicializações, e usava atributos estendidos para ocultar payloads de ferramentas de análise padrão. **COATHANGER - Persistência em dispositivos FortiGaté:** O malware [[s1105-coathanger|COATHANGER]], atribuído a adversários de estado-nação chineses, foi observado modificando permissões de arquivos em sistemas FortiOS (baseado em Linux) para garantir persistência mesmo após atualizações de firmware, alterando arquivos do sistema para torná-los imutáveis via `chattr +i` e manipulando permissões para bloquear o acesso de ferramentas de diagnóstico. ## Detecção **Regra Sigma - Modificação de permissões em arquivos sensíveis:** ```yaml title: Suspicious chmod/chown on Sensitive Linux/macOS Files status: experimental description: > Detecta uso de chmod ou chown em arquivos e diretórios sensíveis do sistema que são frequentemente alvo de adversários para escalada de privilégio, persistência ou evasão de defesas (T1222.002). logsource: category: process_creation product: linux detection: selection_chmod_sensitive: Image|endswith: - '/chmod' - '/chown' - '/chattr' - '/chflags' CommandLine|contains: - '/etc/sudoers' - '/etc/passwd' - '/etc/shadow' - '/etc/cron' - '/etc/ssh' - '/root/' - '/.ssh/' - '/var/log/' - '.bashrc' - '.bash_profile' - '.zshrc' - '.profile' selection_suid: Image|endswith: '/chmod' CommandLine|contains: - 'u+s' - 'g+s' - '4755' - '6755' - '4777' - '7777' condition: selection_chmod_sensitive or selection_suid fields: - Image - CommandLine - User - ParentImage - ParentCommandLine falsepositives: - Scripts de provisionamento legítimos (Ansible, Chef, Puppet) - Administradores de sistema realizando manutenção level: high tags: - attack.defense_evasion - attack.t1222.002 - attack.persistence - attack.privilege_escalation ``` **Regra Sigma - Desativação de logs via chmod:** ```yaml title: Log File Permission Modification - Defense Evasion status: experimental description: > Detecta tentativas de bloquear acesso a arquivos de log do sistema via chmod, técnica usada para impedir registro de atividades maliciosas. logsource: category: process_creation product: linux detection: selection: Image|endswith: '/chmod' CommandLine|contains: - '/var/log/' - '/var/audit/' - '/Library/Logs/' CommandLine|re: '.*(000|0000|go-r|a-r).*' condition: selection level: critical tags: - attack.defense_evasion - attack.t1222.002 - attack.t1562 ``` **Fontes de dados recomendadas:** - Auditd (Linux) - regras de auditoria para syscalls `chmod`, `chown`, `fchmod`, `fchmodat` - OSQuery - query de arquivos com bits SUID/SGID inesperados - Sysmon for Linux - monitoramento de criação e modificação de processos - macOS Unified Logging - eventos de modificação de permissões via `EndpointSecurity` framework - Falco (ambientes container) - regras para detecção de modificações suspeitas de permissão ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | M1022 | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Implementar permissões restritivas como padrão (princípio do menor privilégio). Arquivos de configuração críticos (`/etc/sudoers`, `/etc/shadow`) devem ter permissões `440` ou `400`. Usar `chattr +i` em arquivos imutáveis críticos para impedir modificações mesmo por root | | M1026 | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Limitar o uso de `sudo` para comandos específicos via política de sudoers granular. Remover permissões de `sudo chmod` e `sudo chown` de contas de serviço e usuários não-administrativos. Implementar PAM (Pluggable Authentication Modules) para auditoria de uso de privilégios | | - | Monitoramento de integridade de arquivos (FIM) | Ferramentas como AIDE, Tripwire ou Wazuh monitoram mudanças de permissão em arquivos críticos e alertam em tempo real sobre modificações não autorizadas | | - | Imutabilidade em containers | Em ambientes Kubernetes e Docker, usar políticas de segurança de pod (`readOnlyRootFilesystem: true`) para impedir modificações no sistema de arquivos do container | | - | SELinux / AppArmor | Políticas MAC (Mandatory Access Control) no Linux podem restringir operações de modificação de permissão mesmo para usuários com privilégios elevados, adicionando uma camada de defesa independente das permissões DAC tradicionais | ## Contexto Brasil/LATAM A técnica T1222.002 é amplamente relevante para o contexto brasileiro e latino-americano, especialmente pelo crescimento acelerado de infraestrutura Linux em cloud e a proliferação de campanhas de cryptomining e ransomware direcionadas à região. O Brasil é um dos países mais afetados por campanhas de cryptomining no mundo, segundo relatórios da Kaspersky LATAM e da equipe de pesquisa da CERT.br. Grupos como [[g0139-teamtnt|TeamTNT]] e [[g0106-rocke|Rocke]] têm histórico documentado de ataques a servidores Linux brasileiros, especialmente em ambientes de hospedagem compartilhada e provedores de cloud regionais com configurações de segurança inadequadas. A modificação de permissões é rotineiramente usada nessas campanhas para garantir que os miners persistam após reinicializações e para desabilitar agentes de monitoramento instalados pelos provedores. No contexto de ataques a infraestrutura crítica latino-americana - incluindo empresas de energia, telecomúnicações e governo - a técnica é utilizada como parte de cadeias de ataque mais longas para estabelecer persistência em servidores Linux antes de movimentação lateral para sistemas Windows. Organizações brasileiras que operam ambientes híbridos (Linux + Windows) devem incluir o monitoramento de auditd e regras Sigma específicas para `chmod`/`chown` suspeitos em suas estrategias de detecção, pois muitos SOCs nacionais focam excessivamente em eventos Windows e deixam o vetor Linux com cobertura insuficiente. A combinação de [[t1222-002-linux-and-mac-file-and-directory-permissions-modification|T1222.002]] com técnicas de persistência via [[t1546-004-unix-shell-configuration-modification|T1546.004]] é particularmente prevalente em ataques a servidores web Apache/Nginx brasileiros comprometidos via webshells como [[s0598-pas-webshell|P.A.S. Webshell]] e [[s0599-kinsing|Kinsing]]. ## Referências - [[t1222-file-and-directory-permissions-modification|T1222 - File and Directory Permissions Modification]] - Técnica pai desta sub-técnica - [[t1546-004-unix-shell-configuration-modification|T1546.004 - Unix Shell Configuration Modification]] - Persistência frequentemente habilitada por modificações de permissão - [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]] - Sequestro de execução via modificação de bibliotecas/binários - [[m1022-restrict-file-and-directory-permissions|M1022 - Restrict File and Directory Permissions]] - Mitigação primária - [[m1026-privileged-account-management|M1026 - Privileged Account Management]] - Controle de privilégios como defesa - [[g0139-teamtnt|TeamTNT]] - Grupo com uso extensivo desta técnica em campanhas de cryptomining - [[g0106-rocke|Rocke]] - Grupo especializado em Linux com histórico de abuso de chmod/chown - [[g0050-apt32|APT32]] - APT com uso documentado em campanhas macOS/Linux - [[s1105-coathanger|COATHANGER]] - Malware que usa a técnica para persistência em FortiOS - [[s0599-kinsing|Kinsing]] - Malware de cryptomining Linux que modifica permissões de scripts de inicialização --- *Fonte: MITRE ATT&CK - T1222.002*