Adversaries may use a non-application layer protocol for communication between host and C2 server or among infected hosts within a network. The list of possible protocols is extensive.[1] Specific examples include use of network layer protocols, such as the Internet Control Message Protocol (ICMP), transport layer protocols, such as the User Datagram Protocol (UDP), session layer protocols, such as Socket Secure (SOCKS), as well as redirected/tunneled protocols, such as Serial over LAN (SOL).
ICMP communication between hosts is one example.[2] Because ICMP is part of the Internet Protocol Suite, it is required to be implemented by all IP-compatible hosts; [3] however, it is not as commonly monitored as other Internet Protocols such as TCP or UDP and may be used by adversaries to hide communications.
ID | Name | Description |
---|---|---|
S0504 | Anchor | |
G0016 | APT29 | |
G0022 | APT3 |
An APT3 downloader establishes SOCKS5 connections for its initial C2.[6] |
S0456 | Aria-body | |
G0135 | BackdoorDiplomacy |
BackdoorDiplomacy has used EarthWorm for network tunneling with a SOCKS5 server and port transfer functionalities.[8] |
S0234 | Bandook | |
S0043 | BUBBLEWRAP |
BUBBLEWRAP can communicate using SOCKS.[10] |
S0335 | Carbon | |
S0154 | Cobalt Strike |
Cobalt Strike can be configured to use TCP, ICMP, and UDP for C2 communications.[12][13] |
S0115 | Crimson | |
S0498 | Cryptoistic |
Cryptoistic can use TCP in communications with C2.[16] |
S0021 | Derusbi |
Derusbi binds to a raw socket on a random source port between 31800 and 31900 for C2.[17] |
S0502 | Drovorub |
Drovorub can use TCP to communicate between its agent and client modules.[18] |
S0076 | FakeM |
Some variants of FakeM use SSL to communicate with C2 servers.[19] |
G0037 | FIN6 | |
S0032 | gh0st RAT |
gh0st RAT has used an encrypted protocol within TCP segments to communicate with the C2.[21] |
G0125 | HAFNIUM | |
S0394 | HiddenWasp |
HiddenWasp communicates with a simple network protocol over TCP.[23] |
S0260 | InvisiMole |
InvisiMole has used TCP to download additional modules.[24] |
S0582 | LookBack |
LookBack uses a custom binary protocol over sockets for C2 communications.[25] |
S0455 | Metamorfo | |
S0084 | Mis-Type |
Mis-Type network traffic can communicate over a raw socket.[27] |
S0083 | Misdat | |
S0149 | MoonWind |
MoonWind completes network communication via raw sockets.[28] |
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.[30] |
S0198 | NETWIRE | |
G0116 | Operation Wocao |
Operation Wocao has used a custom protocol for command and control.[33] |
S0556 | Pay2Key |
Pay2Key has sent its public key to the C2 server over TCP.[34] |
S0587 | Penquin |
The Penquin C2 mechanism is based on TCP and UDP packets.[35][36] |
S0158 | PHOREAL | |
S0501 | PipeMon |
The PipeMon communication module can use a custom protocol based on TLS over TCP.[38] |
G0068 | PLATINUM |
PLATINUM has used the Intel® Active Management Technology (AMT) Serial-over-LAN (SOL) channel for command and control.[39] |
S0013 | PlugX |
PlugX can be configured to use raw TCP or UDP for command and control.[40] |
S0650 | QakBot |
QakBot has the ability use TCP to send or receive C2 packets.[41] |
S0629 | RainyDay | |
S0055 | RARSTONE |
RARSTONE uses SSL to encrypt its communication with its C2 server.[42] |
S0172 | Reaver | |
S0019 | Regin |
The Regin malware platform can use ICMP to communicate between infected computers.[44] |
S0125 | Remsec |
Remsec is capable of using ICMP, TCP, and UDP for C2.[45][46] |
S0461 | SDBbot |
SDBbot has the ability to communicate with C2 with TCP over port 443.[47] |
S0596 | ShadowPad | |
S0615 | SombRAT |
SombRAT has the ability to use TCP sockets to send data and ICMP to ping the C2 server.[49][50] |
S0011 | Taidoor | |
S0436 | TSCookie |
TSCookie can use ICMP to receive information on the destination server.[52] |
S0221 | Umbreon |
Umbreon provides access to the system via SSH or any other protocol that uses PAM to authenticate.[53] |
S0515 | WellMail | |
S0155 | WINDSHIELD |
WINDSHIELD C2 traffic can communicate via TCP raw sockets.[37] |
S0430 | Winnti for Linux |
Winnti for Linux has used ICMP, custom TCP, and UDP in outbound communications.[55] |
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 |
---|---|---|
DS0029 | Network Traffic | Network Traffic Content |
Network Traffic Flow |
Analyze network traffic for ICMP messages or other protocols that contain abnormal data or are not normally seen within or exiting the network.[56]
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.[57]
Monitor and investigate API calls to functions associated with enabling and/or utilizing alternative communication channels.