ATT&CK coverage › Technique

Application Layer Protocol: Web Protocols T1071.001

Adversaries may communicate using application layer protocols associated with web traffic 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

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon3Network connection
Sysmon22DNSEvent (DNS query)
Security-Auditing4688A new process has been created.
Defender-DeviceEvents9007000Defender event (any)
PowerShell4104Creating Scriptblock text (MessageNumber of MessageTotal).

Authoring guide

Patterns shared across the 12 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 (10 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
Image5ends_with 5\cmd.exe, \QuickAssist.exe, :\Windows\System32\dialer.exe, \code.exe, \code-tunnel.exe
QueryName4ends_with 4.v2.argotunnel.com, trycloudflare.com, update.argotunnel.com, remoteassistance.support.services.microsoft.com, .devtunnels.ms
CommandLine4match 4, ends_with 2service, --accept-server-license-terms, internal-run, .exe tunnel, /d /c
ParentCommandLine3ends_with 2, match 1 tunnel, .vscode-server
OriginalFileName2is_null 2
ParentImage2ends_with 2, match 1\code.exe, \code-tunnel.exe, \servers\Stable-, \server\node.exe
user1is_not_null 1
ScriptBlockText1match 1Invoke-RestMethod, Invoke-WebRequest, iwr
Initiated1eq 1true
dest_ip1cidr_match 110.0.0.0/8, ::1/128, fe80::/10

Top indicator values (47 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
ParentCommandLineends_with tunnel22
CommandLinematch.exe tunnel22
CommandLineends_with.exe tunnel22
Imageends_with\cmd.exe292
CommandLinematch\servers\Stable-22
CommandLinematchtunnel 22
CommandLinematch/d /c 22
CommandLinematchcode-server.cmd22
CommandLinematchinternal-run22
CommandLinematchtunnel-service.log22
CommandLinematch--accept-server-license-terms23
CommandLinematchservice23
ScriptBlockTextmatchInvoke-WebRequest13
ScriptBlockTextmatchInvoke-RestMethod13
ScriptBlockTextmatch-UserAgent 1
ScriptBlockTextmatchiwr 13
ScriptBlockTextmatch irm 12
QueryNameends_with.v2.argotunnel.com1
QueryNameends_withupdate.argotunnel.com1
QueryNameends_withprotocol-v2.argotunnel.com1

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

Kusto Query Language 2 rules