OpenParable
Skip to content
← Back to skills

T1071.005_publishsubscribe-protocols

DevOps & Security

Adversaries may communicate using publish/subscribe (pub/sub) application layer protocols to avoid detection/network filtering by blending in with existing traffic.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/mitre_attack/TA0011_command-and-control/T1071.005_publishsubscribe-protocols/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/t1071-005-publishsubscribe-protocols, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

T1071.005 Publish/Subscribe Protocols

Sub-technique of: T1071

High-Level Description

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. Publishers categorize their messages by topics, while subscribers receive messages according to their subscribed topics. 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.

Kill Chain Phase

  • Command and Control (TA0011)

Platforms: macOS, Linux, Windows, Network Devices

What to Check

  • Identify if Publish/Subscribe Protocols technique is applicable to target environment
  • Check macOS systems for indicators of Publish/Subscribe Protocols
  • Check Linux systems for indicators of Publish/Subscribe Protocols
  • Check Windows systems for indicators of Publish/Subscribe Protocols
  • Verify mitigations are bypassed or absent (2 known mitigations)
  • Assess detection coverage (1 detection strategies)

How to Test

Manual Testing

  1. Identify Attack Surface: Determine if the target environment is susceptible to Publish/Subscribe Protocols by examining the target platforms (macOS, Linux, Windows).

  2. Assess Existing Defenses: Review whether mitigations for T1071.005 are in place. If defenses are absent or misconfigured, this technique may be exploitable.

  3. Execute Test: Use tools and methods described in the MITRE ATT&CK page and external references below.

Note: No Atomic Red Team tests available for this technique. See Atomic Red Team GitHub for updates.

Remediation Guide

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

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.

Detection

Behavioral Detection of Publish/Subscribe Protocol Misuse for C2

Risk Assessment

FindingSeverityImpact
Publish/Subscribe Protocols technique applicableLowCommand And Control

CWE Categories

CWE IDTitle
CWE-300Channel Accessible by Non-Endpoint

References