ATT&CK coverage › Technique

Application Layer Protocol T1071

Adversaries may communicate using OSI application layer protocols to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon3Network connection
Sysmon7Image loaded
Sysmon17PipeEvent (Pipe Created)
Sysmon18PipeEvent (Pipe Connected)
Sysmon22DNSEvent (DNS query)
Security-Auditing5152The Windows Filtering Platform blocked a packet.
Security-Auditing5154The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.
Security-Auditing5155The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.
Security-Auditing5156The Windows Filtering Platform has permitted a connection.
Security-Auditing5157The Windows Filtering Platform has blocked a connection.
Security-Auditing5158The Windows Filtering Platform has permitted a bind to a local port.
Security-Auditing5159The Windows Filtering Platform has blocked a bind to a local port.

Authoring guide

Patterns shared across the 10 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 (14 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
Image4ends_with 2, in 1, eq 1"*\\wermgr.exe", \Runner.Worker.exe, \Runner.Listener.exe, \rundll32.exe, "*\\ping.exe"
EventType3in 3"CreatePipe", "ConnectPipe"
EventID3in 317, 18
OriginalFileName2eq 2Runner.Worker.dll, Runner.Listener.dll, RUNDLL32.EXE
CommandLine2match 2, ends_with 1configure, spawnclient, run, .udl, \\Users\\*\\Downloads\\
Description2match 2st2stager
PipeName2regex_match 1, in 1"^\\\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-..., "\\RMSPrint*", "\\RManFUSCallbackNotify32", "\\RManFUSServerNotify32"
DnsQuery1is_not_null 1
dest_ip1is_not_null 1
TimeDeltainSeconds1gt 1TimeDeltaThreshold
BeaconPercent1gt 1PercentBeaconThreshold
src_ip1eq 1nextSrcIpAddr
TotalEvents1gt 1TotalEventsThreshold
ParentImage1ends_with 1\explorer.exe

Top indicator values (39 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
EventIDin1736
EventTypein"ConnectPipe"34
EventIDin1836
EventTypein"CreatePipe"34
Descriptionmatchst2stager22
TimeDeltainSecondsgtTimeDeltaThreshold1
BeaconPercentgtPercentBeaconThreshold1
TotalEventsgtTotalEventsThreshold1
src_ipeqnextSrcIpAddr1
Imageends_with\Runner.Worker.exe1
CommandLinematchrun1
CommandLinematchspawnclient1
OriginalFileNameeqRunner.Listener.dll1
CommandLinematchconfigure1
OriginalFileNameeqRunner.Worker.dll1
Imageends_with\Runner.Listener.exe1
CommandLinematch,OpenDSLFile 1
CommandLineends_with.udl1
ParentImageends_with\explorer.exe111
Imageends_with\rundll32.exe176

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 4 rules

Splunk 3 rules

Kusto Query Language 3 rules