# T1543.002 - Systemd Service
## Técnica Pai
Esta é uma sub-técnica de [[t1543-create-or-modify-system-process|T1543 - Criar ou Modificar Processo do Sistema]].
## Descrição
Adversários criam ou modificam **unit files do systemd** para executar payloads maliciosos de forma persistente no sistema. O systemd é o gerenciador de inicialização padrão na grande maioria das distribuições Linux modernas - substituindo o SysVinit e o Upstart - e controla a ordem de inicialização de daemons e serviços de sistema.
Arquivos `.service` ficam armazenados em `/etc/systemd/system/` (nível de sistema, requer root) ou em `~/.config/systemd/user/` (nível de usuário, sem privilégio elevado). Dentro desses arquivos, diretivas como `ExecStart`, `ExecStartPre` e `ExecStartPost` definem quais binários ou scripts são executados ao iniciar o serviço. O atributo `WantedBy=multi-user.target` garante a execução automática no boot.
Além da criação direta de arquivos `.service`, adversários podem usar **systemd generators** - executáveis rodados durante o boot para criar unit files dinâmicamente - ou inserir **symlinks** nos diretórios de unidades, permitindo que o systemd localize payloads em caminhos arbitrários do sistema de arquivos. A diretiva `User=` pode ser manipulada para escalar privilégios executando o serviço como root.
**Contexto Brasil/LATAM:** Grupos como [[g0139-teamtnt|TeamTNT]] e [[g0106-rocke|Rocke]] utilizaram essa técnica extensivamente em campanhas de cryptojacking direcionadas a ambientes cloud e contêineres Linux - cenário comum em provedores de infraestrutura brasileiros e na América Latina. Servidores expostos via SSH com credenciais fracas são o vetor de entrada predominante nessa região. O malware [[s0601-hildegard|Hildegard]] e o [[s1078-rotajkiro|RotaJákiro]] empregaram unit files do systemd para garantir sobrevivência após reinicializações em ambientes comprometidos.
## Attack Flow
```mermaid
graph TB
A["Acesso Inicial<br/>SSH brute-force / credencial vazada"] --> B
B["Criação do unit file<br/>/etc/systemd/system/svc-malicioso.service"] --> C
C["Habilitação do serviço<br/>systemctl enable + start"] --> D
D["Execução persistente<br/>Payload roda a cada boot"]
D --> E["Impacto<br/>Cryptojacking / Backdoor / Exfiltração"]
style A fill:#c0392b,color:#fff
style B fill:#e67e22,color:#fff
style C fill:#f39c12,color:#fff
style D fill:#8e44ad,color:#fff
style E fill:#2c3e50,color:#fff
```
## Como Funciona
**Passo 1 - Criação do unit file malicioso**
O adversário grava um arquivo `.service` em um diretório de unidades do systemd, apontando `ExecStart` para o payload:
```bash
# Gravar unit file malicioso (requer root para /etc/systemd/system/)
cat > /etc/systemd/system/svc-updaté.service << 'EOF'
[Unit]
Description=System Updaté Service
After=network.target
[Service]
Type=simple
ExecStart=/tmp/.updaté/payload
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
EOF
```
**Passo 2 - Habilitação e início do serviço**
```bash
systemctl daemon-reload
systemctl enable svc-updaté.service
systemctl start svc-updaté.service
```
**Passo 3 - Variante sem privilégio (nível de usuário)**
Adversários que não possuem root podem criar serviços persistentes no escopo do usuário, que sobrevivem ao login/logout:
```bash
mkdir -p ~/.config/systemd/user/
# Unit file gravado em ~/.config/systemd/user/
systemctl --user enable svc-user.service
systemctl --user start svc-user.service
loginctl enable-linger "$USER" # garante execução mesmo sem sessão ativa
```
## Detecção
**Indicadores de comprometimento:**
- Criação de arquivos `.service` fora dos pacotes gerenciados pelo sistema (apt/yum/dnf)
- `ExecStart` apontando para `/tmp/`, `/var/tmp/`, `/dev/shm/` ou caminhos ocultos (`/tmp/.xxx`)
- Serviços com `Restart=always` e nomes genéricos (`svc-updaté`, `sys-network`, `kworker`)
- Execução de `systemctl enable` por usuários não privilegiados
```yaml
# Sigma Rule - Criação de Systemd Service Suspeito
title: Suspicious Systemd Service Creation
id: a9d5c4e1-7b2f-4d3a-8e6c-1f0b9d7a2c45
status: experimental
description: Detecta criação de unit files systemd em caminhos temporários ou ocultos
logsource:
category: file_event
product: linux
detection:
selection:
TargetFilename|contains:
- '/systemd/system/'
- '/systemd/user/'
TargetFilename|endswith: '.service'
filter_legit:
TargetFilename|contains:
- '/lib/systemd/'
- '/usr/lib/systemd/'
condition: selection and not filter_legit
exec_suspicious:
CommandLine|contains:
- 'ExecStart=/tmp'
- 'ExecStart=/dev/shm'
- 'ExecStart=/var/tmp'
falsepositives:
- Administradores criando serviços personalizados legítimos
level: high
tags:
- attack.persistence
- attack.t1543.002
```
## Mitigação
| ID | Mitigação | Descrição |
|---|-----------|-----------|
| M1018 | [[m1018-user-account-management\|M1018 - User Account Management]] | Restringir quais usuários podem criar ou modificar serviços systemd |
| M1022 | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Proteger `/etc/systemd/system/` com permissões restritas (root apenas) |
| M1026 | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Limitar contas com permissão para `systemctl enable/start` |
| M1033 | [[m1033-limit-software-installation\|M1033 - Limit Software Installation]] | Usar allowlisting de software e bloquear instalação fora de repositórios confiáveis |
## Threat Actors que Usam
- [[g0139-teamtnt|TeamTNT]] - campanhas de cryptojacking em cloud Linux
- [[g1015-scattered-spider|Scattered Spider]] - persistência pós-comprometimento em infraestrutura corporativa
- [[g0106-rocke|Rocke]] - mineração de criptomoeda em servidores expostos
## Software Associado
- [[s0601-hildegard|Hildegard]] - malware de cryptojacking focado em Kubernetes
- [[s1078-rotajkiro|RotaJákiro]] - backdoor Linux de longa persistência
- [[s1198-gomir|Gomir]] - backdoor Linux com persistência via systemd
- [[s1222-riflespine|RIFLESPINE]] - malware com capacidade de persistência em Linux
- [[s0192-pupy|Pupy]] - RAT open-source com módulo de persistência Linux
- [[s0410-fysbis|Fysbis]] - backdoor Linux do grupo Sofacy/APT28
- [[sysupdate|SysUpdaté]] - malware de espionagem com persistência via serviço
- [[s0401-exaramel-for-linux|Exaramel for Linux]] - backdoor modular Linux do grupo Sandworm
---
*Fonte: [MITRE ATT&CK - T1543.002](https://attack.mitre.org/techniques/T1543/002)*