Has encoded C2 traffic with Base64.1
- Tactic
- Command and Control
- Platforms
- ESXi, Linux, macOS, Windows
- Version
- 1.1
- Created
- 14 March 2020
- Last modified
- 12 May 2026
Adversaries may encode data with a 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 standard data encoding system that adheres to existing protocol specifications. Common data encoding schemes include ASCII, Unicode, hexadecimal, Base64, and MIME.[1][2] Some data encoding systems may also result in data compression, such as gzip.
Standard Encoding MITRE reference T1132.001
11 groups have been recorded using this technique. Newest first; each entry carries MITRE’s procedure text and a link to the group’s full record. Click a name to filter the rules below.
Has used encoded ASCII text for initial C2 communications.1
Has used ASCII encoding for C2 traffic.1
Has used base64 encoding to hide command strings delivered from the C2.1
An APT19 HTTP malware variant used Base64 to encode communications to the C2 server.1
Has used base64 to encode command and control traffic.1
All 11 groups for this technique · 6 newest in this preview
1 campaign has been recorded using this technique. Listed newest first; dates are year-granularity and attribution is MITRE’s.
During Juicy Mix, OilRig used a VBS script to send the Base64-encoded name of the compromised computer to C2.1
All 1 campaigns for this technique
114 software entries are documented implementing this technique. MITRE files each as a tool or as malware; newest first, then by how many groups carry them.
Has encoded collected data with Base64.1
Can use Base64-encoded values in C2 communications.1
Has used Base64 to encode command and control traffic.1
Can Base64-encode C2 communication.1
All 114 software entries for this technique · 6 newest in this preview
Offense vs defense T1132.001
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Standard Encoding detection strategy DET0124
MITRE names one behaviour worth catching for this technique and breaks it into 4 analytics, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Behavior-chain detection for T1132.001 Data Encoding: Standard Encoding (Base64/Hex/MIME) across Windows, Linux, macOS, ESXi
AN0345 · Windows
Process invokes a standard encoder (e.g., PowerShell -enc, certutil -encode, base64 via .NET/Invoke-Expression) or emits long Base64/hex literals → shortly followed by outbound network egress with high bytes_out:bytes_in ratio or HTTP headers/payloads containing Base64/MIME blocks.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Script ExecutionDC0029 | WinEventLog:PowerShell | EventCode=4103, 4104, 4105, 4106 |
| Process CreationDC0032 | WinEventLog:Security | EventCode=4688 |
| Network Traffic FlowDC0078 | M365Defender:DeviceNetworkEvents | NetworkConnection: bytes_sent >> bytes_received anomaly |
| Network Connection CreationDC0082 | WinEventLog:Sysmon | EventCode=3, 22 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| PayloadEntropyThreshold | Shannon entropy cutoff to consider payload suspicious (e.g., > 4.5–5.0 for HTTP body). |
| B64LengthThreshold | Min continuous Base64 token length in command lines/script blocks to alert (e.g., > 100 chars). |
| TimeWindow | Correlation window between encoding event and egress (default 10m). |
| KnownAdminTools | Legitimate tools (e.g., backup agents) that routinely encode/compress data. |
| BytesOutToInRatio | Minimum ratio to treat flow as asymmetric (e.g., ≥ 4:1). |
AN0346 · Linux
Shell/utility (base64, xxd -p, od, openssl enc -base64, python/perl base64 libraries) encodes data → subsequent outbound connections (curl/wget/bash TCP, socat, python requests) with high asymmetry or Base64/MIME blobs in HTTP/DNS payloads.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | auditd:SYSCALL | execve of base64|openssl|xxd|python|perl with arguments matching Base64 flags |
| Network Connection CreationDC0082 | WinEventLog:Sysmon | EventCode=3, 22 |
| Network Traffic ContentDC0085 | NSM:Flow | http: HTTP body or headers contain long Base64 sections; gzip/deflate + Base64 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| EncodingToolsAllowList | Build/backup jobs that legitimately call base64/openssl. |
| EntropyThreshold | Shannon entropy for payloads (e.g., >4.5). |
| TimeWindow | Join window between exec and egress (default 10m). |
| OutInRatio | Bytes_out / bytes_in threshold (default 4). |
AN0347 · macOS
Processes use base64/xxd/openssl/python Objective‑C APIs to encode data (seen in EndpointSecurity exec events or Unified Logs) → quick outbound connections with large bytes_out or HTTP POSTs carrying Base64/MIME bodies.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | macos:unifiedlog | process command line contains base64, -enc, openssl enc -base64 |
| Network Traffic FlowDC0078 | PF:Logs | outbound flows with bytes_out >> bytes_in |
| Network Traffic ContentDC0085 | NSM:Flow | http: HTTP body contains long Base64 sections |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| AllowedDeveloperIDs | Signed/allowed developer binaries routinely using encoding. |
| EntropyThreshold | Payload entropy cutoff. |
| TimeWindow | Exec → egress window. |
AN0348 · ESXi
ESXi shell (BusyBox) or VMware utilities (openssl, python if present) used to Base64/hex encode data from datastore or config files → followed by abnormal egress from the host (NSX/flow logs) with asymmetric bytes_out or HTTPS posts to non-management endpoints.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | esxi:shell | commands containing base64, openssl enc -base64, xxd -p |
| Application Log ContentDC0038 | esxi:hostd | unexpected script/command invocations via hostd |
| Network Traffic FlowDC0078 | NSX:FlowLogs | network_flow: bytes_out >> bytes_in to external |
| Network Traffic ContentDC0085 | NSM:Flow | http: Base64/MIME looking payloads from ESXi host IP |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| MgmtCIDRs | CIDRs for legitimate vCenter/NSX/backup endpoints. |
| BytesRatio | Out:In ratio deemed suspicious (e.g., ≥3 on ESXi). |
| TimeWindow | Correlation window between shell command and egress. |
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.
Tests from Atomic Red Team (MIT licence) · technique definition