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]
Analyst context for executives and security teams
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.
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]
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.
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.
| 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. |
Groups, software, and campaigns
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]
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]
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]
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]
S1198: Gomir
S1222: RIFLESPINE
RIFLESPINE is a cross-platform backdoor that leverages Google Drive for file transfer and command execution.[1]
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]
S0410: Fysbis
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]
S0663: SysUpdate
SysUpdate is a backdoor written in C++ that has been used by Threat Group-3390 since at least 2020.[1]
S0401: Exaramel for Linux
Exaramel for Linux is a backdoor written in the Go Programming Language and compiled as a 64-bit ELF binary. The Windows version is tracked separately under Exaramel for Windows.[1]
S0601: Hildegard
C0034: 2022 Ukraine Electric Power Attack
The 2022 Ukraine Electric Power Attack was a Sandworm Team campaign that used a combination of GOGETTER, Neo-REGEORG, CaddyWiper, and living of the land (LotL) techniques to gain access to a Ukrainian electric utility to send unauthorized commands from their SCADA system.[1][2]
All related ATT&CK context
Mitigation direction
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 .
Imported snapshots across ATT&CK releases (1)
| Release | Bundle imported | Object version | Modified | Status | Raw hash |
|---|---|---|---|---|---|
| 19.1 | 1.6 | Current bundle | 06b426dabc0e… |
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.
External references and citations
MITRE external references are preserved separately from Glexia analysis so citations remain traceable to their original source records.
-
[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]
lambert systemd 2022
Tony Lambert. (2022, November 13). ATT&CK T1501: Understanding systemd service persistence. Retrieved March 20, 2023.
Open source URL -
[3]
freedesktop systemd.service
Free Desktop. (n.d.). systemd.service — Service unit configuration. Retrieved March 20, 2023.
Open source URL -
[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]
airwalk backdoor unix systems
airwalk. (2023, January 1). A guide to backdooring Unix systems. Retrieved May 31, 2023.
Open source URL -
[6]
Rapid7 Service Persistence 22JUNE2016
Rapid7. (2016, June 22). Service Persistence. Retrieved April 23, 2019.
Open source URL -
[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]
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]
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]
mitre-attack T1543.002Open source URL
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.