Havoc:开源 C2 框架的新标杆,8.4K Stars 背后的硬核设计


🚀 一句话介绍

Havoc 是一个现代、可扩展的后渗透命令与控制(C2)框架,由 @C5pider 开发,采用三层架构设计:Client(C++/Qt) + Teamserver(Golang) + Demon Agent(C/ASM)。开源免费(GPL-3.0),8.4K+ Stars,支持多用户协作、Sleep 混淆、Indirect Syscalls 等高级特性。

🔗 项目地址:https://github.com/HavocFramework/Havoc

🏠 官网:https://havocframework.com


💡 为什么选择 Havoc?

😖 传统 C2 痛点😎 Havoc 解法
Cobalt Strike 授权贵,动辄几万美元完全开源免费,GPL-3.0 协议
Metasploit 无 GUI,协作困难跨平台 Qt GUI,Multiplayer 多人协作
Sliver 的 Sleep 混淆能力有限Ekko / Zilean / FOLIAGE 三种模式可选
Agent 特征明显,容易被查杀Indirect Syscalls + Stack Duplication
扩展性差,自定义 Agent 困难External C2 + Talon 等自定义 Agent 支持

🏗️ 三层架构设计

Havoc 采用经典的三层架构,每层独立开发、独立部署:

┌─────────────────────────────────────────────────────────┐
│  Client (C++ + Qt)                                      │
│  ├─ 跨平台 GUI(Windows / Linux / macOS)               │
│  ├─ Dracula 暗色主题                                     │
│  ├─ 会话拓扑图(Session Graph)                          │
│  └─ Multiplayer 多用户协作                              │
└─────────────────────────────────────────────────────────┘
                          ↓ WebSocket
┌─────────────────────────────────────────────────────────┐
│  Teamserver (Golang)                                    │
│  ├─ 多用户 Team Server                                  │
│  ├─ Payload 生成(EXE / Shellcode / DLL)               │
│  ├─ HTTP/HTTPS Listener                                │
│  ├─ 自定义 C2 Profile                                   │
│  └─ External C2 扩展                                    │
└─────────────────────────────────────────────────────────┘
                          ↓ HTTP/HTTPS/SMB
┌─────────────────────────────────────────────────────────┐
│  Demon Agent (C + ASM)                                  │
│  ├─ Sleep Obfuscation(Ekko/Zilean/FOLIAGE)           │
│  ├─ x64 Return Address Spoofing                         │
│  ├─ Indirect Syscalls for Nt* APIs                      │
│  ├─ Token Vault                                         │
│  └─ AMSI/ETW 硬件断点 Patch                             │
└─────────────────────────────────────────────────────────┘

🎯 Demon Agent:Havoc 的王牌植入体

Demon Agent 核心特性

Sleep Obfuscation(睡眠混淆)

Demon 内置三种睡眠混淆技术,有效绕过内存扫描:

模式技术特点
Ekko延时混淆轻量级,通过 Sleep + ROP 链实现
Zilean时间扭曲时间戳欺骗,绕过基于时间的检测
FOLIAGE叶片混淆栈复制 + 内存加密,最强隐蔽性

Evasion 技术

技术说明
x64 Return Address Spoofing返回地址欺骗,绕过调用栈分析
Indirect Syscalls间接系统调用,绕过用户态 Hook
AMSI/ETW Hardware Breakpoint Patch硬件断点 Patch,绕过 AMSI/ETW 监控
Proxy Library Loading代理库加载,绕过 DLL 监控

后渗透能力

能力说明
Token Vault令牌管理库,支持令牌窃取/还原/模拟
SMB 支持SMB Beacon,横向移动无需出网
内置命令库文件操作、进程管理、网络扫描等
模块加载支持自定义后渗透模块

🖥️ Teamserver:功能完备的 C2 后端

Teamserver 功能矩阵

多用户协作

  • Multiplayer — 多人同时连接同一个 Teamserver
  • WebSocket 实时同步 — 操作实时广播给所有客户端
  • 权限分级管理 — 管理员 / 操作员权限分离
  • 操作日志审计 — 所有操作可追溯

Payload 生成

格式说明
EXEWindows 可执行文件
Shellcode原始载荷,可注入其他进程
DLL动态链接库,支持 DLL 劫持

C2 Profile 自定义

通过配置文件自定义通信特征,降低流量特征:

Host: api.example.com
Port: 443
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Headers:
  X-Auth-Token: {RANDOM}
  X-Request-Id: {UUID}
Uri:
  - /api/v1/status
  - /api/v2/health

🎨 Client:跨平台现代化 GUI

Client GUI 特性

核心特性

特性说明
跨平台Windows / Linux / macOS 全平台支持
Dracula 暗色主题现代、护眼的暗色 UI
Session Graph可视化会话拓扑图,直观展示 Agent 层级关系
Multi-User Control同时操作多个 Agent,批量命令执行
模块加载支持加载扩展模块增强后渗透能力

扩展能力

  • Python API(havoc-py) — 脚本化自动化操作
  • 自定义 Agent — 支持 Talon 等非 Demon Agent
  • Modules — 社区模块扩展后渗透能力

📊 主流 C2 框架对比

主流 C2 框架对比
特性HavocCobalt StrikeSliverMetasploit
开源免费✅ GPL-3.0❌ 商业授权✅ GPL-3.0✅ BSD
GUI 客户端✅ Qt 跨平台✅ Java Swing✅ Web UI❌ CLI only
多用户协作✅ Multiplayer✅ Team Server✅ Multiplayer❌ 单用户
Sleep 混淆✅ Ekko/Zilean/FOLIAGE✅ Sleep Mask✅ Donut⚠️ 有限
Indirect Syscalls✅ 内置⚠️ 需插件✅ 内置❌ 无
SMB Beacon✅ 内置✅ SMB Beacon✅ 内置⚠️ 有限
自定义 Agent✅ Talon 等⚠️ 需开发✅ 多种 Agent✅ Meterpreter
活跃维护✅ 活跃✅ 商业✅ 活跃✅ 活跃

🚀 快速部署

快速部署流程

环境要求

依赖版本说明
🐧 操作系统Debian 10/11, Ubuntu 20.04/22.04, Kali推荐 Kali
🖼️ Qt5.15+Client GUI 依赖
🐍 Python3.10.x脚本和构建依赖
🐹 Golang1.18+Teamserver 编译

编译步骤

# 1. 安装依赖(以 Kali 为例)
sudo apt update
sudo apt install qt5-default python3.10 golang git build-essential

# 2. 克隆项目
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc

# 3. 编译 Teamserver
make teamserver

# 4. 编译 Client
make client

# 5. 启动 Teamserver
./Havoc teamserver -c config.yml

# 6. 启动 Client(另一个终端)
./Havoc client

生成 Payload

  1. 打开 Client,连接 Teamserver
  2. 点击 PayloadsGenerate
  3. 选择 Demon,配置监听器
  4. 选择格式(EXE / Shellcode / DLL)
  5. 点击 Generate 下载

📦 生态与扩展

官方项目

项目说明
Havoc主框架
Talon自定义 Agent
havoc-pyPython API
Modules后渗透模块

External C2

支持通过 External C2 扩展通信方式,例如:

  • DNS 隧道
  • WebSocket
  • 自定义协议

⚠️ 免责声明

🔴 本工具仅供授权安全研究和合法攻防演练使用。

请勿将其用于任何未经授权的入侵活动。滥用者自行承担全部法律后果。


📌 结语

Havoc 的核心优势在于 开源免费 + 现代化 GUI + 高级 Evasion 技术

🔓 开源免费         →  无需商业授权,审计/定制自由
🎨 Qt 跨平台 GUI    →  现代化界面,多用户协作
💤 Sleep 混淆       →  Ekko/Zilean/FOLIAGE 三种模式
🔧 Indirect Syscalls →  绕过用户态 Hook
🧩 可扩展架构       →  External C2 + 自定义 Agent + Python API

如果你正在寻找 Cobalt Strike 的开源替代品,或者需要一个现代化、可扩展的 C2 框架,Havoc 值得重点关注。


🔗 项目地址:https://github.com/HavocFramework/Havoc

👤 作者:C5pider | ⭐ Stars:8,482+ | 📌 协议:GPL-3.0


本文档由 AI 安全助手自动生成 · 仅供安全研究与学习交流

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容