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