knifesec/kCaddy
GitHub: knifesec/kCaddy
基于 Docker 和 YAML 配置的 Caddy 重定向器,帮助红队快速部署加固型流量代理,尤其适配 Evilginx 前端场景。
Stars: 3 | Forks: 0
# kCaddy
一个 YAML 文件。一条 Docker 命令。在 Evilginx 前端部署一个经过强化且灵活的 Caddy 重定向器。

## 什么是 kCaddy
kCaddy 是一个 Docker 项目,旨在为红队操作员提供对 HTTP 流量的精确控制。
您可以在单个 `kcaddy.yml` 文件中定义您的基础设施:响应头、IP/User-Agent 过滤器、路径和匹配器逻辑、反向代理配置文件以及自定义错误处理。
如需完整的模式级别文档及所有可用的键,请使用网站上的官方项目文档。
## 相关 knifesec.com 页面
- 博客文章:[https://knifesec.com/blog/kcaddy-redirector-evilginx/](https://knifesec.com/blog/kcaddy-redirector-evilginx/)
- 文档:[https://knifesec.com/projects/kcaddy/](https://knifesec.com/projects/kcaddy/)
## 为什么会有这个项目
经过多年在钓鱼和 C2 操作中手动复制和调整 Caddy 重定向器配置后,我们的目标是打造一个可重用、快速部署的结构,并对流量行为拥有强大的控制力。
kCaddy 将可重用的辅助配置文件(headers、filters、matchers、reverse proxy)编译成有效的 Caddyfile,以便操作员能够:
- 控制接受或拒绝哪些流量
- 模糊化基础设施指纹
- 在具备更好操作控制的情况下安全代理 Evilginx
- 通过 `custom_config` 应急通道保持定制的灵活性
## 快速开始
在运行以下命令之前,请安装:
- Docker:[https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)
- Task:[https://taskfile.dev/installation/](https://taskfile.dev/installation/)
```
git clone https://github.com/knifesec/kcaddy.git
cd kcaddy
cp config/kcaddy.yaml.example config/kcaddy.yml
cp docker/docker-compose.yml.example docker/docker-compose.yml
cd task
task build
task copyconfig
task up
```
## 运行时模型
kCaddy 的设计围绕挂载在 `/etc/caddy`(通过 `KCADDY_ROOT`)的单个 Docker 卷展开,因此配置、生成的文件、日志、资产和 TLS 状态都集中在一个位置。这使得在不同任务之间进行部署检查、备份和拆除变得更加容易。
默认情况下,Docker 将此命名卷存储在主机的以下位置:
- `/var/lib/docker/volumes/kcaddy_runtime/`
## 包含 Evilginx 示例
相关的博客文章和 `config/kcaddy.yaml.example` 都包含了多个实际示例,展示了如何在 Evilginx(免费版和专业版)前端运行 kCaddy,其应用场景围绕:
- Google
- Okta
- Microsoft
所有的实现细节、设置流程和操作上下文均记录在博客文章中。
标签:ATT&CK模拟, C2基础设施, C2重定向器, Caddy, Docker, Evilginx, Malleable C2, YAML配置, 中间人攻击, 反向代理, 安全防御评估, 数据展示, 日志审计, 流量伪装, 红队, 红队作战, 网络安全, 网络攻防, 网络流量控制, 请求拦截, 隐私保护