Ryan-Applied/HVCK-CTwo
GitHub: Ryan-Applied/HVCK-CTwo
一款模块化、多传输通道的红蓝队一体化 C2 框架,涵盖攻击性部署、通信中继与防御检测工程。
Stars: 6 | Forks: 2
# C2 工作区
该工作区分为三个工作区域:
- `red/` - C2 Composer 运行时、implant、transports、攻击性部署辅助工具、配置以及红队循环原型。
- `blue/` - 检测工程、遥测数据捕获、防御性研究笔记以及技术参考。
- `tools/` - 设置辅助工具、演示、手动集成测试、生成的包元数据以及长篇参考笔记。
仅在实验室环境、授权研究或您已获得明确许可的测试任务中使用此代码库。
## Python 设置
创建一个虚拟环境,以可编辑模式安装该包,如果您需要测试依赖项,请包含开发扩展组件:
```
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
如果仅在运行时使用,执行 `python -m pip install -r requirements.txt` 就足够了,但以可编辑模式安装是最方便的方式,因为它会安装 `setup.py` 中的命令启动器。
## `setup.py`
根目录下的 `setup.py` 将该代码库打包为 `c2_composer` 版本 `1.0.0`。它包含了 `red`、`blue` 和 `tools` 包,要求 Python 版本 `>=3.9`。
运行时依赖项包括项目使用的传输和云库:
- `requests`, `pyyaml`, `python-dateutil`, `urllib3`, `pyOpenSSL`, 和 `dnspython`
- `msal`, `PyGithub`, `boto3`, `openai`, 和 `slack-sdk`
- `cryptography`
- 用于交互式 multitool UI 的 `colorama` 和 `pyfiglet`
开发扩展组件通过 `.[dev]` 暴露,目前会安装 `pytest` 和 `pytest-asyncio`。
该包会从 `bin/` 目录安装这些基于 shell 的命令启动器。它们避免了生成的 Python shebang,这在当前工作区路径包含空格时非常重要。
- `c2-implant` -> `python -m red.implant.implant`
- `c2-controller` -> `python -m red.src.controller_adaptive`
- `c2-multitool` -> `python -m tools.multitool`
## 交互式 Multitool
`c2-multitool` 命令会打开 `HVCK Ctwo`,这是一个带有彩色、基于菜单的启动器,用于常见的红队、蓝队和供应商设置任务。它使用 `colorama` 提供终端颜色,并使用 `pyfiglet` 生成横幅。
```
c2-multitool
```
实用的非交互模式:
```
c2-multitool --list-actions
c2-multitool --dry-run --run vendor.health
c2-multitool --dry-run --run red.lambda
python -m tools.multitool --list-actions
```
如果某个命令因为旧的生成包装器而报出 `bad interpreter` 错误,请重新安装该包,以便 `bin/` 中的 shell 启动器将其替换:
```
python -m pip install -e . --no-deps --no-build-isolation
```
直接使用模块形式始终可以避免生成的脚本 shebang 问题:
```
python -m tools.multitool
```
该菜单将操作分组为:
- **红队资产**:初始化任务、生成 implant 配置、运行 implants/controllers、部署 AWS Lambda 中继、配置 DoH rendezvous TXT 记录、启动 Cloudflare 隧道,以及运行 Slack/OpenAI 设置辅助工具。
- **蓝队资产**:启动遥测数据捕获、运行检测脚本、执行研究场景、运行所有场景、导出检测规则以及启动演示。
- **供应商账户**:检查所需的 CLI,并运行针对 `aws`、`az`、`openai`、`gh` 和 `cloudflared` 的账户/引导命令。
云和供应商操作会在执行前预览命令并要求确认。请使用 `--dry-run` 在不更改任何内容的情况下检查命令。
供应商 CLI 操作假定已安装相关工具并完成了身份验证:
- AWS:`aws configure`、`aws configure sso`、IAM 用户创建、调用者身份检查
- Azure:`az login`、`az account show`、服务主体创建
- OpenAI:CLI 和 `OPENAI_API_KEY` 健康检查,以及位于 `tools/setup/` 下的现有 Assistant 设置辅助工具
- GitHub:`gh auth login` 和仓库创建
- Cloudflare:`cloudflared tunnel login`、命名隧道创建以及临时隧道启动
主要的可运行入口点:
```
python red/implant/implant.py red/config/implant_configs/combo10_adaptive.yaml
python red/src/controller_adaptive.py
python tools/demo/visual_demo.py
python blue/detections/detection.py --no-network
```
在以可编辑模式安装后,前两个命令也可以通过以下方式运行:
```
c2-implant red/config/implant_configs/combo10_adaptive.yaml
c2-controller
```
原始的 C2 Composer 文档现在位于 `red/README.md`。
标签:C2框架, IP 地址批量处理, Python开发, 命令控制, 安全学习资源, 安全攻防, 数据采集, 网络信息收集, 逆向工具