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
Tactic: Command And Control
Platforms: Linux, Windows, macOS
Data Sources: DNS records, Netflow/Enclave netflow, Network protocol analysis, Packet capture, Process monitoring, Process use of network
Requires Network:  Yes
Version: 2.0
Created: 31 May 2017
Last Modified: 27 March 2020

Procedure Examples

Name Description
Cobalt Strike

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

Dragonfly 2.0

Dragonfly 2.0 used SMB for C2.[4]

Duqu

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

Magic Hound

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

NETEAGLE

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

Regin

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

Rocke

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

Mitigations

Mitigation Description
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.[7]

References