ATT&CK coverage › Technique

Create or Modify System Process T1543

Adversaries may create or modify system-level processes to repeatedly execute malicious payloads as part of persistence. When operating systems boot up, they can start processes that perform background system functions. On Windows and Linux, these system processes are referred to as services. On macOS, launchd processes known as Launch Daemon and Launch Agent are run to finish system initialization and load user specific parameters.

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon5Process terminated
Sysmon6Driver loaded
Sysmon7Image loaded
Sysmon11FileCreate
Security-Auditing4624An account was successfully logged on.
Security-Auditing4688A new process has been created.
Security-Auditing4689A process has exited.
Security-Auditing4697A service was installed in the system.
Defender-DeviceEvents9007000Defender event (any)
CodeIntegrity3023The driver FileNameBuffer is blocked from loading as the driver has been revoked by Microsoft.
CodeIntegrity3077Code Integrity determined that a process (Process Name) attempted to load File Name that did not meet the Requested Signing Level signing level requirements or violated code integrity p...
Service-Control-Manager7045A service was installed in the system.

Authoring guide

Patterns shared across the 18 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 (30 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
Hashes4match 4IMPHASH=6E7B34DFC017700B1517B230DF6FF0D0, IMPHASH=F86759BB4DE4320918615DC06E998A39, IMPHASH=0A64EEB85419257D0CE32BD5D55C3A18, SHA256=D4A0FE56316A2C45B9BA9AC1005363309A3EDC7ACF9E4DF64D..., SHA1=A0BDFAC3CE1880B32FF9B696458327CE352E3B1D
EventType3eq 3service-installed, logged-in
Image3ends_with 3, match 1\\svchost.exe, \ProcessHacker_, \ProcessHacker.exe, \SystemInformer.exe
event.outcome2eq 2success
LogonType2eq 2Network
source.ip2ne 1, cidr_match 1::1, 127.0.0.1, 127.0.0.0/8
process_id2eq 20
ClientProcessId2eq 20
parent_process_id2eq 20
EventID2eq 27, 7045
ServiceName2eq 1, in 1KrbSCM, "SecurityCenterIBM", "WinCheckDRVs"
ImageLoaded2ends_with 2\kprocesshacker.sys, \SystemInformer.sys
Product2eq 2Process Hacker, System Informer
Description2eq 2Process Hacker, System Informer
OriginalFileName2eq 2ProcessHacker.exe, Process Hacker, SystemInformer.exe

Top indicator values (113 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
EventTypeeqservice-installed32
EventTypeeqlogged-in27
LogonTypeeqNetwork24
event.outcomeeqsuccess28
process_ideq022
ClientProcessIdeq022
parent_process_ideq022
source.ipne::117
source.ipne127.0.0.118
source.ipcidr_match127.0.0.0/81
ElevatedTokeneq%%18431
source.ipcidr_match::11
AuthenticationPackageNameeqKerberos12
ServiceFileNamematchvssadmin1
ImagePathmatchcmd.exe1
ServiceFileNamematchrundll3212
ServiceFileNamematchbitsadmin1
ServiceFileNamematch\Users\1
ServiceFileNamematchCOMSPEC1
ImagePathmatchvssadmin1

Common exclusions (46 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\VeeamVssSupport\VeeamGuestHelper.exe2
ServiceFileNamewildcard?:\Windows\VeeamLogShipper\VeeamLogShipper.exe2
ServiceFileNamewildcard%SystemRoot%\pbpsdeploy.exe2
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\System32\taskhostex.exe1
ServiceFileNamewildcard?:\Windows\System32\svchost.exe1
ServiceFileNamewildcard?:\Windows\servicing\TrustedInstaller.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 9 rules

Elastic 4 rules

Splunk 2 rules

Kusto Query Language 3 rules