Client Startup
Start the Sliver Client as your user account. Again, on the first launch the client will setup the hidden directories ~/.sliver
& ~/.sliver-client
similar to when the server was started up. However, since this is the first time starting the client, it will not have any config files.
$ ./sliver-client_linux
No config files found at /home/rto/.sliver-client/configs (see --help)
To create a config file for your operator, go back to the server host and create a new-operator
name.
First, put the server in multiplayer mode so other operators can join:
[server] sliver > multiplayer
[*] Multiplayer mode enabled!
Start up a transport that you plan to use. In this example we will start an HTTPS transport for the implants to communicate over.
[server] sliver > https
[*] Starting HTTPS :443 listener ...
[*] Successfully started job #2
Create a new operator on the server to generate the operator config file. The command is: [server] sliver > new-operator --name <your_name> --lhost <sliver-server-ip>
Example:
[server] sliver > new-operator --name steve --lhost 192.168.0.120
[*] Generating new client certificate, please wait ...
[*] Saved new client config to: /home/steve/steve_192.168.0.120.cfg
With the config file created, it needs to be transferred to the client host. Keep in mind that the server runs as root, so you will need to update the permissions on the file. Following that we will startup a simple Python3 HTTP Server to transfer the file to the client:
ls -l steve_192.168.0.120.cfg
-rw------- 1 root root 1613 Oct 3 09:26 steve_192.168.0.120.cfg
sudo chmod a+r steve_192.168.0.120.cfg
python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
On the client host, download the config file:
wget http://<ip address>:8000/steve_192.168.0.120.cfg
Next, move the config file into the ~/.sliver-client/configs
directory:
mv steve_192.168.0.120.cfg ~/.sliver-client/configs
With the operator config file in place on the client, go ahead and start the Sliver Client. This time, it will fully launch as expected:
./sliver-client_linux
Connecting to 192.168.0.120:31337 ...
.------..------..------..------..------..------.
|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |
| :/\: || :/\: || (\/) || :(): || (\/) || :(): |
| :\/: || (__) || :\/: || ()() || :\/: || ()() |
| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|
`------'`------'`------'`------'`------'`------'
All hackers gain skulk
[*] Server v1.5.42 - 85b0e870d05ec47184958dbcb871ddee2eb9e3df
[*] Welcome to the sliver shell, please type 'help' for options
[*] Check for updates with the 'update' command
sliver >
On the server, you will see a message that a new operator has joined the game. When you run the operators command on the server, you will see that the operator just added is online:
[*] steve has joined the game
[server] sliver > operators
Name Status
======= ========
steve Online
At this point, the Sliver server & client are both up and running as expected!