Data Obfuscation

From ATT&CK
Jump to: navigation, search
Data Obfuscation
Technique
ID T1001
Tactic Command and Control
Platform Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows XP, Windows 7, Windows 8, Windows Server 2003 R2, Windows Server 2008 R2, Windows Server 2012 R2, Windows Vista, Windows 8.1
Data Sources Packet capture, Process use of network, Process monitoring, Network protocol analysis
Requires Network Yes

Command and control (C2) communications are hidden (but not necessarily encrypted) in an attempt to make the content more difficult to discover or decipher and to make the communication less conspicuous and hide commands from being seen. This encompasses many methods, including Base64 encoding the message body of an HTTP request, adding junk data to protocol traffic, using steganography, or commingling legitimate traffic with C2 communications traffic.

Examples

  • Some malware that has been used by Axiom uses steganography to hide communication in PNG image files.1
  • The Axiom group has used other forms of obfuscation, include commingling legitimate traffic with communications traffic so that network streams appear legitimate.1
  • APT28 added "junk data" to each encoded string, preventing trivial decoding without knowledge of the junk removal algorithm. Each implant was given a "junk length" value when created, tracked by the controller software to allow seamless communication but prevent analysis of the command protocol on the wire.2
  • Patchwork used Base64 to encode C2 traffic.3
  • BS2005 uses Base64 encoding to obfuscate communication in the message body of an HTTP request.4
  • The Ixeshe malware uses Base64 to obfuscate data command and control traffic in the message body of HTTP requests.5
  • P2P ZeuS added junk data to outgoing UDP packets to peer implants.6
  • Newer variants of BACKSPACE will encode C2 communications.7
  • HAMMERTOSS is controlled via commands that are appended to image files.8
  • When the Duqu command and control is operating over HTTP or HTTPS, Duqu uploads data to its controller by appending it to a blank JPG file.9
  • C2 traffic from ADVSTORESHELL is encrypted, then encoded with Base64 encoding.10
  • SeaDuke C2 traffic is base64-encoded.11
  • FakeM C2 traffic attempts to evade detection by resembling data generated by legitimate messenger applications, such as MSN and Yahoo! messengers.12
  • Elise exfiltrates data using cookie values that are Base64-encoded.13
  • Misdat network traffic is Base64-encoded plaintext.14
  • Mis-Type uses Base64 encoding for C2 traffic.14
  • S-Type uses Base64 encoding for C2 traffic.14
  • Some Backdoor.Oldrea samples use standard Base64 + bzip2, and some use standard Base64 + reverse XOR + RSA-2048 to decrypt data received from C2 servers.15
  • Prikormka encodes C2 traffic with Base64.16
  • Responses from the Pisloader C2 server are base32-encoded.17
  • After encrypting C2 data, BADNEWS converts it into a hexadecimal representation and then encodes it into base64.18
  • AutoIt has sent a C2 response that was base64-encoded.18
  • H1N1 obfuscates C2 traffic with an altered version of base64.19
  • Downdelph inserts pseudo-random characters between each original character during encoding of C2 network requests, making it difficult to write signatures on them.20
  • CORESHELL C2 messages are Base64-encoded.2

Mitigation

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.21

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 communications that do not follow the expected protocol behavior for the port that is being used.21

References