Data Encoding: Non-Standard Encoding

ID Name
T1132.001 Standard Encoding
T1132.002 Non-Standard Encoding

Adversaries may encode data with a non-standard data encoding system to make the content of command and control traffic more difficult to detect. Command and control (C2) information can be encoded using a non-standard data encoding system that diverges from existing protocol specifications. Non-standard data encoding schemes may be based on or related to standard data encoding schemes, such as a modified Base64 encoding for the message body of an HTTP request.[1] [2]

ID: T1132.002
Sub-technique of:  T1132
Platforms: Linux, Windows, macOS
Permissions Required: User
Version: 1.0
Created: 14 March 2020
Last Modified: 14 March 2020

Procedure Examples

ID Name Description
S0031 BACKSPACE

Newer variants of BACKSPACE will encode C2 communications with a custom system.[3]

S0239 Bankshot

Bankshot encodes commands from the control server using a range of characters and gzip.[4]

S1149 CHIMNEYSWEEP

CHIMNEYSWEEP can use a custom Base64 alphabet for encoding C2.[5]

S0687 Cyclops Blink

Cyclops Blink can use a custom binary scheme to encode messages with specific commands and parameters to be executed.[6]

S0260 InvisiMole

InvisiMole can use a modified base32 encoding to encode data within the subdomain of C2 requests.[7]

S1090 NightClub

NightClub has used a non-standard encoding in DNS tunneling removing any = from the result of base64 encoding, and replacing / characters with -s and + characters with -p.[8]

S1100 Ninja

Ninja can encode C2 communications with a base64 algorithm using a custom alphabet.[9]

S0346 OceanSalt

OceanSalt can encode data with a NOT operation before sending the data to the control server.[10]

S1046 PowGoop

PowGoop can use a modified Base64 encoding mechanism to send data to and from the C2 server.[11]

S0495 RDAT

RDAT can communicate with the C2 via subdomains that utilize base64 with character substitutions.[12]

S0596 ShadowPad

ShadowPad has encoded data as readable Latin characters.[13]

S1035 Small Sieve

Small Sieve can use a custom hex byte swapping encoding scheme to obfuscate tasking traffic.[14][15]

S0022 Uroburos

Uroburos can use a custom base62 and a de-facto base32 encoding that uses digits 0-9 and lowercase letters a-z in C2 communications.[16]

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. Signatures are often for unique indicators within protocols and may be based on the specific obfuscation technique used by a particular adversary or tool, and will likely be different across various malware families and versions. Adversaries will likely change tool C2 signatures over time or construct protocols in such a way as to avoid detection by common defensive tools.

Detection

ID Data Source Data Component Detects
DS0029 Network Traffic Network Traffic Content

Monitor for 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.

References