Live Active security incident? Get immediate response
MITRE ATT&CK® Technique

T1543.002: Systemd Service

Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources.[1] Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.

Systemd utilizes unit configuration files with the `.service` file extension to encode information about a service's process. By default, system level unit files are stored in the `/systemd/system` directory of the root owned directories (`/`). User level unit files are stored in the `/systemd/user` directories of the user owned directories (`$HOME`).[2]

Inside the `.service` unit files, the following directives are used to execute commands:[3]

* `ExecStart`, `ExecStartPre`, and `ExecStartPost` directives execute when a service is started manually by `systemctl` or on system start if the service is set to automatically start. * `ExecReload` directive executes when a service restarts. * `ExecStop`, `ExecStopPre`, and `ExecStopPost` directives execute when a service is stopped.

Adversaries have created new service files, altered the commands a `.service` file’s directive executes, and modified the user directive a `.service` file executes as, which could result in privilege escalation. Adversaries may also place symbolic links in these directories, enabling systemd to find these payloads regardless of where they reside on the filesystem.[4][5][6]

The `.service` file’s User directive can be used to run service as a specific user, which could result in privilege escalation based on specific user/group permissions.

Systemd services can be created via systemd generators, which support the dynamic generation of unit files. Systemd generators are small executables that run during boot or configuration reloads to dynamically create or modify systemd unit files by converting non-native configurations into services, symlinks, or drop-ins (i.e., Boot or Logon Initialization Scripts).[7][8]

EnterpriseT1543.002Sub-techniqueObject v1.6 Modified
Glexia's Take

Analyst context for executives and security teams

Analyst confidence High

Systemd service abuse matters because it turns normal Linux service management into a persistence and possible privilege-escalation path. If an attacker can create or alter a service unit, service directive, user setting, symlink, or generator, malicious code may run again at boot, service start, reload, or stop. For leaders, this is less about a single file type and more about whether Linux servers, cloud workloads, and operationally important systems have trustworthy service configuration, change control, and logs.

Executive priority

Prioritize this where Linux systems support critical applications, cloud/container infrastructure, or operational technology workflows. ATT&CK links this sub-technique to persistence and privilege escalation, and relationships include malware, groups, and the 2022 Ukraine Electric Power Attack, so it is relevant to resilience and incident scoping. Executives should ask whether teams can prove who changed systemd services, whether privileged account use is controlled, and whether service persistence would be found during response rather than only after reboot or recurring compromise.

Technical view

Validate monitoring for creation or modification of systemd `.service` unit files, service directives such as `ExecStart`, `ExecStartPre`, `ExecStartPost`, `ExecReload`, `ExecStop`, `ExecStopPre`, and `ExecStopPost`, changes to the `User` directive, symlinks placed in systemd service directories, and dynamic unit generation through systemd generators. ATT&CK provides no official detection text for this object, but relationship DET0253 specifically covers detection of systemd service creation or modification on Linux. Detection engineering should focus on authorized baseline comparison, privileged write activity, service reload/start events, and suspicious command paths or user context changes in service definitions.

Likely telemetry

  • Linux file creation, modification, ownership, permission, and symlink events for systemd service and user unit locations described by ATT&CK
  • Contents and version history of `.service` files, especially execution and `User` directives
  • Process execution telemetry for `systemctl` and service-managed payloads
  • Authentication, privilege escalation, and privileged account activity associated with service changes
  • System boot, service start, stop, reload, and configuration reload events

Detection direction

  • Confirm DET0253 or equivalent logic exists for Linux systemd service creation and modification rather than relying only on malware signatures.
  • Baseline approved services and expected directive values; alert on new, modified, or user-owned service units that run unexpected commands or change execution user context.
  • Tune for legitimate administrator and package-management activity to reduce false positives, while preserving visibility into privileged manual edits and unusual service reloads.
  • Include symlink and generator-based persistence paths, which can be missed if detection only watches static `.service` files.
  • During incidents, compare current service configuration against known-good state and investigate services that re-execute payloads at boot, start, reload, or stop.

Mitigation priorities

  • Enforce user account management and least privilege so ordinary users cannot create or modify service persistence paths unnecessarily.
  • Restrict file and directory permissions on systemd service locations, generator locations, and related configuration so only authorized administrators or processes can write there.
  • Apply privileged account management: limit root or administrative access, monitor privileged changes, and require accountability for service modifications.
  • Limit unauthorized software installation and unapproved service deployment on Linux hosts, especially servers supporting critical workloads.
  • Maintain change control and configuration baselines for systemd units so incident responders can distinguish approved services from persistence artifacts.
Analyst notes and limits

This is a Linux sub-technique under Create or Modify System Process. The relationship set broadens defensive relevance: it is used by multiple listed groups and software, including Linux backdoors and cloud/container-associated activity, and appears in a campaign involving a Ukrainian electric utility. Those relationships support prioritizing Linux service telemetry in enterprise, cloud-hosted Linux, and cyber-physical support environments, but local asset criticality and exposure must drive final priority.

MITRE did not provide official detection text for this object. The supplied data does not prove active exploitation in any specific environment, does not guarantee detection coverage, and does not identify exact local file paths beyond the systemd directories described in the official text. Organizations must validate paths, service baselines, logging depth, and administrative workflows for their own Linux distributions and deployments.

Official MITRE ATT&CK definition

Systemd Service

Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources.[1] Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.

Systemd utilizes unit configuration files with the `.service` file extension to encode information about a service's process. By default, system level unit files are stored in the `/systemd/system` directory of the root owned directories (`/`). User level unit files are stored in the `/systemd/user` directories of the user owned directories (`$HOME`).[2]

Inside the `.service` unit files, the following directives are used to execute commands:[3]

* `ExecStart`, `ExecStartPre`, and `ExecStartPost` directives execute when a service is started manually by `systemctl` or on system start if the service is set to automatically start. * `ExecReload` directive executes when a service restarts. * `ExecStop`, `ExecStopPre`, and `ExecStopPost` directives execute when a service is stopped.

Adversaries have created new service files, altered the commands a `.service` file’s directive executes, and modified the user directive a `.service` file executes as, which could result in privilege escalation. Adversaries may also place symbolic links in these directories, enabling systemd to find these payloads regardless of where they reside on the filesystem.[4][5][6]

The `.service` file’s User directive can be used to run service as a specific user, which could result in privilege escalation based on specific user/group permissions.

Systemd services can be created via systemd generators, which support the dynamic generation of unit files. Systemd generators are small executables that run during boot or configuration reloads to dynamically create or modify systemd unit files by converting non-native configurations into services, symlinks, or drop-ins (i.e., Boot or Logon Initialization Scripts).[7][8]

View the same entry on attack.mitre.org (MITRE-hosted reference; in-page links above use the Glexia ATT&CK library.)

Glexia analysis

How security teams should use this page

Treat this object as behavior context, not an attribution claim. Validate the related groups, software, data sources, and mitigations against official ATT&CK relationships and your own telemetry before making control-coverage decisions.

ATT&CK relationship table

Related techniques

This mirrors the MITRE pattern of making group, software, campaign, and technique relationships scannable. Relationship notes come from mirrored ATT&CK relationship text when available.

2 rows
Domain ID Name Relationship / procedure
Enterprise T1543 Create or Modify System Process This object subtechnique of Create or Modify System Process.
Enterprise T1501 Systemd Service Systemd Service revoked by this object.
Associated objects

Groups, software, and campaigns

Group Enterprise

G0139: TeamTNT

TeamTNT is a threat group that has primarily targeted cloud and containerized environments. The group as been active since at least October 2019 and has mainly focused its efforts on leveraging cloud and container resources to deploy cryptocurrency miners in victim environments.[1][2][3][4][5][6][7][8][9]

Group Enterprise

G1015: Scattered Spider

Scattered Spider is a native English-speaking cybercriminal group active since at least 2022. [1] [2] The group initially targeted customer relationship management (CRM) providers, business process outsourcing (BPO) firms, and telecommunications and technology companies before expanding in 2023 to gaming, hospitality, retail, managed service provider (MSP), manufacturing, and financial sectors. [2] Scattered Spider relies heavily on social engineering, including impersonating IT and help-desk staff, to gain initial access, bypass multi-factor authentication (MFA), and compromise enterprise networks. The group has adapted its tooling to evade endpoint detection and response (EDR) defenses and used ransomware for financial gain. [3] [4] [5] Scattered Spider had expanded into hybrid cloud and identity environments, using help-desk impersonation and MFA bypass to obtain administrator access in Okta, AWS, and Office 365. [6]

Group Enterprise

G0106: Rocke

Rocke is an alleged Chinese-speaking adversary whose primary objective appeared to be cryptojacking, or stealing victim system resources for the purposes of mining cryptocurrency. The name Rocke comes from the email address "rocke@live.cn" used to create the wallet which held collected cryptocurrency. Researchers have detected overlaps between Rocke and the Iron Cybercrime Group, though this attribution has not been confirmed.[1]

Malware Enterprise

S9008: Shai-Hulud

Shai-Hulud is a supply chain worm, first reported in September 2025, that spreads through code repositories, including GitHub and NPM packages. It exploits CI/CD pipeline dependencies to propagate to victims and poisons the supply chain by publishing malicious packages. Once inside a victim environment, Shai-Hulud steals credentials and access tokens from compromised repository accounts and exfiltrates them to attacker-controlled servers via encoded GitHub Actions workflows.[1][2][3][4][5][6][7]

LinuxSaaSWindows
Tool Enterprise

S0192: Pupy

Pupy is an open source, cross-platform (Windows, Linux, OSX, Android) remote administration and post-exploitation tool. [1] It is written in Python and can be generated as a payload in several different ways (Windows exe, Python file, PowerShell oneliner/file, Linux elf, APK, Rubber Ducky, etc.). [1] Pupy is publicly available on GitHub. [1]

LinuxWindowsmacOS
Malware Enterprise

S1078: RotaJakiro

RotaJakiro is a 64-bit Linux backdoor used by APT32. First seen in 2018, it uses a plugin architecture to extend capabilities. RotaJakiro can determine it's permission level and execute according to access type (`root` or `user`).[1][2]

Linux
Malware Enterprise

S0601: Hildegard

Hildegard is malware that targets misconfigured kubelets for initial access and runs cryptocurrency miner operations. The malware was first observed in January 2021. The TeamTNT activity group is believed to be behind Hildegard. [1]

LinuxContainersIaaS
Relationship explorer

All related ATT&CK context

Mitigations

Mitigation direction

Change history

Object version and sync metadata

The fields below describe the current mirrored snapshot. When Glexia retains multiple ATT&CK source imports, you can open the table to compare the same object across releases (hashes and MITRE timestamps). For MITRE’s own release notes and roadmap, see ATT&CK resources — Updates .

ATT&CK release
19.1
Object version
1.6
Created
Modified
Raw hash
06b426dabc0e510c...
Imported snapshots across ATT&CK releases (1)
Release Bundle imported Object version Modified Status Raw hash
19.1 1.6 Current bundle 06b426dabc0e…
Raw source

Mirrored ATT&CK source object

The raw object is retained through the mirrored ATT&CK source bundle and object hash. The raw endpoint returns the exact object from the mirrored bundle when available.

Source references

External references and citations

MITRE external references are preserved separately from Glexia analysis so citations remain traceable to their original source records.

  1. [1]
    Linux man-pages: systemd January 2014

    Linux man-pages. (2014, January). systemd(1) - Linux manual page. Retrieved April 23, 2019.

    Open source URL
  2. [2]
    lambert systemd 2022

    Tony Lambert. (2022, November 13). ATT&CK T1501: Understanding systemd service persistence. Retrieved March 20, 2023.

    Open source URL
  3. [3]
    freedesktop systemd.service

    Free Desktop. (n.d.). systemd.service — Service unit configuration. Retrieved March 20, 2023.

    Open source URL
  4. [4]
    Anomali Rocke March 2019

    Anomali Labs. (2019, March 15). Rocke Evolves Its Arsenal With a New Malware Family Written in Golang. Retrieved April 24, 2019.

    Open source URL
  5. [5]
    airwalk backdoor unix systems

    airwalk. (2023, January 1). A guide to backdooring Unix systems. Retrieved May 31, 2023.

    Open source URL
  6. [6]
    Rapid7 Service Persistence 22JUNE2016

    Rapid7. (2016, June 22). Service Persistence. Retrieved April 23, 2019.

    Open source URL
  7. [7]
    Elastic Security Labs Linux Persistence 2024

    Ruben Groenewoud. (2024, August 20). Linux Detection Engineering - A primer on persistence mechanisms. Retrieved March 18, 2025.

    Open source URL
  8. [8]
    Pepe Berba Systemd 2022

    Pepe Berba. (2022, February 7). Hunting for Persistence in Linux (Part 5): Systemd Generators. Retrieved April 8, 2025.

    Open source URL
  9. [9]
    Berba hunting linux systemd

    Pepe Berba. (2022, January 30). Hunting for Persistence in Linux (Part 3): Systemd, Timers, and Cron. Retrieved March 20, 2023.

    Open source URL
  10. [10]
    mitre-attack T1543.002
    Open source URL
Source and licensing

Source: MITRE ATT&CK®. © 2026 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. MITRE ATT&CK and ATT&CK are registered trademarks of The MITRE Corporation. Glexia is not affiliated with or endorsed by MITRE.