介绍
Sliver是一个开源的C2项目,用Golang开发。Sliver的操作与Metasploit的操作类似,但它支持多用户协同。与Cobalt Strike相比,它支持Macos、Windows、Linux客户端以及implant的生成,但它不具备GUI界面,官方提供了一个GUI项目,但是目前已经废弃。项目地址:https://github.com/BishopFox/sliver。
总体来说作为CS的开源替代品是非常好的选择,且二开相对简单,适合作为个人或团队的定制C2框架。
安装
在Linux服务器中执行 curl https://sliver.sh/install|sudo bash
即可完成安装,安装后主要会生成sliver-server、sliver-client和sliver三个可执行程序。
sliver-server在root目录下,是服务端程序,如果要实现多用户操作,必须启动此程序,后续新建用户等操作都需要在此程序下操作sudo /root/sliver-server
。
用户端可以直接去github上下载对应架构的客户端https://github.com/BishopFox/sliver/releases。
sliver在终端模式下是具备自动补全功能的,因此可以多使用Tab。
多用户模式
在Server端中新建用户:new-operator --name client -l 198.19.249.24 -p 20000
输入multiplayer -l 20000
启动指定端口的多用户模式。
将配置文件复制到client机器的~/.sliver-client/configs目录中,再启动sliver-client。
Beacons & Sessions
Sliver在远程控制上提供了Beacon模式和Session模式。
Session模式下,Sliver会和受控主机建立持续的连接,执行的命令会立刻返回结果,方便但容易被发现。
Beacon模式下,Sliver与Cobalt Strike一样,有休眠时间,执行的命令会排队,等待受控主机一定时间后执行并返回结果,相对较为隐蔽。
implant生成
Sliver目前总共支持五种协议:mtls、http/s、dns、wireguard。
生成命令:
1 |
|
如果想生成的是Session模式,去掉beacon即可。
生成时需要记住很多参数,为了方便,Sliver提供了Profiles来简化这个过程:
1 |
|
需要使用时执行profiles generate --save ./test.exe windows_default
。
输出implants
可以看到所有生成的implant:
监听
开启监听只需要使用对应implant的协议名 -l 端口号即可
1 |
|
使用jobs可以看到当前开启的监听任务:
job1是sliver多用户模式下开启的grpc端口,用于多用户协同操作,job2就是刚刚开启的监听端口。
上线
在受控主机上点击木马后,server端和client端都会接到消息:
输入beacons
可以看到上线的beacon的信息:
use
命令可以进入该beacon,进入后可以执行interactive
转换出一个session,由于需要等待休眠时间,所以需要等待一会儿。
转换完成后再执行sessions
可以看到相关信息:
use
命令可以进入该session。
命令列表
1 |
|
Windows特定命令
1 |
|