S8C88/C2-Framework-Lite

GitHub: S8C88/C2-Framework-Lite

一款轻量级 C2 框架,提供 AES-256 加密通信、多会话管理与命令执行功能,专为授权渗透测试和 CTF 场景设计。

Stars: 0 | Forks: 0

|# ⚠️ C2-Framework-Lite | |> **⚠️ 警告:** 仅在您拥有或获得明确书面授权的系统上进行部署。未经授权的 C2 基础设施是非法的。本框架仅用于授权的渗透测试和 CTF 挑战。 | |带有 AES 加密通信的轻量级 C2 服务器与 agent。支持多会话、命令广播、文件上传/下载。 | |## 架构 | |两个组件:**Server** 监听 agent 连接,**Agent** 回连服务器。通过 PBKDF2 派生的 Fernet 密钥进行 AES-256 加密。 | |```mermaid |graph TD | subgraph "Operator Console" | CLI["c2> CLI Interface"] | end | | subgraph "C2 Server" | SM["Session Manager"] | CD["Command Dispatcher"] | CR["Encryption Layer
(AES-256 via Fernet)"] | LI["Listener Thread
(TCP :4443)"] | end | | subgraph "Target Environment" | AG["C2 Agent
(outbound connect)"] | CE["Command Executor
(subprocess/shell)"] | end | | CLI -->|"interact/list/broadcast"| SM | SM -->|"session lookup"| CD | CD -->|"encrypted cmd"| CR | CR -->|"AES-256 ciphertext"| LI | LI -->|"TCP socket"| AG | AG -->|"decrypt"| CR | AG -->|"execute"| CE | CE -->|"output"| AG | AG -->|"encrypt & return"| LI | LI -->|"decrypted output"| CD | CD -->|"display"| CLI | | style AG fill:#4a0000,stroke:#ff0000,color:#fff | style CE fill:#4a0000,stroke:#ff0000,color:#fff | style CR fill:#003366,stroke:#0066cc,color:#fff |``` ### 数据流 ``` sequenceDiagram participant O as Operator participant S as C2 Server participant A as C2 Agent O->>S: start() S->>S: Listener thread (port 4443) A->>A: derive_key(password) A->>S: TCP connect S->>A: encrypt("C2_HANDSHAKE") A->>S: encrypt("C2_ACK") Note over S,A: Encrypted session established O->>S: send_command(session_id, "ls -la") S->>A: encrypt("ls -la") A->>A: subprocess.run("ls -la") A->>S: encrypt(output) S->>O: display output ``` | |## 安装说明 | |```bash |pip install -r requirements.txt |``` | |## 使用说明 | |### Server | |```bash |python3 c2_server.py |``` | |系统会提示您输入主机(host)、端口(port)和加密密码(encryption password)。 | |### 交互式控制台 || 命令 | 描述 | ||---------|-------------| || `list` | 列出所有会话(活跃 + 不活跃) | || `interact ` | 进入与指定会话的交互模式 | || `broadcast ` | 向所有活跃会话发送命令 | || `exit` | 关闭服务器 | | |### Agent | |```bash |python3 c2_agent.py --host --port 4443 --password |``` | |选项:`--host`, `--port`, `--password`, `--retries` (0 = 无限重试,默认值) |## 项目结构 | |``` |C2-Framework-Lite/ |├── c2_server.py # C2 listener |├── c2_agent.py # Agent that phones home |├── requirements.txt |├── LICENSE |├── README.md |├── docs/ |│ └── engineering-report.md |└── tests/ | └── test_c2.py |``` | |## 注意事项 | |- 在任何部署之前,请更改默认密码(`changeme`)。 |- Agent 连接在 TCP 层级没有经过身份验证 —— 请为其配置防火墙。 |- 不具备前向安全性。这是一个轻量级框架,并非生产级别的 C2。 |- 如果您需要真正的传输安全性,请使用 TLS 封装。
标签:AES加密, C2框架, IP 地址批量处理, Python, 安全学习资源, 无后门, 网络信息收集, 逆向工具