Traffic Signaling: Port Knocking
- ID
- T1205.001
- Tactics
- TA0003 Persistence, TA0005 Stealth, TA0011 Command and Control
- Sub-technique of
- T1205 Traffic Signaling
- Platforms
- Linux, macOS, Network Devices, Windows
- Data sources
- Process Creation, Network Connection Creation, Network Traffic Flow
- Source
- attack.mitre.org
- MITRE last modified
- 12 May 2026
Adversaries may use port knocking to hide open ports used for persistence or command and control. To enable a port, an adversary sends a series of attempted connections to a predefined sequence of closed ports. After the sequence is completed, opening a port is often accomplished by the host based firewall, but could also be implemented by custom software.
This technique has been observed both for the dynamic opening of a listening port as well as the initiating of a connection to a listening server on a different system.
The observation of the signal packets to trigger the communication can be conducted through different methods. One means, originally implemented by Cd00r [1], is to use the libpcap libraries to sniff for the packets in question. Another method leverages raw sockets, which enables the malware to use ports that are already open for use by other programs.
Detection
- DET0302 Port-knock → rule/daemon change → first successful connect (T1205.001)
Data components: Process Creation, Network Connection Creation, Network Traffic Flow
Mitigations (1)
- M1037 Filter Network Traffic
Mitigation of some variants of this technique could be achieved through the use of stateful firewalls, depending upon how it is implemented.
