ikpehlivan/Go-C2-Beacon

GitHub: ikpehlivan/Go-C2-Beacon

一个用 Go 编写的轻量级隐蔽 C2 框架,用于在授权环境中演示 Beacon 通信、加密通道和操作安全机制。

Stars: 2 | Forks: 0

Go-C2-Beacon Logo

# 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工具, 命令与控制, 安全学习资源, 安全工具开发, 安全编程, 心跳机制, 恶意流量模拟, 数据展示, 无后门, 日志审计, 流量加密, 流量混淆, 端到端加密, 红队, 网络安全, 行动安全, 逆向工具, 隐匿通信, 隐私保护, 静态编译