Encrypted Channel

Adversaries may employ a known encryption algorithm to conceal command and control traffic rather than relying on any inherent protections provided by a communication protocol. Despite the use of a secure algorithm, these implementations may be vulnerable to reverse engineering if secret keys are encoded and/or generated within malware samples/configuration files.

ID: T1573
Sub-techniques:  T1573.001, T1573.002
Tactic: Command And Control
Platforms: Linux, Windows, macOS
Data Sources: Malware reverse engineering, Netflow/Enclave netflow, Packet capture, Process monitoring, Process use of network, SSL/TLS inspection
Version: 1.0
Created: 16 March 2020
Last Modified: 30 March 2020

Procedure Examples

Name Description

Cryptoistic can engage in encrypted communications with C2.[1]

gh0st RAT

gh0st RAT has encrypted TCP communications to evade detection.[2]

Tropic Trooper

Tropic Trooper has encrypted traffic with the C2 to prevent network detection.[3]


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.

SSL/TLS Inspection

SSL/TLS inspection can be used to see the contents of encrypted sessions to look for network-based indicators of malware communication protocols.


SSL/TLS inspection is one way of detecting command and control traffic within some encrypted communication channels.[4] SSL/TLS inspection does come with certain risks that should be considered before implementing to avoid potential security issues such as incomplete certificate validation.[5]

In general, 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 communications that do not follow the expected protocol behavior for the port that is being used.[6]