ATT&CK coverage › Technique

System Services: Service Execution T1569.002

Adversaries may abuse the Windows service control manager to execute malicious commands or payloads. The Windows service control manager (<code>services.exe</code>) is an interface to manage and manipulate services. The service control manager is accessible to users via GUI components as well as system utilities such as <code>sc.exe</code> and Net.

Events covered

11 catalog events are tagged with this technique by at least one rule.

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon11FileCreate
Sysmon13RegistryEvent (Value Set)
Sysmon17PipeEvent (Pipe Created)
Sysmon18PipeEvent (Pipe Connected)
Security-Auditing4624An account was successfully logged on.
Security-Auditing4688A new process has been created.
Security-Auditing4697A service was installed in the system.
Windows-Defender1121Microsoft Defender Exploit Guard has blocked an operation that is not allowed by your IT administrator.
Service-Control-Manager7036The Microsoft Software Shadow Copy Provider service entered the stopped state.
Service-Control-Manager7045A service was installed in the system.

Authoring guide

Patterns shared across the 45 rules above: which fields they filter on, what specific values they look for, and what they exclude. Field names are normalized across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (26 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
ImagePath12match 5, ends_with 3, eq 2, starts_with 1, regex_match 1.exe, %COMSPEC%, powershell -nop -w hidden -encodedcommand, servpw, dumpsvc
Provider_Name12eq 12Service Control Manager
ServiceName12eq 7, match 3, starts_with 2, regex_match 1PSEXESVC, TeamViewer, RPCPerformanceService, csexecsvc, WCE SERVICE
Image7ends_with 5, match 1, eq 1\SharpUp.exe, \Desktop\, :\Windows\Temp\, \AppData\Local\Temp\, \csexec.exe
CommandLine7match 6, eq 1CachedGPPPassword, ModifiableServiceBinaries, UnquotedServicePath, exec , show
EventID6eq 67045, 7036
ServiceFileName4match 3, regex_match 1.exe, %COMSPEC%, powershell -nop -w hidden -encodedcommand, servpw, dumpsvc
PipeName4match 2, eq 1, starts_with 1\PSEXESVC, \csexecsvc, \PAExec, \RemCom
TargetFilename3ends_with 3\csexecsvc.exe, \PSEXESVC.exe, \RemComSvc.exe
TargetObject3match 3, ends_with 1\System\ControlSet, \Services, \System\CurrentControlSet\Services, \Services\, \ImagePath
OriginalFileName3eq 3NirCmd.exe, NSudoLC.exe, NSudoLG.exe, NSudo.exe, net.exe
Description2eq 2SharpUp, csexec
Details2match 2.exe, %COMSPEC%, ADMIN$, pwsh, powershell
process_name2ends_with 1, eq 1\wmiprvse.exe, \psexesvc.exe, "sc.exe"
EventType1eq 1logged-in, service-installed

Top indicator values (178 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique.

FieldKindValueRules (here)Corpus reach
Provider_NameeqService Control Manager1243
EventIDeq7045512
ServiceFileNamematchpowershell24
ImagePathmatchpowershell25
ServiceNameeqPSEXESVC22
Detailsmatchpowershell28
ServiceNamematchAmmyyAdmin22
ServiceNamematchGoToMyPC22
ServiceNamematchSplashtopRemoteService22
ServiceNamematchParsec22
ServiceNamematchRPCService22
ServiceNamematchchromoting22
ServiceNamematchmonblanking22
ServiceNamematchRManService22
ServiceNamematchjumpcloud22
ServiceNamematchTeamViewer22
ServiceNamematchLMIGuardianSvc22
ServiceNamematchLogMeIn22
ServiceNamematchvncserver22
ServiceNamematchAtera22

Common exclusions (29 distinct)

Field/operator/value combinations that rules under this technique routinely exclude (top-level not() clauses). These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths.

FieldKindValueRules excluding
ServiceFileNamewildcard?:\Windows\System32\wbem\WmiApSrv.exe1
ServiceFileNamewildcard?:\Pella Corporation\Pella Order Management\GPAutoSvc.exe1
ServiceFileNamewildcard?:\Windows\System32\upfc.exe1
ServiceFileNamewildcard?:\Windows\AdminArsenal\PDQ*.exe1
ServiceFileNamewildcard?:\WINDOWS\RemoteAuditService.exe1
ServiceFileNamewildcard?:\Program Files (x86)\*.exe1
ServiceFileNamewildcard?:\Windows\System32\sppsvc.exe1
ServiceFileNamewildcard?:\Windows\System32\vds.exe1
ServiceFileNamewildcard?:\Windows\System32\VSSVC.exe1
ServiceFileNamewildcard?:\Windows\VeeamVssSupport\VeeamGuestHelper.exe1
ServiceFileNamewildcard?:\Windows\System32\taskhostex.exe1
ServiceFileNamewildcard?:\Windows\System32\svchost.exe1
ServiceFileNamewildcard?:\Windows\servicing\TrustedInstaller.exe1
ServiceFileNamewildcard?:\Windows\ADCR_Agent\adcrsvc.exe1
ServiceFileNamewildcard?:\Windows\ProPatches\Scheduler\STSchedEx.exe1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Sigma 36 rules

Elastic 1 rule

Splunk 7 rules

Kusto Query Language 1 rule