非应用层协议通信指攻击者利用OSI模型中网络层、传输层等非应用层协议建立隐蔽通信通道的技术手段。此类协议(如ICMP、UDP、原始套接字等)通常缺乏应用层协议的内容审查机制,且普遍被防火墙放行,为攻击者构建隐蔽信道提供了天然条件。防御方可通过深度包检测(DPI)分析协议载荷合规性、监控非常规协议使用模式,以及建立协议行为基线等方法进行检测与阻断。
为规避传统检测手段,攻击者持续演进非应用层协议的隐匿技术,通过协议规范深度挖掘、载荷结构创新设计及交互模式仿真等手段,将恶意通信深度融入合法协议流量,形成难以通过表层特征识别的隐蔽通道。
现有非应用层协议匿迹技术的核心思路聚焦于协议规范的极限利用与交互行为的合法化重构。攻击者通过协议语义扩展将恶意功能植入标准通信流程,例如ICMP隧道利用协议必要性与载荷自由度的矛盾,在诊断报文中构建双向数据通道;DNS隐写则通过滥用域名解析的递归查询机制,在分布式解析过程中实现数据渗漏。技术的关键在于深度解构协议规范,在严格遵循语法规则的前提下重新定义字段语义,使得恶意流量既可通过协议合规性检查,又能承载攻击载荷。这种"语法合规-语义异常"的特性,对依赖协议黑名单或固定特征匹配的传统检测体系构成严峻挑战。
匿迹技术的发展迫使防御方必须构建协议语义深度解析能力,采用协议状态机验证、上下文行为关联分析等技术,同时结合威胁情报共享机制,实现对合规协议中异常语义的精准识别与阻断。
| 效应类型 | 是否存在 |
|---|---|
| 特征伪装 | ✅ |
| 行为透明 | ❌ |
| 数据遮蔽 | ✅ |
| 时空释痕 | ❌ |
攻击者通过精确模拟非应用层协议的标准交互流程,将恶意通信流量伪装成合法的协议操作。例如在ICMP隧道中模仿网络诊断工具的行为模式,或在DNS隐写中构造符合递归解析规则的查询序列。这种深度协议仿效使得恶意流量在协议语法层面与正常流量无法区分,实现通信特征的完美伪装。
部分技术(如DNS隐写)通过将数据分片编码至多个协议字段,或使用加密算法处理载荷内容,使得即便防御方进行协议解析也难以还原原始数据。此外,协议固有字段(如ICMP校验和)的动态调整机制进一步模糊了载荷特征,形成有效的数据遮蔽效果。
| ID | Name | Description |
|---|---|---|
| C0034 | 2022 Ukraine Electric Power Attack |
During the 2022 Ukraine Electric Power Attack, Sandworm Team proxied C2 communications within a TLS-based tunnel.[1] |
| S0504 | Anchor | |
| G0022 | APT3 |
An APT3 downloader establishes SOCKS5 connections for its initial C2.[3] |
| S0456 | Aria-body | |
| S1029 | AuTo Stealer |
AuTo Stealer can use TCP to communicate with command and control servers.[5] |
| G0135 | BackdoorDiplomacy |
BackdoorDiplomacy has used EarthWorm for network tunneling with a SOCKS5 server and port transfer functionalities.[6] |
| S0234 | Bandook | |
| S0268 | Bisonal | |
| G1002 | BITTER | |
| S1063 | Brute Ratel C4 |
Brute Ratel C4 has the ability to use TCP for external C2.[10] |
| S0043 | BUBBLEWRAP |
BUBBLEWRAP can communicate using SOCKS.[11] |
| C0021 | C0021 |
During C0021, the threat actors used TCP for some C2 communications.[12] |
| S0335 | Carbon | |
| S0660 | Clambling |
Clambling has the ability to use TCP and UDP for communication.[14] |
| S1105 | COATHANGER |
COATHANGER uses ICMP for transmitting configuration information to and from its command and control server.[15] |
| S0154 | Cobalt Strike |
Cobalt Strike can be configured to use TCP, ICMP, and UDP for C2 communications.[16][17] |
| S0115 | Crimson | |
| S0498 | Cryptoistic |
Cryptoistic can use TCP in communications with C2.[20] |
| S1153 | Cuckoo Stealer |
Cuckoo Stealer can use sockets for communications to its C2 server.[21] |
| C0029 | Cutting Edge |
During Cutting Edge, threat actors used the Unix socket and a reverse TCP shell for C2 communications.[22] |
| S0021 | Derusbi |
Derusbi binds to a raw socket on a random source port between 31800 and 31900 for C2.[23] |
| S0502 | Drovorub |
Drovorub can use TCP to communicate between its agent and client modules.[24] |
| G1003 | Ember Bear |
Ember Bear uses socket-based tunneling utilities for command and control purposes such as NetCat and Go Simple Tunnel (GOST). These tunnels are used to push interactive command prompts over the created sockets.[25] Ember Bear has also used reverse TCP connections from Meterpreter installations to communicate back with C2 infrastructure.[26] |
| S0076 | FakeM |
Some variants of FakeM use SSL to communicate with C2 servers.[27] |
| G0037 | FIN6 | |
| S1144 | FRP |
FRP can communicate over TCP, TCP stream multiplexing, KERN Communications Protocol (KCP), QUIC, and UDP.[29] |
| S1044 | FunnyDream |
FunnyDream can communicate with C2 over TCP and UDP.[30] |
| S0666 | Gelsemium |
Gelsemium has the ability to use TCP and UDP in C2 communications.[31] |
| S0032 | gh0st RAT |
gh0st RAT has used an encrypted protocol within TCP segments to communicate with the C2.[32] |
| G0125 | HAFNIUM | |
| S0394 | HiddenWasp |
HiddenWasp communicates with a simple network protocol over TCP.[34] |
| S0260 | InvisiMole |
InvisiMole has used TCP to download additional modules.[35] |
| S1051 | KEYPLUG |
KEYPLUG can use TCP and KCP (KERN Communications Protocol) over UDP for C2 communication.[36] |
| C0035 | KV Botnet Activity |
KV Botnet Activity command and control traffic uses a non-standard, likely custom protocol for communication.[37] |
| S1121 | LITTLELAMB.WOOLTEA |
LITTLELAMB.WOOLTEA can function as a stand-alone backdoor communicating over the |
| S0582 | LookBack |
LookBack uses a custom binary protocol over sockets for C2 communications.[38] |
| S1142 | LunarMail |
LunarMail can ping a specific C2 URL with the ID of a victim machine in the subdomain.[39] |
| S1016 | MacMa |
MacMa has used a custom JSON-based protocol for its C&C communications.[40] |
| S1060 | Mafalda | |
| G1013 | Metador | |
| S1059 | metaMain |
metaMain can establish an indirect and raw TCP socket-based connection to the C2 server.[41][42] |
| S0455 | Metamorfo | |
| S0084 | Mis-Type |
Mis-Type network traffic can communicate over a raw socket.[44] |
| S0083 | Misdat | |
| S0149 | MoonWind |
MoonWind completes network communication via raw sockets.[45] |
| S0699 | Mythic | |
| S0630 | Nebulae | |
| S0034 | NETEAGLE |
If NETEAGLE does not detect a proxy configured on the infected machine, it will send beacons via UDP/6000. Also, after retrieving a C2 IP address and Port Number, NETEAGLE will initiate a TCP connection to this socket. The ensuing connection is a plaintext C2 channel in which commands are specified by DWORDs.[48] |
| S0198 | NETWIRE | |
| S1100 | Ninja |
Ninja can forward TCP packets between the C2 and a remote host.[51][52] |
| C0014 | Operation Wocao |
During Operation Wocao, threat actors used a custom protocol for command and control.[53] |
| S0352 | OSX_OCEANLOTUS.D |
OSX_OCEANLOTUS.D has used a custom binary protocol over port 443 for C2 traffic.[54] |
| S0556 | Pay2Key |
Pay2Key has sent its public key to the C2 server over TCP.[55] |
| S0587 | Penquin |
The Penquin C2 mechanism is based on TCP and UDP packets.[56][57] |
| S0158 | PHOREAL | |
| S1031 | PingPull |
PingPull variants have the ability to communicate with C2 servers using ICMP or TCP.[59] |
| S0501 | PipeMon |
The PipeMon communication module can use a custom protocol based on TLS over TCP.[60] |
| G0068 | PLATINUM |
PLATINUM has used the Intel® Active Management Technology (AMT) Serial-over-LAN (SOL) channel for command and control.[61] |
| S0013 | PlugX |
PlugX can be configured to use raw TCP or UDP for command and control.[62] |
| S0650 | QakBot |
QakBot has the ability use TCP to send or receive C2 packets.[63] |
| S0262 | QuasarRAT | |
| S1084 | QUIETEXIT |
QUIETEXIT can establish a TCP connection as part of its initial connection to the C2.[65] |
| S0629 | RainyDay | |
| S0055 | RARSTONE |
RARSTONE uses SSL to encrypt its communication with its C2 server.[66] |
| S0662 | RCSession |
RCSession has the ability to use TCP and UDP in C2 communications.[14][67] |
| S0172 | Reaver | |
| S0019 | Regin |
The Regin malware platform can use ICMP to communicate between infected computers.[69] |
| S0125 | Remsec |
Remsec is capable of using ICMP, TCP, and UDP for C2.[70][71] |
| S1078 | RotaJakiro |
RotaJakiro uses a custom binary protocol using a type, length, value format over TCP.[72] |
| S1073 | Royal |
Royal establishes a TCP socket for C2 communication using the API |
| S1099 | Samurai |
Samurai can use a proxy module to forward TCP packets to external hosts.[51] |
| S1085 | Sardonic |
Sardonic can communicate with actor-controlled C2 servers by using a custom little-endian binary protocol.[74] |
| S0461 | SDBbot |
SDBbot has the ability to communicate with C2 with TCP over port 443.[75] |
| S0596 | ShadowPad | |
| S0615 | SombRAT |
SombRAT has the ability to use TCP sockets to send data and ICMP to ping the C2 server.[77][78] |
| S1140 | Spica |
Spica can use JSON over WebSockets for C2 communications.[79] |
| S1049 | SUGARUSH | |
| S0011 | Taidoor | |
| G1022 | ToddyCat |
ToddyCat has used a passive backdoor that receives commands with UDP packets.[52] |
| S0436 | TSCookie |
TSCookie can use ICMP to receive information on the destination server.[82] |
| S0221 | Umbreon |
Umbreon provides access to the system via SSH or any other protocol that uses PAM to authenticate.[83] |
| S0022 | Uroburos |
Uroburos can communicate through custom methodologies for UDP, ICMP, and TCP that use distinct sessions to ride over the legitimate protocols.[84] |
| C0039 | Versa Director Zero Day Exploitation |
Versa Director Zero Day Exploitation used a non-standard TCP session to initialize communication prior to establishing HTTPS command and control.[85] |
| S0670 | WarzoneRAT |
WarzoneRAT can communicate with its C2 server via TCP over port 5200.[86] |
| S0515 | WellMail | |
| S0155 | WINDSHIELD |
WINDSHIELD C2 traffic can communicate via TCP raw sockets.[58] |
| S0430 | Winnti for Linux |
Winnti for Linux has used ICMP, custom TCP, and UDP in outbound communications.[88] |
| S0141 | Winnti for Windows |
Winnti for Windows can communicate using custom TCP.[89] |
| S1114 | ZIPLINE |
ZIPLINE can communicate with C2 using a custom binary protocol.[90] |
| ID | Mitigation | Description |
|---|---|---|
| M1037 | Filter Network Traffic |
Filter network traffic to prevent use of protocols across the network boundary that are unnecessary. |
| 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. |
| M1030 | Network Segmentation |
Properly configure firewalls and proxies to limit outgoing traffic to only necessary ports and through proper network gateway systems. Also ensure hosts are only provisioned to communicate over authorized interfaces. |
| ID | Data Source | Data Component | Detects |
|---|---|---|---|
| DS0029 | Network Traffic | Network Traffic Content |
Monitor and analyze traffic patterns and packet inspection associated to protocol(s) that do not follow the expected protocol standards and traffic flows (e.g extraneous packets that do not belong to established flows, gratuitous or anomalous traffic patterns, anomalous syntax, or structure). Consider correlation with process monitoring and command line to detect anomalous processes execution and command line arguments associated to traffic patterns (e.g. monitor anomalies in use of files that do not normally initiate connections for respective protocol(s)). |
| Network Traffic Flow |
Monitor network data for uncommon data flows. Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. |