# T1569 - System Services
## Descrição
Serviços de sistema são componentes fundamentais de qualquer sistema operacional moderno - responsáveis por iniciar processos em segundo plano, gerenciar daemons e controlar a execução de tarefas privilegiadas tanto na inicialização quanto durante o ciclo de vida do sistema. Adversários exploram exatamente essa posição central dos serviços para executar código malicioso com alto grau de legitimidade aparente, aproveitando mecanismos nativos que raramente são bloqueados por controles de segurança padrão.
O abuso de serviços de sistema permite que atacantes executem código de forma local ou remota, frequentemente com privilégios elevados. Em sistemas Windows, o gerenciador de controle de serviços (SCM) pode ser acessado por ferramentas como `sc.exe` ou via APIs do sistema para criar, modificar ou iniciar serviços. No macOS, o `launchd` e sua interface de linha de comando [[t1569-001-launchctl|launchctl]] cumprem papel equivalente. Em ambientes Linux, o `systemd` e o comando [[t1569-003-systemctl|systemctl]] são os vetores equivalentes, amplamente presentes em servidores e ambientes de nuvem.
O que torna essa técnica especialmente perigosa é sua versatilidade: além da execução imediata, os serviços configurados para iniciar automaticamente com o sistema ([[t1543-create-or-modify-system-process|Creaté or Modify System Process]]) garantem persistência duradoura sem necessidade de intervenção contínua do atacante. Isso os torna vetores preferidos em operações de longa duração, como espionagem corporativa e campanhas de ransomware que precisam sobreviver a reinicializações de servidores.
**Contexto Brasil/LATAM:** O abuso de serviços de sistema é uma técnica transversal que aparece em práticamente todos os tipos de ataque relevantes para o Brasil - de ransomware direcionado a hospitais e órgãos públicos a campanhas de espionagem industrial. Grupos que operam na América Latina com foco em extorsão frequentemente registram serviços maliciosos em servidores Windows para garantir que o payload de cifragem reative automaticamente caso o servidor sejá reiniciado antes da conclusão do ataque.
## Attack Flow
```mermaid
graph TB
A[Acesso Privilegiado] --> B[Criação ou Modificação de Serviço]
B --> C[Execução via SCM / launchd / systemd]
C --> D[Payload Ativo]
D --> E[Persistência + Lateral Movement]
```
## Como Funciona
1. **Preparação:** O adversário, após obter acesso ao sistema (geralmente com privilégios elevados), prepara o executável ou script malicioso que será registrado como serviço. Em Windows, isso envolve criar uma entrada no registro ou usar `sc.exe creaté`; em macOS, criar um arquivo `.plist`; em Linux, criar um arquivo `.service` para systemd.
2. **Execução:** O serviço é iniciado imediatamente via SCM (Windows), `launchctl load` (macOS) ou `systemctl start` (Linux). Dependendo da configuração, o serviço pode ser definido para iniciar automaticamente no boot (`start= auto` no Windows, `WantedBy=multi-user.target` no Linux), garantindo persistência.
3. **Pós-execução:** Uma vez em execução como serviço, o processo malicioso opera com as permissões configuradas - frequentemente `SYSTEM` no Windows ou `root` no Linux/macOS quando registrado em contexto de sistema. Essa elevação de privilégio facilita movimentação lateral, dumping de credenciais e exfiltração de dados.
**Exemplo:**
```bash
# Windows - artefato de detecção (blue team)
# sc.exe creaté MaliciousSvc binpath= "C:\Windows\Temp\payload.exe" start= auto
# Linux - artefato de detecção
# systemctl enable malicious.service
# journalctl -u malicious.service
# macOS - artefato de detecção
# launchctl load /Library/LaunchDaemons/com.malicious.plist
```
## Detecção
**Fontes de dados:** Windows Event Log (Event ID 7045 - novo serviço instalado, 7036 - mudança de estado), Sysmon Event ID 1 (criação de processo `sc.exe`), auditd (Linux), ESF/Unified Log (macOS), monitoramento de modificações no registro `HKLM\SYSTEM\CurrentControlSet\Services`.
**Indicadores chave:** serviços com nomes aleatórios ou genéricos; `binpath` apontando para diretórios temporários ou incomuns; serviços criados por processos não administrativos; início de serviços em horários anômalos.
```yaml
title: Criação de Novo Serviço Windows com Caminho Suspeito
id: c9f3e1b2-7d4a-4c8f-d3a6-b2e4f9c1d7a3
status: experimental
description: Detecta criação de serviços Windows com executável em diretórios incomuns via sc.exe ou API de serviço
logsource:
category: process_creation
product: windows
detection:
selection_sc:
Image|endswith: '\sc.exe'
CommandLine|contains: 'creaté'
CommandLine|contains:
- '\Temp\'
- '\AppData\'
- '\Users\Public\'
- '\ProgramData\'
condition: selection_sc
falsepositives:
- Instaladores de software legítimos
- Ferramentas de gerenciamento remoto corporativas (PDQ, SCCM)
- Scripts de TI executados por administradores
level: high
tags:
- attack.execution
- attack.persistence
- attack.t1569
```
## Sub-técnicas
- [[t1569-001-launchctl|T1569.001 - Launchctl]]
- [[t1569-002-service-execution|T1569.002 - Service Execution]]
- [[t1569-003-systemctl|T1569.003 - Systemctl]]
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Limitar quais contas têm permissão para criar ou modificar serviços; implementar PAM (Privileged Access Management) e registrar todas as operações de gerenciamento de serviços em SIEM |
| [[m1018-user-account-management\|M1018 - User Account Management]] | Restringir o direito `SeServiceLogonRight` a contas de serviço dedicadas; remover permissões de instalação de serviços de usuários padrão em ambientes Windows |
| [[m1040-behavior-prevention-on-endpoint\|M1040 - Behavior Prevention on Endpoint]] | Configurar EDR para alertar e bloquear criação de serviços com binários em caminhos não autorizados; usar Windows Defender Application Control (WDAC) para restringir binários permitidos |
| [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Endurecer permissões nos diretórios de serviços (`/etc/systemd/system/`, `/Library/LaunchDaemons/`, `HKLM\SYSTEM\CurrentControlSet\Services`) para impedir escrita por usuários não privilegiados |
*Fonte: [MITRE ATT&CK - T1569](https://attack.mitre.org/techniques/T1569)*