M3ryem/go-c2-simulation
GitHub: M3ryem/go-c2-simulation
一个基于 Go 语言开发的多客户端 C2 模拟框架,旨在帮助网络安全培训和研究中理解攻击者远程管理机制及流量分析方法。
Stars: 0 | Forks: 0
# CryptShell:多客户端 C2 模拟框架
CryptShell 是一个使用 Go 语言开发的轻量级、模块化的**命令与控制(C2 - Command & Control)**原型,专为网络安全培训和模拟过程而设计。本项目是一项 **MVP (Minimum Viable Product)** 研究,旨在帮助人们了解攻击者如何通过网络管理多台受害机器,以及网络安全专家如何分析此类流量。
## 🚀 核心特性
* **多客户端管理 (Multi-Client Concurrency):** 得益于 Go 语言的并发(Goroutines 和 Channels)能力,服务器能够在不崩溃的情况下,同时在内存中持有并独立管理多个 agent。
* **流量加密 (Crypto Layer):** Agent 与服务器之间的所有网络通信均通过动态 XOR 算法和 Base64 层进行加密。借此可以绕过简单的网络监控(Sniffing)工具。
* **高级文件操作 (Upload / Download):** 通过安全的 socket 链路向目标系统远程注入文件(`upload`)以及从目标系统窃取数据(`download`)的功能已从零开始实现了协议化。
* **隐蔽性与 AV Evasion (Window Hiding):** 当客户端使用 Windows GUI 标志(`-ldflags="-H windowsgui"`)进行编译时,它将在受害者屏幕上不打开任何控制台窗口的情况下,作为后台进程(Background Process)完全静默运行。
## 🛠️ 架构与命令结构
通过主菜单可以列出 agent,并选择目标会话,在受害机器的操作系统(CMD)中运行交互式命令。
* `sessions` -> 列出所有处于活跃连接状态的隐蔽 agent。
* `interact ` -> 与选定 agent 的终端建立隧道连接。
* `download <文件名>` -> 从受害机器向服务器窃取文件。
* `upload <文件名>` -> 从服务器向受害机器上传文件。
* `back` -> 在不关闭会话的情况下将其转入后台,并返回主菜单。
* `exit` -> 将活跃的 agent 从目标内存中彻底清除(Kill process)。
## 💻 安装与运行
```
1. Sunucuyu Başlatma
```bash
cd server
go run server.go
```
2. 编译并运行隐蔽模式的 Agent 📌
```
cd agent
go build -ldflags="-H windowsgui" agent.go
./agent.exe
```
⚠️ 法律声明 / Disclaimer
本项目完全出于教育、防御性网络安全模拟和研究目的而开发。在未经授权的系统上使用可能会产生法律责任。所有责任均由用户承担。
标签:EVTX分析, Go语言, 免杀技术, 命令与控制框架, 日志审计, 暴力破解检测, 程序破解, 网络信息收集, 网络安全, 隐私保护