
NetSpyC2 – Python C2 Server with RSA Key Exchange and AES-GCM Encrypted Sessions
NetSpyC2 是一个基于 Python 的命令与控制(C2)服务器,专为教学目的、安全研究和受控实验室环境而创建。
该项目展示了如何使用 Python 在应用协议层面实现加密的客户端-服务器通信、会话管理和安全文件传输。
NetSpyC2 不依赖外部 TLS 栈。相反,它使用现代密码学原语实现自己的加密握手和加密通道。
NetSpyC2 通过以下步骤建立安全通信:
每个连接的客户端都维护自己独立的加密会话。
cryptography Python 包prompt_toolkit Python 包安装依赖:
pip install cryptography
pip install prompt_toolkit
启动 C2 服务器:
python3 NetSpy2.py
默认配置:
0.0.0.04444服务器在启动时生成一个新的 RSA 密钥对。
NetSpyC2 控制台中可用的命令:
help – 显示帮助菜单list – 列出所有活跃的客户端会话select <ID> – 与指定客户端进行交互info – 显示服务器日志rsa keys – 显示 RSA 公钥和私钥set host <HOST> – 更改监听主机set port <PORT> – 更改监听端口banner – 显示横幅exit – 关闭服务器任何不被识别的命令将在服务器本地执行。
在选中的会话内部:
get <file> – 从客户端下载文件put <file> – 向客户端上传文件所有文件传输均经过加密并使用 SHA-256 进行校验。
日志写入到:
NetSpyC2Server.log
.
├── NetSpy2.py
├── banner.py
├── colores.py
├── NetSpyC2Server.log
└── README.md
本项目仅用于教学、研究和受控实验室环境。
未经授权对你不拥有或未获得测试许可的系统使用是禁止的。
Creative Commons 署名–非商业性使用–相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
你可以在仅限非商业用途的前提下修改和重新分发本项目,前提是保留本许可证并给出适当署名。
本软件仅供教育和研究目的提供。
请仅在你拥有或已获得明确授权的系统和网络上使用。