点击蓝字 关注我们
免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
添加星标不迷路
由于公众号推送规则改变,微信头条公众号信息会被折叠,为了避免错过公众号推送,请大家动动手指设置“星标”,设置之后就可以和从前一样收到推送啦
前言
22年4月某应急响应项目中第一次看到了Sliver的流量,对方是米国黑客,当时还在想这老外不用CS的吗?这是啥新出的框架啊看着还挺好使的。GitHub搜了下加了个星就没管了,到下半年Sliver突然就开始火了才又想起来这茬,但一直没去整理下它的使用,这次抽时间整理下。
由于中文参考资料极少,基本是靠啃官方英语WIKI和英语文档然后不停的试错试错再试错,这样才写下来,我是个英语渣渣,里面有部分单词和功能翻译的可能有些问题
一、介绍
Sliver是一个Go语言编写的,开源的跨平台红队框架(也就是C2系统),它生成的shell文件可以在几乎所有架构上运行,并通过中央服务器安全的管理这些连接。Sliver支持多个回调协议包括DNS、Mutual TLS(mTLS)、WireGuard、HTTP(S),并使用每二进制非对称加密密钥动态编译。
服务器和客户端支持MacOS、Windows和Linux。在MacOS、Windows和Linux上都支持植入。
目前Sliver免杀率还不错,但官方文档也说他们没优化大小,所以导致shell文件很大(确实大,一个十几兆)。
项目地址
https://github.com/BishopFox/sliver
使用WIKI
https://github.com/BishopFox/sliver/wiki
二、环境说明
语言:Go语言
系统:Windows、Linux、MacOS均可
默认端口:31337
这里在虚拟机环境下将服务端放到Linux上,客户端放到Windows上。下载sliver-client_windows.exe、sliver-server_linux
2.1、服务端安装
下载适用于你的平台的最新版服务端版本,然后运行二进制文件即可,就是这样简单。
Sliver支持多平台服务器,但官方强烈建议在Linux或MacOS上运行服务端,因为某些功能在Windows上很难运行。
Windows客户端访问Linux/MacOS服务端时运行的很好,我们这里也使用Windows客户端、Linux服务端。
Sliver有两个任选的外部依赖:MinGW和Metasploit,要启用DLL payload的话需要安装MinGW,如果要启用某些MSF的集成功能,则需要在服务器上安装Metasploit。
2.1.1、MinGW设置(可选,推荐)
为了启用shellcode/staged/DLL负载,您需要在服务器上安装MinGW(连接到服务器的客户端不需要安装),默认情况下,Sliver将在默认位置查找MinGW二进制文件
Linux下(以Debian为例)安装MinGW
PS:这里发现kali自带MinGW,不需要再次安装了
apt install mingw-w64
2.1.2、Metasploit安装
官方建议使用如下框架安装,Sliver希望使用MSF版本6.2以上。
但我觉得直接用kali不香吗?直接集成了,版本也是6.2以上,当前MSF版本是6.3.4
https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers
2.3、运行服务端
2.3.0、方式一:安装Sliver并设置守护进程运行
下载,在/usr/local/bin
目录下则sliver服务端可以在shell中直接作为关键词"sliver"使用,类似于Windows的环境变量。
┌──(root㉿kali)-[~]
└─# wget -O /usr/local/bin/sliver-server
https://github.com/BishopFox/sliver/releases/download/v1.5.36/sliver-server_linux &&
chmod 755 /usr/local/bin/sliver-server
┌──(root㉿kali)-[~]
└─# wget -O /usr/local/bin/sliver
https://github.com/BishopFox/sliver/releases/download/v1.5.36/sliver-client_linux &&
chmod 755 /usr/local/bin/sliver
Windows客户端
https://github.com/BishopFox/sliver/releases/download/v1.5.36/sliver-client_windows.exe
接下来,解包并吧Sliver服务端安装到~/.sliver
文件夹下,命令如下
sliver-server unpack --force 路径
可发现封装的Sliver服务端被解包了
最后,我们为Sliver服务端创建一个systemd服务,将下面的内容放到指定目录下
[Unit]
Description=Sliver
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=on-failure
RestartSec=3
User=root
ExecStart=/usr/local/bin/sliver-server daemon
[Install]
WantedBy=multi-user.target
创建并写入到指定文件,wq保存
vim /etc/systemd/system/sliver.service
然后
chmod 600 /etc/systemd/system/sliver.service
现在,我们可以使用如下命令以守护程序模式(后台运行,使用nohup也许也可以)启动Sliver了,运行之后它将在31337上监听
systemctl start sliver
2.3.1、配置文件位置
Server 端默认监听的端口为 31337,如果要修改端口以及 daemon mode(守护者模式)、多人模式的话可以修改配置文件,配置文件位置如下:
vim ~/.sliver/configs/server.json
2.3.2、方式二:直接启动服务端
下载后Linux版直接打开服务端即可(如果没有照着上面2.3.0 设置守护进程模式运行的话),非常简便(Windows版服务端的话直接运行exe即可)
./sliver-server_linux
注意:这里如果是单用户端的话已经完成了完整,没错就这么简单,单用户在服务端玩就OK了。
如果是多客户端的话则需要启动多用户模式:
new-operator --name Dabiaoge --lhost lhost #新建一个client,lhost是服务器IP,lhost也可以写eth0(当前网卡)
multiplayer #启用多用户
会生成客户端的cfg配置文件,这里只生成了一个用户,如果有多个用户的话修改name的值即可。
2.4、运行客户端
2.4.1、Sliver GUI
GUI版本的Sliver
https://github.com/BishopFox/sliver-gui
下载后安装,安装后会生成一个快捷方式,点击打开,设置中文
点击管理配置,添加配置,选择之前生成的cfg文件即可。
然后点击选择服务器(我这里发现有BUG,需要重新打开才会有选项),点击连接即可,吐槽一下这翻译是他喵的机翻吧?这【$抢劫】也太米利坚了。
**注意:**如果报14error则可能是服务端没开启多用户模式,必须开启多用户模式!
如果服务端断开之后再次连接,连接不上,那么再次打开多用户模式试试(惨痛的教训,这破命令居然像一次性的)。
multiplayer #服务端运行该命令,启用多用户模式
2.4.2、命令行版客户端
命令行版本和GUI版也类似,也需要导入cfg文件,然后打开。
Sliver的命令行界面会被杀毒软件直接标注为"病毒木马程序",有点那啥。
.sliver-client_windows.exe import .test_192.168.0.253.cfg
.sliver-client_windows.exe
参考资料
https:
//github.com/BishopFox/sliver/wiki/Getting-Started
https:
//dominicbreuker.com/post/
原文始发于微信公众号(sechub安全):红队C2工具Sliver(二)| Sliver的配置、安装与连接
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论