Skip to content

Relay Agent Reverse TCP Listener

This relay listener uses an existing agent to accept reversed connections. Instead of opening ports on the C2 system, a selected agent is configured to listen for connections. New agents connect to this relay agent, which then forwards all communication through the established channel.

Plugin ID: shelldot.listener.relay-agent-reverse-tcp

Configuration

The If omitted column describes hand-written JSON sent directly to the server. The plugin's named default example generates a random UUID and explicitly supplies host localhost, port 5555, and an empty Base64 handshake value. Replace the generated UUID with the UUID of the relay agent you intend to use.

Parameter Type Required If omitted Description
relayAgentGuid UUID string Yes Invalid UUID of the existing agent that will listen for connections.
hosts string[] Yes Invalid One or more valid hostnames or IP addresses where the relay agent can be reached.
port int Yes Invalid TCP port (1-65535) on which the relay agent will listen for connections.
handshakeBytes Base64 string Yes Configuration serialization fails Bytes used for the initial handshake between agents. Direct JSON must supply this field; use "" to disable the handshake.
startTime string No null Optional UTC start time if the listener should not start immediately.

Operation Flow

Stage Action
Setup Existing agent is configured to listen on specified port
Connection New agent connects to relay agent using provided hosts
Communication All traffic is routed through the relay agent
Security Adds layer of indirection between new agent and C2