Web Service T1102

Adversaries may use an existing, legitimate external Web service as a means for relaying data to/from a compromised system. Popular websites, cloud services, and social media acting as a mechanism for C2 may give a significant amount of cover due to the likelihood that hosts within a network are already communicating with them prior to a compromise. Using common services, such as those offered by Google, Microsoft, or Twitter, makes it easier for adversaries to hide in expected noise. Web service providers commonly use SSL/TLS encryption, giving adversaries an added level of protection.

Events covered

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

Authoring guide

Patterns shared across the 21 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names 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 (13 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
DestinationHostname9contains 5, ends_with 4.localto.net, .localtonet.com, .ngrok-free.app, .ngrok-free.dev, .ngrok.app
Image8ends_with 8, eq 5, starts_with 4, contains 3, is_null 3\appdata\local\discord\, \appdata\local\flock\, \appdata\local\google\chrome\application\chrome.exe, \brave.exe, \maxthon.exe
CommandLine7contains 6, in 1 tunnel , -config , run , stop, *--config*
Initiated4eq 4true
EventID3eq 322, 4688
QueryName2contains 1, in 1, is_not_null 1*.argotunnel.com*, *//objects.githubusercontent.com*, *anonfiles.com*, korgn, lennut.com
dns.question.name2in 1, wildcard 1*.blob.core.windows.net, *.blob.storage.azure.net, *.blogspot.com, *.ngrok.com, *.ngrok.io
process_name2eq 1, ne 1ngrok.exe, telegram.exe
EfectiveCommand1regex_match 1regexEmpire
EventData1contains 1-encodedcommand, powershell.exe, powershell_ise.exe
OriginalFileName1eq 1runner.listener.dll, runner.worker.dll
ParentImage1contains 1\java.exe, \manageengine\servicedesk\
query1eq 1api.telegram.org

Top indicator values (377 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. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
Imageends_with
\brave.exe
521
Imageends_with
\maxthon.exe
513
Imageends_with
\msedge.exe
525
Imageends_with
\msedgewebview2.exe
515
Imageends_with
\opera.exe
523
Imageends_with
\safari.exe
512
Imageends_with
\seamonkey.exe
513
Imageends_with
\vivaldi.exe
521
Imageends_with
\whale.exe
513
Imageends_with
\windowsapps\microsoftedge.exe
512
Imageeq
c:\program files (x86)\google\chrome\application\chrome.exe
411
Imageeq
c:\program files (x86)\internet explorer\iexplore.exe
410
Imageeq
c:\program files (x86)\microsoft\edge\application\msedge.exe
411
Imageeq
c:\program files (x86)\mozilla firefox\firefox.exe
411
Imageeq
c:\program files\google\chrome\application\chrome.exe
413
Imageeq
c:\program files\internet explorer\iexplore.exe
411
Imageeq
c:\program files\microsoft\edge\application\msedge.exe
411
Imageeq
c:\program files\mozilla firefox\firefox.exe
412
Imagestarts_with
c:\program files (x86)\microsoft\edgecore\
411
Imagestarts_with
c:\program files (x86)\microsoft\edgewebview\application\
410
Imagestarts_with
c:\program files\microsoft\edgecore\
411
Initiatedeq
true
448
CommandLinecontains
tunnel
23
CommandLinecontains
-config
23
EventIDeq
22
216
Imagecontains
\appdata\local\discord\
22
Imagecontains
\appdata\local\flock\
24
Imagecontains
\appdata\local\maxthon\
24
Imagecontains
\appdata\local\phoebe\
24
Imagecontains
\appdata\local\programs\opera\
25

Exclusions (204 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. 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. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
Imageends_with
\brave.exe
5
Imageends_with
\maxthon.exe
5
Imageends_with
\msedge.exe
5
Imageends_with
\msedgewebview2.exe
5
Imageends_with
\opera.exe
5
Imageends_with
\safari.exe
5
Imageends_with
\seamonkey.exe
5
Imageends_with
\vivaldi.exe
5
Imageends_with
\whale.exe
5
Imageends_with
\windowsapps\microsoftedge.exe
5
Imageeq
c:\program files (x86)\google\chrome\application\chrome.exe
4
Imageeq
c:\program files (x86)\internet explorer\iexplore.exe
4
Imageeq
c:\program files (x86)\microsoft\edge\application\msedge.exe
4
Imageeq
c:\program files (x86)\mozilla firefox\firefox.exe
4
Imageeq
c:\program files\google\chrome\application\chrome.exe
4

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

Elastic 1 rule

Splunk 5 rules

Kusto 2 rules