Application Layer Protocol: Publish/Subscribe Protocols
- ID
- T1071.005
- Tactics
- TA0011 Command and Control
- Sub-technique of
- T1071 Application Layer Protocol
- Platforms
- macOS, Linux, Windows, Network Devices
- Data sources
- Network Connection Creation, Network Traffic Content, Process Creation, Network Traffic Flow
- Source
- attack.mitre.org
- MITRE last modified
- 16 Apr 2025
Adversaries may communicate using publish/subscribe (pub/sub) application layer protocols to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
Protocols such as MQTT, XMPP, AMQP, and STOMP use a publish/subscribe design, with message distribution managed by a centralized broker.[1][2] Publishers categorize their messages by topics, while subscribers receive messages according to their subscribed topics.[1] An adversary may abuse publish/subscribe protocols to communicate with systems under their control from behind a message broker while also mimicking normal, expected traffic.
Detection
- DET0002 Behavioral Detection of Publish/Subscribe Protocol Misuse for C2
Data components: Network Connection Creation, Network Traffic Content, Process Creation, Network Traffic Flow
Mitigations (2)
- 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.
- M1037 Filter Network Traffic
Consider filtering publish/subscribe protocol requests to untrusted or known bad resources over irregular ports (e.g. MQTT’s standard ports are 1883 or 8883).
