跳到主要内容
项目档案应用项目

GitHub C2隐蔽远程控制框架 - 基于Issues API的Windows/Linux后门系统安装与使用

本文介绍基于GitHub Issues API的隐蔽C2框架,支持Windows/Linux双平台,采用AES-256-GCM加密通信。涵盖项目定位、核心功能、安装部署、使用流程及安全特性,适用于红队测试与安全研究场景。

52RustStar 于 2026年4月1日2026年9月18日 更新

AI 总结

基于GitHub Issues API的隐蔽C2框架,通过合法GitHub流量伪装实现安全的远程控制,支持Windows/Linux双平台和AES-256-GCM加密通信,提供命令执行、文件管理、端口扫描等功能。

中文项目介绍

GitHub C2是一个利用GitHub Issues API作为通信信道的隐蔽远程控制框架,旨在解决传统C2通信易被检测的问题。通过将命令与控制流量伪装成正常的GitHub API请求,实现流量的合法化,从而绕过网络监控和防火墙检测。 该框架主要面向红队测试、安全研究和渗透测试等场景,支持Windows和Linux双平台运行。采用AES-256-GCM端到端加密,确保通信内容即使被截获也无法解密,同时GitHub服务器仅作为中转无法查看实际内容。 技术架构上,框架包含Generator(生成器)、Agent(被控端)和Controller(控制端)三大组件。Agent部署在目标主机,通过轮询GitHub Issues获取加密指令并执行;Controller提供图形化界面,用于管理多个Agent、发送命令和接收响应。通信完全基于HTTPS出站连接,无需开放入站端口。 框架具备多层持久化机制(systemd服务、crontab定时任务)、智能轮询策略(动态调整频率、随机抖动、指数退避)、自动恢复能力(Issue重建、Token切换)等稳定性设计,确保在复杂环境下长期可靠运行。

详细信息与使用说明

1. 项目定位与用途

GitHub C2是一个基于GitHub Issues API的隐蔽远程控制框架,核心定位为红队测试与安全研究工具。它利用GitHub作为C2通信信道,将命令与控制流量伪装成合法的开发者行为,实现高隐蔽性的远程控制。主要用途包括:在渗透测试中建立持久化访问、评估网络检测能力、研究隐蔽通信技术。框架提供完整的工具链,从Agent生成到控制管理一体化,适用于需要规避网络监控的安全评估场景。

2. 解决的问题

该框架主要解决传统C2通信易被检测和阻断的问题。具体包括:1)流量特征明显:传统C2使用自定义协议或非常用端口,容易被IDS/IPS识别;2)服务器依赖:需要自建C2服务器,IP可能被封锁;3)入站连接:需要目标主机开放端口,防火墙策略可能阻止。通过GitHub API通信,流量与正常开发行为无异,无需开放入站端口,且利用GitHub的全球CDN和高可用性,有效规避网络检测和服务器封锁问题。

3. 适用场景

主要适用于以下场景:1)红队演练:在模拟攻击中测试目标组织的检测响应能力;2)安全评估:授权渗透测试中建立隐蔽通道;3)安全研究:隐蔽通信技术研究与验证。不适用于未经授权的攻击活动。框架设计考虑了企业环境复杂性,支持在严格防火墙策略下工作,但要求目标主机能够访问GitHub API(某些企业可能限制外部Git访问)。

4. 安装方式

安装需准备Rust开发环境:Windows用户可通过rustup.rs或winget安装;Linux用户使用curl脚本安装。安装后需创建GitHub私有仓库并生成访问令牌:Agent使用Fine-grained token(仅需Issues读写权限),Controller使用Classic token(需repo完整权限)。具体编译命令:进入cli-generator目录执行cargo build --release生成Generator;进入cli-controller目录同样命令生成Controller。Agent由Generator交互式配置后自动编译生成。仓库中未提供预编译二进制文件,需自行编译。

5. 使用方式

使用分为三步:1)使用Generator交互式配置GitHub Token、仓库名、加密密码等参数,程序自动编译并注入持久化代码,生成Agent可执行文件;2)将Agent部署到目标主机执行,首次运行会自动重定位到系统目录并建立持久化;3)启动Controller图形界面,添加仓库信息后即可查看在线Agent列表,选择目标发送命令、管理文件或执行端口扫描。所有通信通过GitHub Issues的Comment进行,命令格式为[CMD]加密数据,响应格式为[RESP]加密数据。

6. 补充说明与实现特点

框架具备多项增强稳定性和隐蔽性的设计:多层持久化包括systemd服务、crontab任务和当前进程三重保障;智能轮询根据活跃状态动态调整间隔(5秒至5分钟),并加入随机抖动和指数退避;速率限制处理检测到429错误自动休眠30分钟;大文件自动分片传输(50KB阈值);日志自动轮转(10MB阈值)。Agent支持活动时间窗口配置,仅在指定时间段运行以模拟正常作息。公开版已移除真正的rootkit进程隐藏功能,但保留进程名伪装能力。所有配置使用隐藏路径和点文件存储,增强隐蔽性。

思维导图

GitHub C2框架
Generator(生成器)
交互式配置
参数记忆
编译注入
Agent生成
Agent(被控端)
命令执行
文件操作
端口扫描
系统信息收集
多层持久化
智能轮询
自动恢复
Controller(控制端)
GUI界面(egui)
多仓库管理
命令终端
文件管理
端口扫描
命令历史
通信层
GitHub Issues API
AES-256-GCM加密
HTTPS出站
大文件分片
隐蔽特性
合法流量伪装
无入站连接
进程隐藏
时间窗口
文件隐藏
时间戳伪装

常见问题

为什么选择GitHub Issues作为C2通信信道?

GitHub API流量与正常开发者行为无异,可绕过网络检测和防火墙封锁,且无需自建服务器,利用GitHub的全球CDN保证可用性。

Agent如何实现持久化?

采用三层持久化机制:Linux平台通过systemd服务创建守护进程;通过crontab添加定时任务确保重启后运行;同时将自身注入当前进程实现会话级持久化。Windows平台则通过注册表启动项和计划任务实现类似机制。