# T1552.006 - Group Policy Preferences > [!warning] Vulnerabilidade Estrutural do Active Directory > Embora o MS14-025 (2014) tenha eliminado a possibilidade de **criar novas** políticas com senhas embutidas, inúmeros ambientes corporativos ainda possuem arquivos GPP legados no SYSVOL com credenciais criptografadas com a chave AES que a Microsoft públicou na documentação pública. **Qualquer usuário de domínio pode decriptar essas senhas.** ## Técnica Pai Esta é uma sub-técnica de [[t1552-unsecured-credentials|T1552 - T1552 - Unsecured Credentials]]. ## Descrição Adversários podem tentar localizar credenciais não protegidas nas **Group Policy Preferences (GPP)** - um recurso do Active Directory que permitia aos administradores distribuir configurações de contas locais, senhas de serviços e mapeamentos de drives por toda a organização via Política de Grupo. O problema crítico: as credenciais armazenadas nas GPPs são criptografadas com uma chave AES-256 **estática e pública** - a Microsoft a públicou inadvertidamente na documentação técnica (MS-GPPREF), e ela nunca pode ser alterada. Isso significa que qualquer arquivo XML de GPP contendo o campo `cpassword` pode ser decriptado por qualquer pessoa com acesso de leitura ao compartilhamento **SYSVOL** - disponível por padrão para todos os usuários autenticados do domínio. Esta é uma sub-técnica de [[t1552-unsecured-credentials|T1552 - Unsecured Credentials]] e é considerada um dos vetores de escalonamento de privilégio lateral mais prevalentes em auditorias de segurança de Active Directory. Os tipos de configurações GPP que podem conter credenciais incluem: - **Local Users and Groups** - criação de contas locais de administrador com senha - **Scheduled Tasks** - tarefas agendadas executadas sob credenciais específicas - **Services** - serviços do Windows configurados para rodar com conta de serviço - **Drive Maps** - mapeamentos de drives de rede com credenciais embutidas - **Data Sources** - DSNs ODBC com usuário e senha de banco de dados ## Como Funciona O SYSVOL é um compartilhamento replicado entre todos os controladores de domínio que armazena scripts de logon, modelos de política e os arquivos XML das Group Policy Preferences. Ele é acessível via `\\<dominio>\SYSVOL\<dominio>\Policies\` por todos os usuários autenticados do domínio - sem necessidade de privilégios elevados. **Passo a passo técnico:** 1. **Enumeração do SYSVOL:** O adversário com qualquer conta de domínio (inclusive contas de baixo privilégio) pode acessar o SYSVOL e buscar arquivos XML de GPP: ``` dir /s \\corp.local\SYSVOL\*.xml findstr /si "cpassword" \\corp.local\SYSVOL\*.xml ``` 2. **Localização dos campos `cpassword`:** Os arquivos XML relevantes são encontrados em subpastas como: - `\Machine\Preferences\Groups\Groups.xml` (contas locais) - `\Machine\Preferences\ScheduledTasks\ScheduledTasks.xml` - `\Machine\Preferences\Services\Services.xml` - `\User\Preferences\Drives\Drives.xml` O campo cpassword contém a senha criptografada em Base64+AES: ```xml <User clsid="{...}" name="Administrador" ... newName="" fullName="" description="" cpassword="AzVJmXh6S+TRDBfYvLnIrA==..." .../> ``` 3. **Decriptação:** A chave AES-256 pública (públicada pela Microsoft no MS-GPPREF) permite decriptação imediata com ferramentas como: - **Get-GPPPassword** (PowerShell - [[s0194-powersploit|PowerSploit]]) - **gpp-decrypt** (ferramenta standalone) - **Metasploit** módulo `post/windows/gather/credentials/gpp` - **CrackMapExec** com `--gpp-passwords` 4. **Reutilização de credenciais:** As senhas obtidas são frequentemente senhas de administrador local comuns a todas as máquinas do domínio (configuradas via GPO para padronização) - tornando possível o movimento lateral para centenas de sistemas com uma única credencial. A chave AES usada para criptografia das GPPs foi públicada pela Microsoft na documentação [[ms-gppref]] e é: ``` 4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8 f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b ``` ## Attack Flow ```mermaid graph TB A[Acesso Inicial<br/>Qualquer conta de domínio válida] --> B[Enumeração do SYSVOL<br/>dir /s \\dominio\\SYSVOL\\*.xml] B --> C[Localização de Arquivos GPP<br/>Groups.xml / ScheduledTasks.xml] C --> D{Campo cpassword\nencontrado?} D -->|Sim| E[Decriptação com Chave AES Pública<br/>Get-GPPPassword / gpp-decrypt] D -->|Não| F[Busca em outras sub-políticas<br/>Drives.xml / Services.xml] F --> C E --> G[Obtenção de Credenciais em Texto Claro<br/>Senha de admin local / conta de serviço] G --> H{Tipo de credencial} H -->|Admin local\ncomum a múltiplas máquinas| I[Movimento Lateral<br/>T1021 - Pass-the-Hash / PTH] H -->|Conta de serviço| J[Escalada de Privilégio<br/>Acesso a sistemas de maior valor] H -->|Conta de usuário| K[Comprometimento de Conta<br/>T1078 - Valid Accounts] I --> L[Comprometimento em Escala<br/>Acesso a toda a organização] J --> L K --> L style A fill:#4ecdc4,color:#fff style E fill:#ffd93d,color:#333 style G fill:#ff6b6b,color:#fff style L fill:#ff6b6b,color:#fff ``` ## Exemplos de Uso ### APT33 (Elfin / Refined Kitten) O grupo iraniano [[g0064-apt33|APT33]], com histórico de ataques a setores de aviação, petroquímico e energia, utiliza GPP credential harvesting como etapa de reconhecimento pós-comprometimento inicial. Em campanhas documentadas contra o setor de energia do Oriente Médio e América do Norte, o grupo combinou acesso via [[t1566-phishing|Phishing]] (T1566) com busca automatizada por credenciais GPP para escalar privilégios rapidamente após a infecção inicial. ### Wizard Spider (TrickBot / Ryuk / Conti) [[g0102-conti-group|Wizard Spider]], operador do ecossistema TrickBot/Ryuk/Conti, documentadamente incorpora varredura de GPP credentials em suas ferramentas de movimento lateral pós-infecção. O módulo de coleta de credenciais do TrickBot inclui enumeração de SYSVOL como vetor de escalonamento horizontal, permitindo que uma infecção isolada se propague para administradores locais de toda a rede antes da fase de ransomware. ### Operadores de Red Team e Pentest A técnica é tão bem documentada e prevalente que se tornou um dos primeiros passos automatizados em frameworks de Red Team como [[s0363-empire|Empire]], [[metasploit|Metasploit]] e [[s0488-crackmapexec|CrackMapExec]]. Em assessments de segurança no Brasil, é rotineiramente encontrada em organizações que migraram de versões mais antigas do Windows Server sem limpar o SYSVOL legado. ## Detecção ### Indicadores de Comprometimento - Acessos anômalos ao compartilhamento SYSVOL por contas de baixo privilégio, especialmente com enumeração recursiva de arquivos XML - Execução de ferramentas conhecidas como `Get-GPPPassword`, `gpp-decrypt` ou invocação de módulos Metasploit a partir de workstations - Processos PowerShell com argumentos contendo `SYSVOL`, `cpassword` ou `Groups.xml` - Acessos ao SYSVOL fora do horário de logon esperado da conta ### Regra Sigma - Acesso a Credenciais GPP ```yaml title: Group Policy Preferences - Acesso Suspeito a Arquivos de Credenciais no SYSVOL status: experimental description: | Detecta acesso a arquivos XML de Group Policy Preferences que podem conter credenciais criptografadas com a chave AES pública (cpassword). Foco em acessos de contas não administrativas ou fora de controladores de domínio. logsource: product: windows category: file_access detection: selection_sysvol_xml: FileName|contains: - '\SYSVOL\' FileName|endswith: - 'Groups.xml' - 'ScheduledTasks.xml' - 'Services.xml' - 'Drives.xml' - 'DataSources.xml' filter_dc_accounts: SubjectUserName|endswith: ' condition: selection_sysvol_xml and not filter_dc_accounts level: high tags: - attack.credential_access - attack.t1552.006 falsepositives: - Ferramentas de auditoria de GPO legítimas - Scripts de administração que leem políticas do SYSVOL - Ferramentas de backup/monitoramento de infraestrutura ``` ### Auditoria Proativa Para identificar se o ambiente está exposto, administradores podem usar: ```powershell # Verificar presença de cpassword no SYSVOL Get-ChildItem -Path "\\$env:USERDNSDOMAIN\SYSVOL" -Recurse -Include "*.xml" -ErrorAction SilentlyContinue | Select-String -Pattern "cpassword" | Select-Object Path, LineNumber, Line ``` ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1047 | [[m1047-audit\|M1047 - Audit]] | Executar auditoria periódica do SYSVOL em busca de arquivos XML contendo o campo `cpassword`. Usar scripts PowerShell ou ferramentas como Purple Knight para identificar e remover credenciais expostas. | | M1051 | [[m1051-update-software\|M1051 - Updaté Software]] | Garantir que o MS14-025 (KB2962486) estejá aplicado em todos os controladores de domínio. Este patch elimina a opção de criar **novas** GPPs com senha, mas não remove arquivos legados existentes. | | M1015 | [[m1015-active-directory-configuration\|M1015 - Active Directory Configuration]] | Remover manualmente todos os arquivos GPP com campo `cpassword` do SYSVOL. Alterar imediatamente todas as senhas que estavam armazenadas nesses arquivos. Implementar LAPS (Local Administrator Password Solution) para randomizar senhas de administradores locais por máquina. | ### Controles Adicionais - **Microsoft LAPS:** Implementar LAPS ou Windows LAPS (built-in desde Windows Server 2022) para eliminar a necessidade de senhas de administrador local padronizadas - remove o incentivo de usar GPP para distribuição de senhas - **Restrição de leitura do SYSVOL:** Embora técnicamente complexo, é possível restringir leitura de subpastas específicas do SYSVOL via ACLs para limitar exposição - **Rotação de credenciais:** Qualquer credencial que possa ter sido exposta via GPP deve ser rotacionada imediatamente, mesmo que o campo `cpassword` tenha sido removido ## Contexto Brasil/LATAM Esta técnica é **excepcionalmente prevalente** em ambientes brasileiros e latino-americanos, por razões históricas e estruturais: **Legado de versões antigas:** Grande parte das organizações brasileiras - especialmente no setor público e em empresas de médio porte - operou com Windows Server 2003/2008 por longos períodos após o lançamento do MS14-025 (2014). Durante esse período, criaram extensas GPPs com senhas para gerenciamento de contas locais. A migração para versões mais novas frequentemente migrou o SYSVOL legado sem sanitização. **Ausência de LAPS:** A adoção do Microsoft LAPS no Brasil é baixa em comparação com Europa e América do Norte. Muitas organizações ainda utilizam senha de administrador local padronizada por GPO - exatamente o padrão que a GPP credential exposure torna trivialmente exposta. **Setor público:** Prefeituras, autarquias estaduais e órgãos federais com infraestrutura Active Directory legada são particularmente vulneráveis. O uso de imagens padronizadas com senhas de administrador local comuns a milhares de máquinas é documentado em auditorias do [[tcu|TCU]] e da [[controladoria-geral-da-uniao|CGU]]. **Ransomware direcionado ao Brasil:** Grupos como afiliados do [[lockbit|LockBit]] e [[black-basta|Black Basta]] que operam ativamente no Brasil utilizam essa técnica como parte de playbooks de movimento lateral. Em incidentes documentados, a combinação de GPP credentials + Pass-the-Hash permitiu o comprometimento de centenas de servidores em menos de 24 horas a partir de uma única estação de trabalho comprometida. O [[cert-br|CERT.br]] lista a ausência de LAPS e a presença de credenciais no SYSVOL como falhas recorrentes em suas avaliações de maturidade de segurança para organizações brasileiras. ## Referências - [MITRE ATT&CK - T1552.006](https://attack.mitre.org/techniques/T1552/006) - [MS14-025 - Microsoft Security Bulletin](https://docs.microsoft.com/en-us/security-updates/securitybulletins/2014/ms14-025) - [Finding Passwords in SYSVOL - Active Directory Security](https://adsecurity.org/?p=2288) - [Get-GPPPassword - PowerSploit](https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Get-GPPPassword.ps1) - [Microsoft LAPS - Local Administrator Password Solution](https://docs.microsoft.com/en-us/windows-server/identity/laps/laps-overview) - [Purple Knight - Semperis (auditoria AD)](https://www.semperis.com/purple-knight/) **Técnicas Relacionadas:** [[t1552-unsecured-credentials|T1552]], [[t1021-remote-services|T1021]], [[t1078-valid-accounts|T1078]], [[t1003-os-credential-dumping|T1003]], [[t1110-brute-force|T1110]] **Ferramentas:** [[s0194-powersploit|PowerSploit]], [[s0692-silenttrinity|SILENTTRINITY]], [[metasploit|Metasploit]], [[s0488-crackmapexec|CrackMapExec]] --- *Fonte: [MITRE ATT&CK - T1552.006](https://attack.mitre.org/techniques/T1552/006)*