๐ง Listeners โ
Listeners are endpoints set up on the Sliver server that wait for incoming connections from implants. When an implant is executed on a target machine, it initiates a connection back to one of these listeners, establishing a communication channel. This channel allows the operator to send instructions and receive outputs from the implant.
๐ฎ Types of Listeners โ
Sliver provides several types of listeners to support various communication protocols and operational needs.
HTTP/HTTPS Listeners : These listeners use the
HTTPorHTTPSprotocols for communication. HTTPS listenersencrypt the datatransmitted between the implant and the server, providing an additional layer of security.DNS Listeners : DNS listeners use
DNS queriesand responses to communicate with implants. This method can be useful forbypassing network restrictionsandfirewallsthat might block other types of traffic.mTLS Listeners : Mutual Transport Layer Security (mTLS) listeners establish highly secure connections by requiring
both the client and serverto authenticate each other usingcertificates. This ensures that thecommunication is encryptedand that both parties are verified.
๐ง Setting Up Listeners โ
Setting up listeners in Sliver involves configuring the necessary parameters such as the IP address, port, and protocol. Here is a step-by-step guide to setting up each type of listener:
- HTTP/HTTPS Listener :
To create an HTTP listener, use the following command :
http -l 9000[server] sliver > jobs
ID Name Protocol Port Stage Profile
==== ====== ========== ====== ===============
1 http tcp 9000For an HTTPS listener :
https -l 9000[server] sliver > jobs
ID Name Protocol Port Stage Profile
==== ======= ========== ====== ===============
3 https tcp 9000- DNS Listener Setup :
To create a DNS listener, use the command :
dns -l 9000[server] sliver > jobs
ID Name Protocol Port Stage Profile
==== ====== ========== ====== ===============
6 dns udp 9000- mTLS Listener Setup :
Setting up an mTLS listener :
mtls -l 9000[server] sliver > jobs
ID Name Protocol Port Stage Profile
==== ====== ========== ====== ===============
5 mtls tcp 9000๐ง Manage Listeners โ
Managing listeners is facilitated through the jobs command, which allows operators to handle active listeners efficiently. The jobs command provides an overview of all running jobs, including listeners, and enables operators to manage these jobs effectively.
- List all jobs :
jobs- Delete a specific job :
jobs -k 1- Delete all running jobs :
jobs -K๐ป Stage-Listener โ
The stage-listener command in Sliver is used to start a stager listener bound to a specific Sliver profile. This allows you to link a profile's settings to the listener, ensuring that when a stager calls back to this URL, the appropriate implant profile is utilized.
For example, to start a TCP listener and link it to a profile, you would use :
stage-listener --url tcp://1.2.3.4:8080 --profile customProfileWhen a stager calls back to this URL, a Sliver implant corresponding to the specified profile will be sent.
