aelder202/sable
GitHub: aelder202/sable
一款 Go 语言编写的开源 C2 框架,通过 HTTPS 和 DNS 双通道实现 agent 管理与任务下发,提供 Web UI 和 CLI 双操作界面。
Stars: 2 | Forks: 0
Sable
开源 C2
Go | HTTPS + DNS 传输 | Web UI + CLI
Sable 是一个用 Go 编写的 C2。服务器通过 HTTPS 接收来自 agent 的加密 beacon,并以 DNS 作为备用方式,同时提供浏览器控制台和交互式 CLI 用于下发任务。
## 界面预览
在本地回环 HTTPS 上受密码保护的操作员控制台:

包含命令输出、Task Builder 和完整操作菜单的活动会话视图:

跨选定会话的批量任务下发:

用于查看任务、Artifacts、笔记和审计历史的会话详情侧边栏:

用于选择下载路径的远程文件浏览器:

## 授权使用
Sable 仅供教育用途、受控实验室、CTF、自有系统,以及您持有书面授权的测试项目使用。请勿将其部署到您不拥有或未获得明确测试许可的系统上。作者对滥用行为不承担任何责任。
## 系统架构
```
flowchart LR
A["Agent
statically compiled
ldflags-configured"]
O["Operator
Web UI / CLI"]
S["Sable Server
:443 HTTPS · :53/udp DNS
127.0.0.1:8443 API + Web UI"]
A -->|HTTPS beacons :443| S
A -.->|DNS fallback :53/udp| S
O -->|loopback :8443| S
```
有关加密细节、网络端口和项目布局,请参阅 [docs/architecture.md](docs/architecture.md)。
## 前置条件
- Go 1.26.2 或更高版本(与 `go.mod` 匹配)
- `make`(Linux、macOS 或 Windows;PowerShell 或 cmd)
- 如果绑定 `443`(以及在开启 DNS 备用时绑定 `53`),在服务器主机上需要 Root/管理员权限
Agent 通过 `GOOS`/`GOARCH` 进行交叉编译,因此您可以从任何主机操作系统进行构建。
## 快速入门
### 1. 克隆
```
git clone https://github.com/aelder202/sable
cd sable
```
模块在首次构建时拉取。如果您想预热缓存,可以运行 `go mod download`。
### 2. 安装
构建统一辅助工具,然后让其创建本地配置、TLS 证书、服务器二进制文件、选定的 agent 二进制文件以及 `.sable/install.json` 清单。
```
make sablectl
./sablectl install --url https://
:443 --password-file ./pw.txt
```
`--password-file` 是可选的但建议使用:提供后,`install` 会创建该文件(如果尚不存在则使用随机密码),并在 `.sable/install.json` 中记录其路径。`sablectl start` 和 `sablectl agent register` 会自动复用该路径,因此您无需在每次命令时重新输入 `--password-file`。
要构建具有独立身份的 Linux 和 Windows agent:
```
./sablectl install --url https://:443 --password-file ./pw.txt --agents both --windows-label win01
```
`SERVER_URL` 是 agent 回连的地址,而不是操作员 UI 的地址。`sablectl install` 会写入 `config.env`、`server.crt`、`server.key`、`.sable/install.json`,并在 `builds/标签:C2框架, CTF安全, DNS隧道, EVTX分析, Go语言, HTTPS通信, TCP SYN 扫描, Web UI, 代理控制, 命令与控制, 命令行界面, 安全学习资源, 安全测试, 底层编程, 开源安全工具, 攻击性安全, 日志审计, 流量加密, 程序破解, 网络信息收集, 网络安全, 网络安全实验, 远程管理, 逆向工程平台, 隐私保护