mejq/C2-Server

GitHub: mejq/C2-Server

用于安全研究和检测工程的最小化 Python C2 框架,帮助理解加密通信、TLS 指纹伪装和 Beacon 定时对检测的影响。

Stars: 1 | Forks: 0

# Python 命令控制 C2 服务器 一个用于 **安全研究、恶意软件分析实验室和检测工程实验** 的最小化命令控制 (C2) 框架。 本项目旨在帮助蓝队和红队成员理解: - 现代 C2 流量的特征 - 哪些行为会触发检测 - TLS 指纹和 Beacon 定时如何影响网络可见性 ## 研究导向功能 - 加密 C2 通信 (Fernet / AES) - TLS 指纹伪装 (curl_cffi) - 带有抖动 (Jitter) 的基于时间的 Beacon 间隔 - 用于实验室模拟的简单任务机制 - 用于行为追踪的 Agent 身份持久化 ## 项目初衷 此框架是作为 **学习和研究工具** 创建的,并非生产级恶意软件平台。 主要目标: - 研究 C2 通信模式 - 试验 TLS 指纹伪装 - 分析 Beacon 定时和抖动 - 在受控实验室环境中构建检测规则 ## 检测与防御说明 本项目可用于: - 生成用于 IDS/IPS 测试的样本加密 C2 流量 - 构建 SIEM 和 EDR 检测规则 - 分析基于 TLS JA3 / 指纹的检测策略 - 观察 Beacon 抖动如何影响基于异常的检测 - 比较可预测与随机 Beacon 间隔 ## 项目结构 ``` . ├── C2.py # The C2 Server (Flask) ├── Agent.py # The Client Agent ├── Encryption.py # Shared encryption logic ├── .env # Environment file for keys └── tasks.json # (Auto-generated) Stores pending tasks └── agents.json # (Auto-generated) Stores agent info ``` ## 环境要求 你需要 Python 3.8+ 以及以下库: ``` pip install flask curl-cffi cryptography python-dotenv request ``` ## 安装与配置 ### 1. 生成加密密钥 你必须生成一个 Fernet 密钥并将其保存在 `.env` 文件中。服务器和 Agent 都需要访问此逻辑/密钥才能进行通信。 在 Python 中运行以下代码以获取密钥: ``` from cryptography.fernet import Fernet print(Fernet.generate_key().decode()) ``` 在根目录下创建一个 `.env` 文件: ``` FERNET_KEY=YOUR_GENERATED_KEY_HERE ``` ### 2. 配置 Agent 打开 `agent.py` 并修改 `SERVER` 变量(如果你不是在本地运行): ``` SERVER = 'http://127.0.0.1:5000' # 更改为你的 C2 IP/Domain ``` ## 使用方法 ### 1. 启动服务器 ``` python server.py ``` 服务器将监听 `0.0.0.0:5000`。 ### 2. 启动 Agent ``` python agent.py ``` Agent 将向服务器注册,并根据休眠间隔开始 Beacon 通信。 ### 3. 任务队列(如何控制 Agent) 目前,任务通过 `/api/push_task` 端点推送。你可以使用 `curl` 或 Postman 将命令加入队列。 **示例:先加密你的任务载荷** _注意:由于服务器期望接收加密的 JSON,你需要一个小的辅助脚本在通过 curl 发送命令之前对其进行加密,或者扩展服务器以接受来自管理接口的纯文本。_ **任务类型:** 1. **Shell 命令:** `{"type": "shell", "command": "whoami"}` 2. **下载:** `{"type": "download", "url": "http://site.com/file.exe", "save_as": "update.exe"}` 3. **更新休眠时间:** `{"type": "sleep", "min": 5, "max": 10}` ## 免责声明 本项目仅用于: - 教育目的 - 恶意软件分析实验室 - 授权的安全研究 请勿在你未拥有或未获得明确测试许可的环境之外部署此框架。
标签:AES加密, Beacon, C2框架, DAST, EDR规则, Fernet, Flask, IDS测试, IP 地址批量处理, JA3模拟, Python, Radare2, SIEM规则, TLS指纹, 后端开发, 命令与控制, 安全学习资源, 安全教育, 实验环境, 恶意软件分析, 抖动, 数据展示, 无后门, 模拟威胁, 流量加密, 流量检测, 红队, 网络安全, 逆向工具, 隐私保护