Skip to content

T1205.001 Port Knocking

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.

Item Value
ID T1205.001
Sub-techniques T1205.001, T1205.002
Tactics TA0005, TA0003, TA0011
Platforms Linux, Network, Windows, macOS
Permissions required User
Version 1.1
Created 01 July 2020
Last Modified 11 March 2022

Procedure Examples

ID Name Description
S1060 Mafalda Mafalda can use port-knocking to authenticate itself to another implant called Cryshell to establish an indirect connection to the C2 server.23
S1059 metaMain metaMain has authenticated itself to a different implant, Cryshell, through a port knocking and handshake procedure.2
G0056 PROMETHIUM PROMETHIUM has used a script that configures the knockd service and firewall to only accept C2 connections from systems that use a specified sequence of knock ports.4

Mitigations

ID Mitigation Description
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.

Detection

ID Data Source Data Component
DS0029 Network Traffic Network Connection Creation

References