dassjoss/aligo-c2-frameworkk
GitHub: dassjoss/aligo-c2-frameworkk
一个用于教学目的的C2框架项目,演示了远程端点协调、加密通信协议和操作员控制的完整架构。
Stars: 0 | Forks: 0
# Aligo C2 框架
为 **Aligo Defensores Informáticos Hackathon** 开发的一个教学软件架构项目。
本项目旨在设计并实现一个功能完善的命令与控制(C2)系统,能够在封闭且经过授权的实验室环境中,从中央服务器协调远程 endpoint。
## 🚀 快速开始
### 安装说明
```
# 安装 dependencies
pip install -r requirements.txt
# 运行 test suite
python3 test_crypto.py
```
### 用法
```
# 1. 启动 server
cd server
python3 server.py
# 2. 使用 ngrok 暴露(在另一个终端中)
ngrok http 5000
# 3. 连接 agent(在目标机器上)
python3 agent/agent_ngrok.py https://your-ngrok-url.ngrok.io
```
### 📚 文档
- **[快速入门指南](docs/CRYPTO_QUICKSTART.md)** - 5 分钟快速上手
- **[完整实现文档](docs/CRYPTO_IMPLEMENTATION.md)** - 详细的技术文档
- **[协议审计报告](docs/PROTOCOL_AUDIT_REPORT.md)** - 安全性分析
- **[文档索引](docs/INDEX.md)** - 浏览所有文档
## 🔐 安全特性
- **RSA-2048** 密钥交换,用于安全地建立会话密钥
- **Fernet (AES-128-CBC + HMAC-SHA256)** 用于 payload 加密
- 每个 agent 连接使用**独立的会话密钥**
- 传输过程**零明文** - 所有命令和结果均经过加密
## 🏗️ 概念架构
本项目分为三个独立的逻辑组件:
1. **Agent (`/agent`):** 设计用于在目标系统上运行的软件。它负责与服务器建立连接、接收指令、在本地执行指令并返回输出结果。
2. **Server (`/server`):** 架构的中央枢纽。它负责监听来自 agent 的传入连接、管理待处理任务队列,并协调信息流。
3. **Shared (`/shared`):** 密码学工具和共享的协议定义。
## 📂 项目结构
```
aligo-c2-frameworkk/
├── agent/ # Agent implementation (HTTPS + encryption)
├── server/ # Flask server with hybrid encryption
├── shared/ # Crypto utilities (RSA + Fernet)
├── scripts/ # Deployment and testing scripts
├── docs/ # Complete documentation
├── test_crypto.py # Cryptographic test suite
└── requirements.txt # Python dependencies
```
## 🧪 测试
```
# 运行 crypto test suite
python3 test_crypto.py
# 测试 HTTPS server
bash scripts/test_https.sh
# 测试网络连通性
bash scripts/test_network.sh
```
## 团队角色与职责
* **Pablo:** 项目管理、系统规划与 Pitch 设计
* **Natalia:** 操作员界面与功能集成
* **Jose:** Agent 开发与 Endpoint 逻辑
* **Alex:** Server 开发与安全协议
## ⚠️ 仅供教学使用
本软件开发用于授权实验室环境中的教学目的。严禁出于恶意目的进行未经授权的使用,这是非法行为。
标签:C2框架, IP 地址批量处理, Python, 安全学习资源, 安全攻防, 密码学, 手动系统调用, 无后门, 网络信息收集, 远控工具, 逆向工具