Starting a program through the operating system's service manager is one of the most common ways attackers run code as SYSTEM or root, and one of the most common ways ransomware reaches every host in a network at once. MITRE ATT&CK tracks this as T1569 System Services, an Execution (TA0002) technique with three sub-techniques: T1569.001 Launchctl on macOS, T1569.002 Service Execution on Windows and T1569.003 Systemctl on Linux. This guide is for detection engineers, endpoint owners and incident responders. It concentrates on the execution step: the temporary remote service, the one-shot start, the abused daemon. Creating and modifying services for persistence is T1543, covered in the T1543 Create or Modify System Process Defensive Guide, which includes the full Event 4697 field reference this page does not repeat.
Key takeaways
- Execution, not persistence. ATT&CK separates running code through a service (T1569) from creating or changing a service to persist (T1543). Many attacks do both in seconds, so detection rules should cover the pair.
- Remote service execution is a lateral movement engine. Tools such as PsExec, Impacket modules, Winexe and xCmd create a service on a remote host, run a command and often delete the service again. CISA reports Medusa actors used PsExec to run scripts as SYSTEM and to push the encryptor across networks.
- Valid credentials are the prerequisite. Remote service creation needs administrative rights on the target. Every local administrator account and every service account with wide admin rights is a potential execution path.
- The parent process is the signal. On Windows, unusual children of
services.exe; on Linux, unusual units started bysystemctl; on macOS,launchctlloading plists from user-writable paths. - ATT&CK lists four mitigations. M1018 User Account Management, M1022 Restrict File and Directory Permissions, M1026 Privileged Account Management and M1040 Behavior Prevention on Endpoint, including the Attack Surface Reduction rule that blocks process creations from PsExec.
What the technique covers
ATT&CK v20 (T1569 version 1.4) describes adversaries abusing system services or daemons to execute commands or programs, by interacting with or creating services locally or remotely.
| Sub-technique | Platform | Mechanism ATT&CK describes | Detection strategy | Mitigations (v20) |
|---|---|---|---|---|
| T1569.001 Launchctl | macOS | launchctl subcommands such as load, unload and start to run programs as Launch Agents or Launch Daemons | DET0265 | M1018 |
| T1569.002 Service Execution | Windows | The service control manager (services.exe), via GUI, sc.exe, net or the API; PsExec creates a temporary service; sc.exe and PsExec accept remote servers | DET0421 | M1022, M1026, M1040 |
| T1569.003 Systemctl | Linux | systemctl subcommands such as start, stop, enable, disable and status to run programs as systemd services | DET0073 | M1018 |
| T1569 (parent) | All three | Any of the above | DET0279 | M1018, M1022, M1026, M1040 |
Related techniques draw the edges: creating the service is T1543.003 Windows Service or T1543.002 Systemd Service; reaching the remote host over SMB is T1021 Remote Services; copying the payload there first is MITRE ATT&CK T1570 Lateral Tool Transfer; and the WMI alternative is covered in the T1047 Windows Management Instrumentation Defensive Guide.
How adversaries use it: real cases
T1569.002 has one of the longest procedure lists in ATT&CK v20. A representative selection, with the research ATT&CK cites:
Ransomware deployment
- Medusa Group (G1051): CISA's March 2025 advisory describes actors with valid credentials using PsExec to copy a batch script to remote machines and run it as SYSTEM, including a script that opened TCP 3389 and enabled remote WMI, then using PsExec, PDQ Deploy or BigFix to push the encryptor. See the Medusa Ransomware Threat Actor Profile.
- INC Ransom (G1032): ran a file encryption executable as a demand-start LocalSystem service named
winupd, recorded as Service Control Manager event 7045 (Huntress, August 2023). See the INC Ransom and Lynx Ransomware Profile Guide. - LockBit 3.0 (S1202), Pysa (S0583) and BlackByte (G1043): used PsExec or malicious services to execute ransomware (joint advisory June 2023, CERT-FR 2020, Symantec and Cisco).
- Embargo (S1247): created a service named
irnagentdthat ran its loader after rebooting the system into Safe Mode (ESET, October 2024), a route chosen because security tools may not run in Safe Mode.
Destructive and targeted intrusions
- NotPetya (S0368) and Olympic Destroyer (S0365): used PsExec to propagate across networks (Talos and US-CERT). HermeticWiper (S0697) creates services to execute its payload.
- Wizard Spider (G0102): used
services.exeto execute scripts and executables during lateral movement, with batch scripts that use PsExec. - APT38 (G0082): created new services or modified existing ones to run executables, commands or scripts (CISA AA20-239A, BeagleBoyz).
- SharePoint ToolShell exploitation (C0058): threat actors used PsExec for command execution and
services.exein disabling Microsoft Defender through registry keys.
Linux, macOS and network daemons
- TeamTNT (G0139): created system services to run cryptocurrency mining software (Cisco Talos).
- CanisterWorm (S9042): ran
systemctl --user daemon-reload, then enabled and started a malicious user service (Aikido, March 2026). User-level units need no root, which makes them attractive on build agents and developer hosts. - AppleJeus (S0584) and Cuckoo Stealer (S1153): loaded plists with
launchctl(CISA, February 2021; Kandji, April 2024). - Salt Typhoon (G1045): used the SNMP daemon to execute commands, including SNMPwalk (CISA AA25-239A, September 2025). See the Salt Typhoon Threat Actor Profile.
What to detect and where
MITRE's four detection strategies give the platform analytics below. The Windows rules overlap with T1543 because the same events record both creation and execution.
| Platform | Analytics | Data components and log sources (ATT&CK) | Practical rule |
|---|---|---|---|
| Windows | AN1185, AN0778 | Service Creation (Security 4697); Process Creation (Sysmon 1); Registry Key Modification on service keys (Sysmon 13, 14); Network Connection Creation (Sysmon 3, 22) | services.exe spawning cmd.exe, powershell.exe or a binary from a temporary or admin share path; a service installed and removed within minutes |
| Linux | AN0200, AN0779 | Command Execution (auditd EXECVE of systemctl start, stop, enable, disable); File Modification (writes to .service files); Service Creation (auditd CONFIG_CHANGE) | systemctl run by a web, application or CI account; units whose ExecStart points to /tmp, /dev/shm or a home directory |
| macOS | AN0736, AN0780 | Command Execution (launchctl load, unload, start); File Modification (plists in LaunchAgents and LaunchDaemons); Process Creation; Service Creation | A new plist followed by launchctl loading it, with a program path in a user-writable location |
Remote service execution patterns
- Logon then service: a network logon (4624 logon type 3) from another workstation or server, followed within seconds by 4697 or System 7045 for a new service and a child of
services.exeon the same host. - Fan-out: the same source host creating services on many targets in a short window. This is the strongest ransomware deployment signal.
- Short-lived services: service names that appear once, run once and are deleted, a behaviour ATT&CK records for Winexe, Mafalda and similar tools.
- Admin share writes before execution: a binary written to
ADMIN$orC$and then registered as a service binary path. - Endpoint rule telemetry: Microsoft Defender advanced hunting records the PsExec and WMI rule as
AsrPsexecWmiChildProcessAuditedin audit mode andAsrPsexecWmiChildProcessBlockedin block mode.
Impacket's service execution modules leave a distinct pattern; see the Impacket Detection Guide.
Mitigations and hardening
The four ATT&CK v20 mitigations, with the practical controls behind them:
| Mitigation | ATT&CK guidance | Practical implementation | Trade-off |
|---|---|---|---|
| M1026 Privileged Account Management | Permissions should stop lower-privileged users creating or interacting with services that run at a higher level | Unique local administrator passwords per host; tiered admin accounts so workstation admins cannot reach servers; no domain-wide admin service accounts | Needs a supported route for software deployment |
| M1022 Restrict File and Directory Permissions | High-privilege service binaries must not be replaceable by lower-privileged users | Service binaries in protected paths; audit write permissions on service executables and unit files | Third-party software sometimes installs to writable paths |
| M1040 Behavior Prevention on Endpoint | Enable the Attack Surface Reduction rule that blocks processes created by PsExec | ASR rule Block process creations originating from PSExec and WMI commands, GUID d1e49aac-8f56-4280-b9ba-993a6d77406c, audit mode first | Microsoft warns not to enable it on devices managed by Configuration Manager, whose client relies heavily on WMI |
| M1018 User Account Management | Prevent users installing their own launch agents or daemons; limit systemctl to users with a legitimate need | sudo rules that do not grant systemctl broadly; MDM restrictions on launch items for macOS | Developers and operators may need scoped exceptions |
CISA's Medusa advisory adds network controls that cut remote service execution off at the transport layer: segment networks, block traffic from unknown or untrusted origins to remote services on internal systems, require VPNs or jump hosts for remote access, and audit administrative accounts for least privilege. In practice that means host firewalls that allow SMB to workstations only from management systems.
Where identity fits
Every remote service execution is an authenticated administrative action, so the identity that made it is the investigation's first lead. Shared local administrator passwords let one compromised host unlock every other; LAPS removes that. Service accounts used by deployment, backup and monitoring tools often hold local admin on every server, which is exactly what PsExec-style tools need, and Medusa actors used PDQ Deploy and BigFix as well as PsExec. Inventory which non-human identities hold admin rights across many hosts, restrict where they can log on from, and alert when one creates a service from an unusual source. See the Local Administrator Password Solution (LAPS) Guide, the Tiered Administration and Enterprise Access Model Guide and How to find Windows services running as domain accounts.
How to test and roll out
- Turn on the telemetry: Audit Security System Extension for 4697, System log 7045, Sysmon process creation and registry events on service keys; auditd rules for
systemctland unit directories; unified log or EDR on macOS launch items. - Baseline legitimate remote execution: list the tools and service accounts that run code remotely through services (software deployment, patching, backup, monitoring) and the hosts they run from.
- Emulate: in a test segment, an authorised tester runs a benign command remotely through a temporary service, starts a test systemd unit as a non-root user, and loads a test launch agent. Use an emulation framework mapped to T1569 and confirm each analytic fires.
- Deploy the ASR rule in audit: collect
AsrPsexecWmiChildProcessAuditedevents for two to four weeks, identify legitimate tools that trigger it, and move pilot rings to block. - Restrict SMB and RPC paths: host firewall rules so workstations accept administrative connections only from management hosts; pilot on one site first.
- Roll back: return the ASR rule to audit for affected device groups, or revert the firewall policy for a ring, and record the exception against a named tool and owner.
Metrics
- Share of Windows hosts logging 4697 and 7045 centrally, and of Linux hosts with
systemctlauditing. - Devices with the PsExec and WMI ASR rule in block mode, as a share of eligible devices.
- Number of accounts, human and non-human, with local admin on more than 50 hosts.
- Remote service creations per week from sources outside the approved management hosts (target: zero).
- Time from a test remote service execution to SOC alert in purple team exercises.
Common failure patterns
- Allowlisting PsExec by name: attackers use the same tool administrators use, and Microsoft documents a PsExec option (
-r) that sets the name of the remote service to create, so name-based exclusions are fragile. - Excluding deployment tool accounts wholesale: Medusa used deployment tools to push ransomware; their service accounts need baselines, not blanket exclusions.
- Logging service creation only: 4697 records install time; the execution and the deletion that follow need process and registry telemetry.
- Ignoring user-level systemd units: user services run without root and are rarely monitored on build agents.
- Flat SMB access: every workstation able to reach every other on port 445 turns one admin credential into fleet-wide execution.
- ASR rule enabled on Configuration Manager clients: Microsoft warns this conflicts with the client's use of WMI.
Framework mapping
| Framework | Reference | Relevance |
|---|---|---|
| MITRE ATT&CK | T1569, T1569.001, T1569.002, T1569.003; TA0002; DET0279, DET0265, DET0421, DET0073; M1018, M1022, M1026, M1040 | Technique, detection and mitigation |
| MITRE ATT&CK (related) | T1543.003; T1543.002; T1543.004; T1021.002; T1570; T1047 | Service creation, remote access and payload transfer |
| NIST SP 800-53 Rev 5 | AC-6 Least Privilege; AC-17 Remote Access; SC-7 Boundary Protection | Admin rights, remote administration paths, segmentation |
| NIST SP 800-53 Rev 5 | CM-7 Least Functionality; CM-7(5) Authorized Software | Restricting remote execution tools and service binaries |
| NIST SP 800-53 Rev 5 | AU-12 Audit Record Generation; SI-4 System Monitoring | Service and process telemetry |
| NIST CSF 2.0 | PR.AA-05; PR.PS-04; DE.CM-09; DE.AE-02 | Access, logging, monitoring and analysis |
Practitioner checklist
- Log 4697, 7045, process creation and service registry changes centrally on Windows.
- Audit
systemctlexecution and unit file writes on Linux, including user units. - Monitor launch item plists and
launchctluse on macOS. - Alert on one source creating services on many hosts, and on services installed and deleted within minutes.
- Deploy the PsExec and WMI ASR rule in audit, then block, outside Configuration Manager clients.
- Use LAPS and tiered admin accounts so one credential does not unlock every host.
- Baseline deployment, backup and monitoring service accounts and restrict where they log on from.
- Limit SMB and RPC administrative access to workstations from management hosts only.
Standards and references
- MITRE ATT&CK: System Services (T1569)
- MITRE ATT&CK: Service Execution (T1569.002)
- Microsoft: Attack surface reduction rules reference
- Microsoft: 4697(S) A service was installed in the system
- Microsoft Sysinternals: PsExec
- CISA: #StopRansomware: Medusa Ransomware (AA25-071A)
- NIST: SP 800-53 Rev. 5 Security and Privacy Controls
Related NHI Mgmt Group resources: ATT&CK Execution Tactic Guide · T1543 Create or Modify System Process Defensive Guide · Lateral Movement Guide · Impacket Detection Guide · Local Administrator Password Solution (LAPS) Guide