用途
本技能用于在获得授权的红队行动中部署和配置 Havoc C2 基础设施。Havoc 是由 C5pider 开发的现代开源后渗透命令与控制(C2)框架,提供类似 Cobalt Strike 的多操作员协作界面,包含面向 Windows 后渗透的 Demon 代理、用于流量可塑配置的自定义 profile,以及 HTTP/HTTPS/SMB 监听器支持。
适用时机
- 在环境中部署或配置 Havoc 红队 C2 基础设施能力时
- 建立符合合规要求的安全控制时
- 为该领域构建或改进安全架构时
- 执行需要此实现的安全评估时
前置条件
- Ubuntu 22.04 LTS 或 Debian 11+(用于 Teamserver)
- Kali Linux 2023+(用于客户端)
- VPS 提供商:DigitalOcean、Linode 或 AWS EC2(最低 2GB 内存、2 vCPU)
- 注册满 30 天以上的域名,并持有有效 SSL 证书
- 红队行动的书面授权
架构
Havoc 客户端(Kali)通过 HTTPS 重定向器(Nginx/CDN)连接目标网络中的 Demon 代理,同时客户端与运行在 Ubuntu VPS 上的 Havoc Teamserver(端口 40056)通信。
主要能力与使用方式
第 1 步:安装 Havoc Teamserver
克隆仓库并安装依赖,然后构建 Teamserver 与客户端:
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc
sudo apt update
sudo apt install -y git build-essential apt-utils cmake libfontconfig1 \
libglu1-mesa-dev libgtest-dev libspdlog-dev libboost-all-dev \
libncurses5-dev libgdbm-dev libssl-dev libreadline-dev libffi-dev \
libsqlite3-dev libbz2-dev mesa-common-dev qtbase5-dev qtchooser \
qt5-qmake qtbase5-dev-tools libqt5websockets5 libqt5websockets5-dev \
qtdeclarative5-dev golang-go qtbase5-dev libqt5websockets5-dev \
python3-dev libboost-all-dev mingw-w64 nasm
cd teamserver
go mod download golang.org/x/sys
go mod download github.com/ugorji/go
cd ..
make ts-build
make client-build
第 2 步:配置 Teamserver Profile
创建 Havoc profile(havoc.yaotl),其中包含 Teamserver 主机与端口、编译器路径、操作员账号、HTTP/HTTPS 监听器(含 Hosts、HostRotation、端口、Secure、UserAgent、Uris、Headers、Response Headers)以及 Demon 配置(Sleep、Jitter、TrustXForwardedFor、Injection 的 Spawn64/Spawn32)。
第 3 步:启动 Teamserver
./havoc server --profile ./profiles/havoc.yaotl -v
预期输出包含框架版本、Teamserver 启动地址与 HTTPS 监听器启动地址。
第 4 步:配置 HTTPS 重定向器
在独立 VPS 上设置 Nginx 反向代理作为重定向器,仅转发匹配 C2 URI 的流量,其余流量重定向至合法站点。配置包含 SSL 证书路径、针对 /api/v2/auth、/api/v2/status、/content/images/gallery 的 proxy_pass 规则,以及默认 301 跳转。
第 5 步:生成 Demon 载荷
通过 Havoc 客户端 GUI 的 Attack > Payload 生成,选择 Agent 为 Demon、监听器、架构、格式、Sleep 技术(如 WaitForSingleObjectEx/Ekko)与 Spawn 路径。生成的载荷通过“目标 -> 重定向器(Nginx)-> Teamserver”回连。
第 6 步:使用 Demon 进行后渗透
Demon 会话上线后的常见命令包括:会话交互(whoami、shell systeminfo、shell ipconfig /all)、进程列举(proc list)、文件操作(download、upload)、内存中 .NET 执行(dotnet inline-execute)、令牌操作(token steal、token make)、凭据访问(mimikatz、Rubeus kerberoast)、横向移动(jump psexec、jump winrm)以及跳板(socks start、rportfwd start)。
OPSEC 注意事项
- 域名年龄:行动前 30 天以上注册域名
- SSL 证书:使用 Let's Encrypt 或购买证书,切勿自签名
- 分类:将域名提交至 Bluecoat/Fortiguard 进行分类
- Sleep/Jitter:长期行动使用最低 10 秒 sleep 与 30% 以上 jitter
- User-Agent:匹配目标组织常用浏览器 UA
- Kill Date:将载荷过期时间设为行动结束日期
- 基础设施:分离 teamserver、重定向器与钓鱼基础设施
- 载荷格式:使用带自定义加载器的 shellcode 而非原始 EXE
MITRE ATT&CK 映射
- T1583.001 获取基础设施:域名(资源开发)
- T1583.003 获取基础设施:虚拟专用服务器(资源开发)
- T1587.001 开发能力:恶意软件(资源开发)
- T1071.001 应用层协议:Web 协议(命令与控制)
- T1573.002 加密通道:非对称加密(命令与控制)
- T1090.002 代理:外部代理(命令与控制)
- T1105 入口工具传输(命令与控制)
- T1055 进程注入(防御规避)
限制
本技能面向获得书面授权的红队行动。资料未提供 Havoc 的收费、价格或平台支持范围等额外信息。