ikpehlivan/Go-C2-Beacon
GitHub: ikpehlivan/Go-C2-Beacon
一个用 Go 编写的轻量级隐蔽 C2 框架,用于在授权环境中演示 Beacon 通信、加密通道和操作安全机制。
Stars: 2 | Forks: 0
# Go-C2-Beacon
Go-C2-Beacon 是一个轻量级、专注于隐蔽性的命令与控制 (C2) 框架,使用 Go (Golang) 编写。它专为安全研究人员和红队 (Red Team) 从业人员设计,旨在在模拟环境中演示 Beacon 机制、加密通信通道和操作安全 (OPSEC)。
# 🎯 项目概述
在现代红队演练中,维持与受控主机的隐蔽通信通道至关重要。**Go-C2-Beacon** 实现了一个极简的 Agent-Server 架构,使用 HTTP/S 并内置加密和流量随机化功能,以绕过基础的网络监控方案。
# 功能特性
- **Golang 驱动:** 高度可移植的静态链接二进制文件,难以通过特征进行检测。
- **AES-256-GCM 加密:** 所有通信(命令和结果)均进行端到端加密。
- **隐蔽 Beacon (Jitter):** 实现随机的休眠时间间隔,打破“心跳”模式并规避流量分析。
- **极简 Agent:** 专为在目标系统上留下极小足迹而设计。
- **模块化命令执行:** 易于扩展以支持文件窃取、持久化或横向移动模块。
# 🏗️ 架构
1. **Server (命令控制中心):** 一个基于 Python 或 Go 的监听器,用于管理命令队列并解密传入的 Agent 数据。
2. **Agent (Beacon):** 一个基于 Go 的可执行文件,定期回连以获取并执行加密任务。
# 🛠️ 技术细节
# 流量混淆
Agent 通过利用自定义的 HTTP 请求头和随机的回连间隔来模拟合法的浏览器流量。这模拟了现实世界中对手避免行为一致性的操作手法。
# 密码学
通过网络发送的每一个数据包均使用 **高级加密标准 (AES) 的伽罗瓦/计数器模式 (GCM)** 进行加密,确保了命令的机密性和真实性。
# 前置条件
- Go 1.20+
- 用于测试的 Linux/Windows 环境
# 安装与使用
```
1. Clone the repository:
git clone https://github.com/ikpehlivan/go-c2-beacon
cd go-c2-beacon
2. Initialize modules:
Bash
go mod init Go-C2-Beacon
3. Run the Server:
Bash
go run server/main.go
4. Run the Agent:
Bash
go run agent/main.go
```
# ⚖️ 道德使用与免责声明
Go-C2-Beacon 的创建仅用于教育和授权的安全评估目的。未经授权访问计算机系统是违法行为。开发者不对本工具的任何滥用或造成的损害承担责任。在进行任何安全测试之前,请务必确保您已获得明确的书面授权。
- 由 İlteriş Kaan Pehlivan 开发
进攻性安全研究员 · 渗透测试员
标签:AES-256-GCM, Beacon, C2框架, EVTX分析, Go, Golang, Jitter, OPSEC, Python, Ruby工具, 命令与控制, 安全学习资源, 安全工具开发, 安全编程, 心跳机制, 恶意流量模拟, 数据展示, 无后门, 日志审计, 流量加密, 流量混淆, 端到端加密, 红队, 网络安全, 行动安全, 逆向工具, 隐匿通信, 隐私保护, 静态编译