Application Layer Protocol T1071

Tactic: Command & Control

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

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

ProviderEventTitle
SysmonEvent ID 1Process creation
SysmonEvent ID 3Network connection
SysmonEvent ID 7Image loaded
SysmonEvent ID 11FileCreate
SysmonEvent ID 12RegistryEvent (Object create and delete)
SysmonEvent ID 13RegistryEvent (Value Set)
SysmonEvent ID 14RegistryEvent (Key and Value Rename)
SysmonEvent ID 15FileCreateStreamHash
SysmonEvent ID 17PipeEvent (Pipe Created)
SysmonEvent ID 18PipeEvent (Pipe Connected)
SysmonEvent ID 22DNSEvent (DNS query)
SysmonEvent ID 23FileDelete (File Delete archived)
SysmonEvent ID 26FileDeleteDetected (File Delete logged)
Security-AuditingEvent ID 4662An operation was performed on an object.
Security-AuditingEvent ID 4663An attempt was made to access an object.
Security-AuditingEvent ID 4688A new process has been created.
Security-AuditingEvent ID 4698A scheduled task was created.
Security-AuditingEvent ID 5136A directory service object was modified.
Security-AuditingEvent ID 5137A directory service object was created.
Security-AuditingEvent ID 5152The Windows Filtering Platform blocked a packet.
Security-AuditingEvent ID 5154The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.
Security-AuditingEvent ID 5155The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.
Security-AuditingEvent ID 5156The Windows Filtering Platform has permitted a connection.
Security-AuditingEvent ID 5157The Windows Filtering Platform has blocked a connection.
Security-AuditingEvent ID 5158The Windows Filtering Platform has permitted a bind to a local port.
Security-AuditingEvent ID 5159The Windows Filtering Platform has blocked a bind to a local port.
Defender-CloudAppEventsanyCloud app activity
Defender-DeviceEventsanyDefender event
Defender-DeviceFileEventsanyFile activity
Defender-DeviceImageLoadEventsanyImage load
Defender-DeviceNetworkEventsanyNetwork activity
Defender-DeviceNetworkEventsInboundConnectionAcceptedInbound connection accepted
Defender-EmailEventsanyEmail processed
Defender-EmailUrlInfoanyEmail URL observed
Defender-UrlClickEventsanyURL click activity
ESFexecProcess Execution
ESFwriteFile Write
AppLockerEvent ID 8002FilePathBuffer was allowed to run.
AppLockerEvent ID 8003RuleAndFileData.FilePath was allowed to run but would have been prevented from running if the AppLocker policy were enforced.
AppLockerEvent ID 8005FilePathBuffer was allowed to run.
DNS-ClientEvent ID 3008DNS query is completed for the name QueryName, type QueryType, query options QueryOptions with status QueryStatus Results QueryResults.
DNSServerEvent ID 257RESPONSE_SUCCESS: TCP=TCP; InterfaceIP=InterfaceIP; Destination=Destination; AA=AA; AD=AD; QNAME=QNAME; QTYPE=QTYPE; XID=XID; DNSSEC=DNSSEC; RCODE=RCODE; Port=Port; Flags=Flags; Scop...
PowerShellEvent ID 4103Payload Context: ContextInfo User Data: UserData.
PowerShellEvent ID 4104Creating Scriptblock text (MessageNumber of MessageTotal).
PowerShellEvent ID 800Event ID 800
Service-Control-ManagerEvent ID 7045A service was installed in the system.
Sysmon-for-LinuxEvent ID 1Process Create

Authoring guide

These 514 rules share fields, values, and exclusions.

Fields filtered most (243 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
EventType164eq 144, in 31, ne 1exec, connection_attempted, start, connection_accepted, lookup_result
process_basename135in 69, eq 60, starts_with 27, wildcard 25, is_not_null 6, contains 2, ends_with 2, regex_match 2bash, csh, busybox, dash, .*
event.type131eq 131start, creation, end, change, connection
Image70wildcard 26, ends_with 22, starts_with 21, eq 5, contains 4, is_not_null 2, in 1/dev/shm/*, ./*, /boot/*, /bin/cat, /bin/chmod
process.args65eq 32, in 23, starts_with 17, wildcard 17, contains 9, regex_match 5, ends_with 3-c, -cl, -i, -e, -lc
CommandLine64contains 40, wildcard 23, regex_match 19, ends_with 3, is_not_null 2, length_compare 1, like 1, match 1* /dev/shm/*, * /run/*, */dev/shm/*, */dev/tcp*, */dev/udp/*
parent_process_basename50eq 30, in 19, starts_with 13, wildcard 9, ends_with 2bash, csh, *.cgi, *.fcgi, .*
Active45eq 45true
QueryName45ends_with 12, is_not_null 12, wildcard 10, contains 9, starts_with 4, eq 2, in 2, ne 2, regex_match 2, *.000webhostapp.com, *.afraid.org, *.aternos.me, *.geojs.io
EventID29eq 24, in 3, regex_match 23, 1, 22, 17, 18
ParentImage29starts_with 10, wildcard 9, ends_with 5, is_not_null 4, contains 1, in 1./*, /boot/*, /dev/shm/*, , /bin/java
process.args_count24eq 9, le 9, ge 83, 1, 2, 4, 5
SourceSystem21eq 13, starts_with 8Lumen, GreyNoise, ThreatConnect-, HoneyLabs
c-useragent20starts_with 9, eq 8, contains 5, ne 4, ends_with 3, wildcard 1null, Microsoft BITS/, (compatible;MSIE , Mozilla/, WindowsPowerShell/
ParentCommandLine17contains 13, wildcard 3, ends_with 2, regex_match 2*--port*, */app/*.js*, */apps/*/*.js*, *app.py*, *asgi.py*

Top indicator values (4928 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
1231036
EventTypeeq
exec
89547
EventTypeeq
connection_attempted
3572
EventTypeeq
start
16388
Activeeq
true
4560
process_basenamein
bash
40180
process_basenamein
sh
40179
process_basenamein
zsh
40179
process_basenamein
dash
38149
process_basenamein
csh
37147
process_basenamein
fish
37150
process_basenamein
ksh
37148
process_basenamein
tcsh
37144
process_basenamein
curl
2381
process_basenamein
wget
2040
process_basenamein
busybox
1766
EventTypein
connection_attempted
1424
EventTypein
exec
12180
EventTypein
connection_accepted
1114
process.argseq
-c
1491
process_basenamewildcard
python*
1432
process_basenamewildcard
lua*
1329
process_basenamewildcard
php*
1328
process_basenamewildcard
ruby*
1227
process_basenamewildcard
perl*
1125
Imagestarts_with
/dev/shm/*
1238
Imagestarts_with
/var/tmp/*
1240
Imagestarts_with
/tmp/*
1140
QueryNameis_not_null
1219
IsActiveeq
true
1112

Exclusions (2462 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
dest_ipcidr_match
127.0.0.0/8
54
dest_ipcidr_match
169.254.0.0/16
54
dest_ipcidr_match
10.0.0.0/8
47
dest_ipcidr_match
172.16.0.0/12
47
dest_ipcidr_match
224.0.0.0/4
47
dest_ipcidr_match
::1
47
dest_ipcidr_match
192.168.0.0/16
46
dest_ipcidr_match
192.0.0.0/24
40
dest_ipcidr_match
192.0.2.0/24
40
dest_ipcidr_match
192.88.99.0/24
40
dest_ipcidr_match
240.0.0.0/4
40
dest_ipcidr_match
100.64.0.0/10
39
dest_ipcidr_match
192.175.48.0/24
39
dest_ipcidr_match
192.31.196.0/24
39
dest_ipcidr_match
192.52.193.0/24
39

Rules under this technique

These vendors publish rules tagged with this technique.

Platform (all)
Domain (all)

Sigma 70 rules

Elastic 198 rules

Splunk 47 rules

Kusto 192 rules

YARA-L 2 rules

Panther 5 rules