# 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)*