Application Layer Protocol

Adversaries may communicate using 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.

Adversaries may utilize many different protocols, including those used for web browsing, transferring files, electronic mail, or DNS. For connections that occur internally within an enclave (such as those between a proxy or pivot node and other nodes), commonly used protocols are SMB, SSH, or RDP.

ID: T1071
Sub-techniques:  T1071.001, T1071.002, T1071.003, T1071.004
Platforms: Linux, Windows, macOS
Data Sources: Network Traffic: Network Traffic Content, Network Traffic: Network Traffic Flow
Requires Network:  Yes
Version: 2.0
Created: 31 May 2017
Last Modified: 21 October 2020

Procedure Examples

ID Name Description
S0154 Cobalt Strike

Cobalt Strike can conduct peer-to-peer communication over Windows named pipes encapsulated in the SMB protocol. All protocols use their standard assigned ports.[1][2]

G0074 Dragonfly 2.0

Dragonfly 2.0 used SMB for C2.[3]

S0038 Duqu

Duqu uses a custom command and control protocol that communicates over commonly used ports, and is frequently encapsulated by application layer protocols.[4]

S0601 Hildegard

Hildegard has used an IRC channel for C2 communications.[5]

S0532 Lucifer

Lucifer can use the Stratum protocol on port 10001 for communication between the cryptojacking bot and the mining server.[6]

G0059 Magic Hound

Magic Hound malware has used IRC for C2.[7]

S0034 NETEAGLE

Adversaries can also use NETEAGLE to establish an RDP connection with a controller over TCP/7519.

S0019 Regin

The Regin malware platform supports many standard protocols, including SMB.[8]

G0106 Rocke

Rocke issued wget requests from infected systems to the C2.[9]

Mitigations

ID Mitigation Description
M1031 Network Intrusion Prevention

Network intrusion detection and prevention systems that use network signatures to identify traffic for specific adversary malware can be used to mitigate activity at the network level.

Detection

Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect application layer protocols that do not follow the expected protocol standards regarding syntax, structure, or any other variable adversaries could leverage to conceal data.[10]

References