analyst@nohacky:~/mitre$
cat/mitre/t1569
analyst@nohacky:~/mitre/t1569-system-services.html
reading mode17 min read
technique_idT1569
categoryMITRE ATT&CK
tactics
Execution
publishedMarch 2026

T1569: System Services

When a ransomware operator needs to execute their payload on 500 machines simultaneously, they do not log into each one. They use PsExec, Impacket, or sc.exe to remotely create and start a Windows service that executes their ransomware binary on every target, all from a single compromised domain controller. System services — the background processes that Windows, Linux, and macOS use to run essential functions — are among the most abused execution mechanisms in the threat landscape because they provide remote execution capability, SYSTEM-level privilege, and persistence across reboots. Adversaries interact with the Service Control Manager (SCM) API or platform-specific daemon managers to create new services, modify existing ones, or use legitimate remote execution tools that operate through service creation. In 2024–2025, PsExec remains among the top five tools used in cyberattacks (CyberProof Mid-Year 2025), with at least 30 documented threat groups abusing it — from Volt Typhoon to Fog ransomware. Impacket's psexec.py and smbexec.py have become standard lateral movement tools for ransomware affiliates operating through RaaS platforms. The technique spans Windows (T1569.002), macOS (T1569.001), and Linux (T1569.003), but the overwhelming majority of real-world abuse targets the Windows Service Control Manager.

The ransomware deployment engine

T1569.002 (Service Execution) is the primary mechanism through which ransomware is deployed at scale across enterprise networks. PsExec drops a service executable (PSEXESVC.exe) on the target system via the ADMIN$ share, creates a temporary service via the SCM, and executes the specified command — all requiring only administrative credentials and SMB access (port 445). BlackCat/ALPHV embedded PsExec within its ransomware binary and dropped it to %TEMP% for self-propagation. Kasseika ransomware used PsExec to deploy batch scripts that loaded BYOVD drivers to kill EDR before encryption. LockBit affiliates use both PsExec and Impacket for mass deployment. The CISA LockBit advisory (June 2023) specifically documented service execution as a core TTP. Medusa ransomware operators combine PsExec with Impacket and PDQ Deploy for lateral movement (Symantec, March 2025). Intel 471's August 2025 threat hunting guide identified PsExec artifacts as a priority detection target for ransomware prevention. The technique has three sub-techniques: T1569.001 (Launchctl on macOS), T1569.002 (Service Execution on Windows), and T1569.003 (Systemctl on Linux, added October 2025).

T1569 falls under the Execution tactic (TA0002). The technique covers any abuse of system services or daemons to execute commands or programs. Services run at boot and operate with elevated privileges (typically SYSTEM on Windows, root on Linux/macOS), making them an attractive execution mechanism. T1569 is the execution component — it is used in conjunction with T1543 (Create or Modify System Process) for persistence, and frequently combined with lateral movement techniques (T1021 Remote Services) when services are created on remote systems via PsExec, Impacket, or WMI.

Sub-Techniques

T1569.001: Launchctl (macOS)

On macOS, launchctl is the interface for interacting with launchd, the service management framework. Adversaries can use launchctl load to load a property list (plist) that defines a daemon or agent, executing arbitrary code when the service starts. The launchctl submit command can execute programs without a plist file. This sub-technique is used by macOS-targeting malware for persistence (launch daemons run as root) and execution. LoudMiner, a cryptominer targeting macOS, used launchctl for persistent execution. WindTail (WindShift APT) targeting Middle Eastern entities also leveraged launchctl for execution.

T1569.002: Service Execution (Windows)

This is by far the most operationally significant sub-technique. Adversaries interact with the Windows Service Control Manager (SCM) to create and start services that execute malicious code. The primary methods are:

PsExec — the Sysinternals tool that remains the dominant service execution mechanism in attacks. PsExec copies a service executable (PSEXESVC.exe) to the target's ADMIN$ share via SMB, creates a temporary service named PSEXESVC via the SCM, starts the service (which runs the specified command as SYSTEM), and communicates results through named pipes (\\.\pipe\PSEXESVC-stdin, \\.\pipe\PSEXESVC-stdout, \\.\pipe\PSEXESVC-stderr). This entire process requires administrative credentials and SMB access (TCP 445). The 2025 CyberProof report identifies PsExec as one of the top five tools used in attacks, with Medusa, LockBit, Kasseika, BlackSuit, and Fog ransomware all documented using it.

Impacket (psexec.py / smbexec.py / wmiexec.py) — the open-source Python toolkit that provides PsExec-like functionality without requiring the Sysinternals binary. Impacket's psexec.py creates a service on the remote system that executes a command and returns output. smbexec.py is a stealthier variant that creates a service executing commands through cmd.exe and redirects output to a file on the ADMIN$ share. Output is written to \\127.0.0.1\ADMIN$\__[timestamp]. Impacket has been adopted by a wide range of threat actors — Microsoft documented its use in post-ransomware investigations, and it is a standard tool in the Cobalt Strike and Metasploit ecosystems.

sc.exe — the native Windows service control command. Adversaries use sc \\target create ServiceName binPath= "malicious.exe" followed by sc \\target start ServiceName to create and start remote services. Unlike PsExec, sc.exe is a built-in Windows utility that leaves no additional binaries on the target system (living-off-the-land). NotPetya and HermeticWiper both used sc.exe for remote service execution during destructive operations against Ukrainian targets.

Winexe / Smbexec — Linux-native tools for remote Windows service execution. Winexe is an open-source equivalent of PsExec for Linux. These tools are used when adversaries operate from Linux-based attack infrastructure to execute commands on Windows targets through service creation.

T1569.003: Systemctl (Linux)

Added to MITRE ATT&CK in October 2025 (v18), this sub-technique covers adversaries using systemctl to interact with the systemd service manager on Linux. Adversaries can create new systemd service unit files in /etc/systemd/system/ or /usr/lib/systemd/system/ that execute malicious payloads, then use systemctl enable and systemctl start to activate them. This provides both execution and persistence with root-level privileges. Velvet Ant, a China-nexus threat group documented by Sygnia in June 2024, abused systemd services for persistent access to F5 BIG-IP load balancers. Linux ransomware targeting ESXi hypervisors increasingly uses systemd for execution and persistence.

How Service Execution Works

The PsExec Execution Chain

Understanding the PsExec execution chain is critical for detection because each step produces distinct artifacts. Step 1: Authentication. PsExec authenticates to the target system over SMB (TCP 445) using the provided credentials, generating a Logon Type 3 (Network) event (Security EID 4624). Step 2: Service binary copy. PsExec copies PSEXESVC.exe to the target's \\target\ADMIN$ share (the Windows directory). This creates a file creation event detectable by Sysmon EID 11 or EDR file monitoring. Step 3: Service creation. PsExec uses the SCM to create a service named PSEXESVC, generating Security EID 7045 (new service installed) and System EID 7036 (service state change). Step 4: Named pipe creation. PSEXESVC creates named pipes for stdin/stdout/stderr communication, detectable by Sysmon EIDs 17/18. Step 5: Command execution. The specified command executes as a child process of PSEXESVC.exe under the SYSTEM account. Step 6: Cleanup. After execution, PsExec stops and deletes the service and removes PSEXESVC.exe from ADMIN$.

Remote Service Creation with sc.exe

The native sc.exe approach is simpler but generates similar artifacts: sc \\target create svcname binPath= "cmd /c malware.exe" start= auto creates a service on the remote system. sc \\target start svcname starts it. The advantage for adversaries is that sc.exe is a built-in utility — no additional tool needs to be deployed. The disadvantage is that the malicious binary must already be on the target system (it is not automatically copied like with PsExec). This is why sc.exe is typically combined with prior file copy operations (via SMB, WMI, or other means).

Impacket Remote Execution

Impacket's psexec.py follows a similar pattern to PsExec but with important differences for detection. The service name is typically randomized (not PSEXESVC). The service binary is a unique randomly named executable (not PSEXESVC.exe). Output is redirected through files on the ADMIN$ share with double-underscore timestamp naming (__[epoch_timestamp]). Impacket's smbexec.py creates a service that runs cmd.exe /Q /c [command] > \\127.0.0.1\ADMIN$\__[timestamp] 2>&1, making it detectable through the cmd.exe /Q /c pattern and the output redirect to localhost ADMIN$.

Why System Services Execution Matters

SYSTEM-Level Execution

Services created through the SCM typically run as NT AUTHORITY\SYSTEM — the highest privilege level on Windows. This means any command executed through PsExec, Impacket, or sc.exe inherits SYSTEM privileges, enabling the adversary to access any file, terminate any process (including security tools), modify the registry, and interact with kernel-level components. This is why service execution is the preferred method for deploying ransomware: the encryption process needs SYSTEM access to encrypt files owned by all users and to disable recovery mechanisms like Volume Shadow Copies.

Remote Execution at Scale

PsExec accepts target lists and can execute commands on multiple remote systems from a single command line. Ransomware operators create scripts that iterate through lists of discovered hosts, running PsExec against each one to deploy the encryption payload. This enables a single operator on a compromised domain controller to encrypt hundreds or thousands of systems within minutes. The DFIR Report has documented multiple ransomware intrusions where the time from PsExec deployment to full encryption was under 30 minutes.

Living-off-the-Land Legitimacy

PsExec is a legitimate Sysinternals tool used by system administrators for remote management. sc.exe is a built-in Windows utility. Both generate activity that looks identical to legitimate administrative operations. An alert for "new service created on server" will fire constantly in environments where administrators use PsExec for patch deployment or software installation. This false-positive challenge means detection must focus on contextual indicators: which user created the service, from what source system, at what time, what was the service binary, and what did the child process do after execution.

Real-World Case Studies

Case 1: LockBit — PsExec and Impacket for Mass Ransomware Deployment (2023–2025)

The CISA/FBI/MS-ISAC advisory on LockBit (June 2023, UNDERSTANDING RANSOMWARE THREAT ACTORS: LOCKBIT) documented LockBit affiliates using PsExec and Cobalt Strike for lateral movement and service-based execution for ransomware deployment. LockBit's affiliate model means that dozens of different operators use T1569.002 with varying tradecraft — from native PsExec to Impacket's psexec.py to custom deployment scripts. Despite the February 2024 Operation Cronos disruption, LockBit affiliates continued operations through alternative infrastructure, and the PsExec/service execution deployment model remained standard. Intel 471's August 2025 PsExec threat hunting guide specifically used LockBit as a case study for PsExec artifact detection.

Case 2: BlackCat/ALPHV — Embedded PsExec for Self-Propagation (2022–2024)

BlackCat ransomware took service execution one step further by embedding the PsExec binary directly within its ransomware payload. When executed, BlackCat dropped PsExec to the victim's %TEMP% directory and used it to propagate the ransomware to other systems on the network — creating services that executed the ransomware binary on each target. Atomic Red Team documented this behavior pattern, noting that PsExec being executed from suspicious locations (like %TEMP%) with pipe creation for command execution is a high-fidelity detection opportunity. BlackCat's Rust codebase also directly called Windows API functions for service creation as an alternative to PsExec when the binary was not available.

Case 3: HermeticWiper — sc.exe for Destructive Service Deployment (February 2022)

HermeticWiper and its companion worm HermeticWizard, deployed against Ukrainian organizations on the eve of the Russian invasion, used sc.exe for remote service creation to spread across victim networks. After HermeticWizard identified accessible systems through WMI and SMB scanning, it copied the wiper payload to remote systems and used sc.exe to create and start services that executed the destructive payload. WhisperGate, another destructive wiper targeting Ukraine in January 2022, used similar service execution techniques. These cases demonstrate T1569 being used for destructive operations rather than traditional ransomware monetization.

Case 4: Kasseika Ransomware — PsExec + BYOVD Service Chain (January 2024)

Kasseika ransomware, documented by Trend Micro in January 2024, demonstrated a sophisticated multi-stage service execution chain. After initial access through phishing and credential theft, operators used PsExec to remotely deploy a batch script that orchestrated the entire attack sequence. The batch script created a Windows service to load the Martini.sys driver (a vulnerable VirIT Agent System driver) for BYOVD-based EDR killing, then executed the ransomware payload — all through service creation and execution. The entire attack chain, from PsExec deployment of the batch file to driver loading to EDR termination to encryption, operated through the Windows service infrastructure.

Case 5: Medusa Ransomware — Impacket, PsExec, and PDQ Deploy (2025)

Symantec's March 2025 report on increasing Medusa activity documented affiliates combining Impacket, PsExec, and PDQ Deploy (a legitimate software deployment tool) for lateral movement and payload deployment. The multi-tool approach demonstrates operational flexibility: Impacket for initial remote execution from Linux-based attack infrastructure, PsExec for Windows-to-Windows service execution, and PDQ Deploy for mass software distribution that leverages legitimate deployment mechanisms. Microsoft's July 2025 analysis of RMM-based intrusions documented similar patterns where Medusa operators used Impacket to execute PowerShell from C:\Perflogs\ and PsExec to spread ransomware payloads across victim networks.

Detection Strategies

Data SourceDetection FocusKey Indicators
Windows Security (EID 7045)New service installationService name PSEXESVC or randomized names; service binary in ADMIN$, %TEMP%, or non-standard paths; services with cmd.exe /c in the binary path
Process Creation (Sysmon EID 1)Service process child spawningProcesses spawned by PSEXESVC.exe, services.exe child processes that are cmd.exe/powershell.exe, sc.exe with remote target (\\hostname) and create/start arguments
Named Pipe (Sysmon EID 17/18)PsExec communication pipesPipes named PSEXESVC-stdin/stdout/stderr, Impacket randomized pipe names, pipe creation by non-standard processes
File Creation (Sysmon EID 11)Service binary deploymentPSEXESVC.exe or unknown executables created in C:\Windows\ (ADMIN$ share), executable files created followed by service creation events
Network Connection (Sysmon EID 3)SMB lateral movementConnections to TCP 445 from non-admin workstations, RPC connections to TCP 135 for remote service management, anomalous SMB connection patterns
Command ExecutionImpacket artifactscmd.exe /Q /c commands with output redirect to \\127.0.0.1\ADMIN$\__[timestamp], service binaries with random 8-character names in C:\Windows\
Linux Audit (auditd)Systemd service manipulationNew unit files created in /etc/systemd/system/, systemctl enable/start for unknown services, service files with ExecStart pointing to unusual binaries

Splunk / SIEM Detection Queries

Detect new Windows service creation with suspicious binary paths:

index=wineventlog EventCode=7045
| eval suspicious=case(
    match(Service_File_Name, "(?i)(cmd\.exe|powershell|psexec|\\\\127\.0\.0\.1|%temp%|\\\\admin\$)"), "HIGH",
    match(Service_File_Name, "(?i)(C:\\\\Windows\\\\[a-z0-9]{8}\.exe)"), "MEDIUM",
    match(Service_Name, "(?i)(PSEXESVC|[A-Za-z]{8})") AND NOT match(Service_Name, "(?i)(Windows|Microsoft|Defender|Update)"), "MEDIUM",
    1=1, "LOW")
| where suspicious IN ("HIGH", "MEDIUM")
| stats count by Computer, Service_Name, Service_File_Name, Service_Type, suspicious
| sort -suspicious -count

Detect PsExec execution artifacts (PSEXESVC process tree):

index=sysmon EventCode=1
(ParentImage="*\\PSEXESVC.exe"
 OR (Image="*\\PSEXESVC.exe")
 OR (Image="*\\PsExec*" AND CommandLine IN ("*\\\\*-s*", "*\\\\*-d*", "*\\\\*cmd*")))
| stats count values(CommandLine) as commands values(Image) as child_processes
  by Computer, User, ParentImage
| sort -count

Detect Impacket smbexec/psexec artifacts:

index=sysmon EventCode=1
((Image="*\\cmd.exe" AND CommandLine="*/Q /c*"
  AND CommandLine="*\\\\127.0.0.1\\ADMIN$\\__*2>&1*")
 OR (ParentImage="*\\services.exe"
     AND Image="*\\cmd.exe"
     AND CommandLine="*/Q /c*echo*"))
| stats count by Computer, User, Image, CommandLine, ParentImage
| sort -count

Detect remote service creation via sc.exe:

index=sysmon EventCode=1
Image="*\\sc.exe"
CommandLine="*\\\\*" CommandLine="*create*"
| rex field=CommandLine "\\\\\\\\(?<target_host>[^\s\\]+)"
| stats count values(CommandLine) as commands by Computer, User, target_host
| sort -count

Threat Actors and Tools

Ransomware and Cybercrime

GroupService Execution MethodsNotable Context
LockBitPsExec, Impacket, Cobalt StrikeCISA advisory; top ransomware until Operation Cronos (Feb 2024)
BlackCat / ALPHVEmbedded PsExec in ransomware binary; direct SCM APISelf-propagating via PsExec from %TEMP%; Rust codebase
MedusaPsExec, Impacket, PDQ Deploy300+ victims; multi-tool lateral movement (Symantec, March 2025)
KasseikaPsExec for batch script deployment + BYOVD chainPsExec to driver loading to EDR kill to encryption
BlackSuitPsExec, PowerShell, Cobalt Strike, MimikatzVishing + VPN credential theft for initial access
FogPsExec, PowerShell, WMIAppeared early 2024; VPN vulnerability exploitation
Ryuk / ContiPsExec for mass deployment from domain controllersPioneered PsExec-based ransomware distribution at scale
WastedLocker (Evil Corp)PsExec, sc.exe for service creationService-based payload execution
INC RansomPsExec, service executionAirline targeting; Huntress documentation (Aug 2023)
NetWalkerPsExec for lateral deploymentHealthcare and education targeting

State-Sponsored Groups

ActorService Execution MethodsNotable Context
Volt Typhoon (PRC)PsExec, native service toolsLOTL approach in U.S. critical infrastructure
APT41 (PRC)Service execution for malware deploymentU.S. state government targeting (Mandiant, 2022)
Sandworm (Russia/GRU)sc.exe, service-based wiper deploymentHermeticWiper/HermeticWizard; NotPetya; Ukrainian targets
Emissary Panda / APT27 (PRC)Service execution on SharePoint serversMiddle East government targeting
Turla (Russia/FSB)PsExec, custom service executionLong-running espionage campaigns
Velvet Ant (PRC)systemctl on F5 BIG-IP (T1569.003)Load balancer persistence (Sygnia, June 2024)
Ke3chang / APT15 (PRC)Service-based execution via RoyalCliGovernment and diplomatic targeting

Execution Tools

ToolMechanismKey Artifacts
PsExec (Sysinternals)PSEXESVC.exe service via ADMIN$ + SCMPSEXESVC service name, PSEXESVC.exe in C:\Windows\, named pipes
Impacket psexec.pyRandomized service + binary via SCMRandom service name, random .exe in C:\Windows\, \\127.0.0.1\ADMIN$\__[ts] output
Impacket smbexec.pycmd.exe /Q /c via service creationcmd.exe /Q /c pattern, output redirect to ADMIN$
sc.exe (native)Direct SCM service creationsc.exe with \\target and create/start args; no binary deployment
Cobalt StrikePsExec module, service executionBeacon service creation with random names; SMB beacon pipes
Metasploit PsExecService creation with Meterpreter payloadRandom service name; staged/stageless payload execution
WinexeLinux PsExec equivalent via SMBSimilar to PsExec artifacts; winexesvc.exe service binary

Defensive Recommendations

  • Monitor Event ID 7045 for new service installations. EID 7045 logs every new service installed on a Windows system. Create detection rules that alert on services with suspicious binary paths (cmd.exe, powershell.exe, executables in %TEMP% or C:\Windows\ with random names), services with the name PSEXESVC or random 8-character names, and any service creation that occurs outside of change management windows. Correlate EID 7045 with the source of the SCM connection (network logon) to identify remote service creation.
  • Detect PsExec artifacts across the kill chain. Monitor for the complete PsExec execution chain: PSEXESVC.exe file creation in C:\Windows\ (Sysmon EID 11), service creation event (EID 7045), named pipe creation matching PSEXESVC patterns (Sysmon EID 17/18), and child process spawning from PSEXESVC.exe (Sysmon EID 1). Detecting any single artifact provides valuable signal; detecting the full chain provides high-confidence attribution.
  • Detect Impacket execution patterns. Impacket's smbexec.py generates a distinctive pattern: cmd.exe /Q /c with output redirected to \\127.0.0.1\ADMIN$\__[timestamp]. Impacket's psexec.py creates services with randomly named executables in C:\Windows\. Monitor for these specific patterns in process creation and service installation logs.
  • Restrict administrative share access. PsExec and Impacket require access to the ADMIN$ share (C:\Windows) to deploy service binaries. Restrict ADMIN$ and C$ share access to only authorized administrative accounts and systems. Consider disabling default administrative shares on workstations where they are not needed for legitimate management. Monitor SMB connections to ADMIN$ shares from non-administrative systems.
  • Implement Attack Surface Reduction (ASR) rules. Microsoft's ASR rules include protections specifically relevant to T1569: "Block process creations originating from PSExec and WMI commands" directly addresses PsExec-based service execution. Enable this ASR rule in audit mode first to identify legitimate PsExec usage, then move to block mode where operationally feasible.
  • Audit and restrict service creation privileges. By default, administrators can create services both locally and remotely. Restrict which accounts can create services using Group Policy ("Create a service" privilege) and monitor for service creation by non-standard accounts. Consider using Privileged Access Workstations (PAWs) for administrative operations, limiting the systems from which remote service creation is permitted.
  • Deploy network segmentation to limit SMB lateral movement. PsExec and Impacket rely on SMB (TCP 445) and RPC (TCP 135) for remote service execution. Implement network segmentation that restricts workstation-to-workstation SMB traffic and limits server-to-server SMB to authorized management paths. This single control dramatically reduces the attack surface for service-based lateral movement.
  • Monitor for anomalous SMB connection patterns. Establish baselines for normal SMB connection patterns in your environment. Alert on workstations initiating SMB connections to many servers in rapid succession (indicating PsExec-based mass deployment), SMB connections from unexpected source systems to server segments, and SMB connections occurring during off-hours from systems not associated with scheduled administrative tasks.

MITRE ATT&CK Mapping

FieldValue
Technique IDT1569
Technique NameSystem Services
TacticExecution (TA0002)
Sub-techniquesT1569.001 (Launchctl), T1569.002 (Service Execution), T1569.003 (Systemctl)
PlatformsWindows, Linux, macOS
Data SourcesProcess: Process Creation, Service: Service Creation, Command: Command Execution, File: File Modification, Windows Registry: Windows Registry Key Modification, Network Traffic: Network Connection Creation
MitigationsM1040 (Behavior Prevention on Endpoint / ASR rules), M1026 (Privileged Account Management), M1022 (Restrict File and Directory Permissions)
Related TechniquesT1543 (Create or Modify System Process), T1021 (Remote Services), T1047 (Windows Management Instrumentation), T1059 (Command and Scripting Interpreter)
MITRE ATT&CK Referenceattack.mitre.org/techniques/T1569

Sources and References

Sources

The following references were used in compiling this technique briefing. Where possible, primary sources (vendor advisories, government alerts, original research) were prioritized over secondary reporting.

  • MITRE ATT&CK — T1569 System Services (updated October 2025): attack.mitre.org
  • CISA — Understanding Ransomware Threat Actors: LockBit (June 2023): cisa.gov
  • Intel 471 — Threat Hunting Case Study: PsExec (August 2025): intel471.com
  • Microsoft Security Blog — Defenders Beware: A Case for Post-Ransomware Investigations (October 2022): microsoft.com
  • Trend Micro — Kasseika Ransomware Deploys BYOVD Attacks, Abuses PsExec (January 2024): trendmicro.com
  • Symantec / Carbon Black — Medusa Ransomware Activity Continues to Increase (March 2025): symantec-enterprise-blogs.security.com
  • Cyber Security News — How PsExec.exe Can Be Abused to Execute Malicious Code (October 2025): cybersecuritynews.com
  • Logpoint — Hunting for PsExec Artifacts in Your Enterprise (September 2025): logpoint.com
  • Atomic Red Team — T1569.002 Service Execution Tests: github.com/redcanaryco
  • Sygnia — China-Nexus Threat Group Velvet Ant Abuses F5 Load Balancers for Persistence (June 2024): sygnia.co
— end of briefing