# T1574.011 - Fraqueza de Permissões no Registro de Serviços ## Técnica Pai Esta é uma sub-técnica de [[t1574-hijack-execution-flow|T1574 - Sequestro de Fluxo de Execução]]. ## Descrição Adversários podem executar cargas maliciosas próprias ao manipular as chaves de Registro do Windows associadas a serviços do sistema. Quando as permissões de acesso a essas chaves são configuradas de forma incorreta, um adversário com nível de acesso insuficiente pode redirecionar o executável de um serviço legítimo para um binário sob seu controle - fazendo com que o código malicioso sejá iniciado automaticamente sempre que o serviço for ativado. O Windows armazena a configuração de serviços locais no caminho `HKLM\SYSTEM\CurrentControlSet\Services`. Cada serviço possui um conjunto de subchaves que definem comportamentos como o binário executado (`ImagePath` ou `binPath`), dependências, modo de inicialização e ações de falha. Se as ACLs (listas de controle de acesso) dessas chaves permitirem escrita por usuários comuns ou por grupos excessivamente permissivos, o adversário pode sobrescrever o valor `ImagePath` para apontar para um binário malicioso. Na próxima inicialização do serviço - manual, agendada ou após reboot - o código do adversário é executado no contexto de privilégio configurado para aquele serviço (SYSTEM, LocalService, NetworkService ou conta de domínio). Além do `ImagePath`, outras subchaves podem ser alvos de manipulação. A subchave `FailureCommand` define o comando executado quando um serviço falha; um adversário pode alterá-la para executar um payload com elevação de privilégio toda vez que o serviço for interrompido ou deliberadamente corrompido. Já a subchave `Performance`, presente em drivers, aponta para uma DLL e funções exportadas - se não existir mas o adversário tiver permissão de criação, ele pode inserir a subchave apontando para uma DLL maliciosa. O mesmo vale para a subchave `Parameters`: ao definir o caminho de um driver malicioso dentro de `Parameters`, o adversário garante que sua DLL sejá carregada persistentemente sempre que o serviço ou a biblioteca associada for invocada. **Contexto Brasil/LATAM:** Essa técnica é amplamente empregada por grupos de ransomware e por ferramentas de pós-exploração muito usadas na América Latina. Ambientes Windows com configurações legadas - comuns em órgãos públicos brasileiros e empresas de médio porte - frequentemente apresentam permissões de Registro excessivamente abertas por herança de configurações antigas ou por ausência de hardening. A falta de monitoramento específico de alterações no Registro de serviços torna essa técnica especialmente eficaz em setores como [[government]], [[financial]] e [[industria]]. ## Attack Flow ```mermaid graph TB A[Acesso Inicial ao Sistema] --> B[Enumeração de Permissões de Registro] B --> C{ACL Permissiva Encontrada?} C -->|Sim| D[ESTA TÉCNICA - T1574.011] C -->|Não| E[Buscar Outro Vetor] D --> F[Substituição do ImagePath ou FailureCommand] F --> G[Reinício do Serviço Alvo] G --> H[Execução do Payload com Privilégio Elevado] H --> I[Persistência e/ou Escalação de Privilégio] ``` ## Como Funciona 1. **Enumeração** - O adversário mapeia as chaves de Registro de serviços e verifica as ACLs usando ferramentas como `accesschk.exe` (Sysinternals) ou scripts [[t1059-001-powershell|PowerShell]]. 2. **Identificação de alvo vulnerável** - Chaves em `HKLM\SYSTEM\CurrentControlSet\Services\<nome_servico>` com permissão de escrita para usuários não privilegiados são o alvo ideal. 3. **Modificação da chave** - O adversário altera o valor `ImagePath` para apontar para seu payload, ou cria/modifica as subchaves `FailureCommand`, `Performance` ou `Parameters`. 4. **Ativação** - O serviço é reiniciado manualmente, por agendamento, por falha induzida ou pelo próximo boot do sistema. 5. **Execução privilegiada** - O payload é executado no contexto de segurança do serviço (frequentemente SYSTEM), estabelecendo persistência e/ou escalação de privilégio. **Exemplo - Detecção de permissão fraca e modificação de ImagePath:** ```powershell # Artefato de detecção esperado no log de eventos do Windows # Event ID 4657 (Audit Registry) - modificação de valor de Registro # Chave: HKLM\SYSTEM\CurrentControlSet\Services\<ServicoAlvo> # Valor modificado: ImagePath # Novo dado: C:\temp\payload.exe # # Ferramenta de enumeração comumente observada: # accesschk.exe -uwcqv "Authenticated Users" * /accepteula # Resultado esperado: serviços com permissão SERVICE_CHANGE_CONFIG ``` ## Detecção **Fontes de dados:** Logs de auditoria do Registro (Event ID 4657), logs Sysmon (Event ID 13 - RegistryValueSet), comparação de baseline de ImagePaths de serviços, alertas de EDR para modificações em `CurrentControlSet\Services`. ```yaml title: Modificação de ImagePath de Serviço no Registro id: b8e4d1a2-73c5-4f9b-ae12-308472651bcd status: experimental description: > Detecta modificação no valor ImagePath de serviços Windows, possível indicador de sequestro de fluxo de execução via T1574.011. logsource: category: registry_set product: windows detection: selection: EventID: 13 TargetObject|contains: '\CurrentControlSet\Services\' TargetObject|endswith: '\ImagePath' filter_legitimate: Image|startswith: - 'C:\Windows\System32\' - 'C:\Program Files\' condition: selection and not filter_legitimate falsepositives: - Instalação legítima de software que registra novos serviços - Atualizações de sistema ou patches que alteram caminhos de serviço level: high tags: - attack.persistence - attack.privilege-escalation - attack.t1574.011 ``` ## Mitigação | Mitigação | Recomendação Prática | |-----------|---------------------| | [[m1024-restrict-registry-permissions\|M1024 - Restrict Registry Permissions]] | Auditar e restringir ACLs nas chaves `HKLM\SYSTEM\CurrentControlSet\Services`. Apenas SYSTEM e Administradores devem ter permissão de escrita. | | [[m1047-audit\|M1047 - Audit]] | Habilitar auditoria de modificação de Registro (Event ID 4657) e monitorar alterações em `ImagePath`, `FailureCommand` e `Parameters`. | | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Limitar contas com privilégio de administrador local. Evitar execução de serviços no contexto SYSTEM quando desnecessário. | ## Referências *Fonte: [MITRE ATT&CK - T1574.011](https://attack.mitre.org/techniques/T1574/011)*