文章总结: 本文介绍GitHubC2红队指挥平台,采用CloudflareWorker主通道与GitHubIssue备用通道,Rust编写Agent,支持AES-256-GCM加密通信、自动提权、进程级隐藏、持久化自愈、时间窗控制等功能,并说明Token权限配置与部署方式,文末附公众号推广信息。
综合评分: 55
文章分类: 渗透测试,红队,内网渗透,安全工具,软文广告
GitHub C2红队指挥平台 MCP接入AI,全自动渗透必备
Kxiandaoyan
Kxiandaoyan
夜组安全
2026年9月16日 07:30
青海
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
免责声明
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!所有工具安全性自测!!!VX:NightCTI
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全“设为星标”,否则可能就看不到了啦!
GitHub C2介绍
GitHub C2授权实验室使用的红队指挥平台。浏览器里管理目标机上的 Agent:发命令、交互 Shell、传文件、穿隧道、扫描、采集、编包、升级。通信默认走你自己的 Cloudflare Worker 中继,GitHub Issue 作为备用通道;主路断了自动切备用,备用稳定后再切回来。
网页控制台 + Rust Agent。Cloudflare Worker 主通道,GitHub Issue 备用。MCP接入AI,全自动渗透必备。
产品定位
GitHub C2 由三部分组成:
| 组件 | 作用 |
| — | — |
| Web 控制台 | Flask 网页后台。侧栏选 Agent,顶栏切换功能。自带中 / 英语言包。 |
| Agent | Rust 编写,部署在目标机。轮询取令、加密回传、可持久化与伪装。 |
| 通道 | 把指令和回显搬过去。主通道是 Cloudflare Worker + D1;备用是 GitHub Issue;也可只用 Notion 或只用其中一条。 |
控制台和 Agent 之间的载荷一律是 AES-256-GCM 信封。中继数据库里不存主机明文身份。一台机器若同时挂了 Worker 和 GitHub,侧栏合成一条,不会当成两台。
亮点
和其他「只把 GitHub 当信道」的工具比,这几条是真正不一样的:
- 自己的中继,GitHub 只当备胎。 一键在 Cloudflare 上部署 Worker + D1;主路断了自动切 GitHub,好了自动切回,终端有
[Channel]通知。双通道在侧栏仍是一台,不是两台 Agent。 - 启动自动提权。 还不是 root 时按顺序试免密 sudo、已有 SUID 解释器、未打补丁的 pkexec、特权容器逃逸;成功则 exec 替换自身,不留双进程。无文件模式整条跳过,避免落盘。
- 进程级隐藏,不装内核模块。 按发行版伪装成系统守护进程,藏路径、藏
/proc、对齐 SELinux/AppArmor,写文件还复原时间戳。 - 持久化多路 + 自愈。 systemd / cron / rc.local / profile / 用户服务一起上;有人清掉一条,大约每 6 小时自己补回来。
- 时间窗。 只在你规定的时段说话;窗外面板显示安静,不是掉线。边界每天抖动,整群不会同一秒苏醒。紧急停机在窗外照样生效。
- 轮询全自动识别冷热。 编包只填一个基数。有人在操作就加快,闲着就自己放慢,省额度、也少指纹。
- Token 失效不用重新编包。 填 Backup URL,Agent 自己去拉一份新 JSON 配置并热重启。
- 目标机少落文件。 反弹 Shell、隧道节点都编在 Agent 里,纯内存;还可以 memfd 无文件上线。
- 载荷全程加密,控制台自带 中 / 英语言包(右上角 EN / 中文)。
隐蔽、提权、性能与稳定性
自动提权
Linux 上线后若当前不是 root,会在守护化之前自动试(能提才提,提不了照常以当前权限跑):
- 免密 sudo:
sudo -n能过就直接以 root 再起自己;否则扫sudo -l里带 NOPASSWD 的解释器。 - 已有 SUID 解释器:目标机上已经是 root SUID 的常见解释器。
- 未打补丁的 pkexec(CVE-2021-4034,仅 x86_64)。
- 特权容器:检测到 privileged /
CAP_SYS_ADMIN时尝试 cgroup v1 逃到宿主机。
成功则 exec 替换当前进程,不会并排出两个 Agent。环境变量闸门防止提权成功后死循环。memfd 无文件模式整条跳过(再 exec 自己会破无文件约定,还会在日志里留下失败痕迹)。
隐蔽
全部是进程级,不加载内核模块,不跟发行版内核版本绑死:
- 进程名 / 线程名:
comm按发行版自动扮polkitd/accounts-daemon/systemd-udevd等;工作线程扮kworker。编包也可手填伪装名。 - 落地路径:root 优先藏进
/usr/lib/systemd/…这类看起来像系统守护进程的位置;普通用户走~/.local/bin/。写之前用access(2)探权限,不先建再删、少触发文件监控。 - **藏
/proc**:把/proc/<pid>bind-mount 成 PID 1 的视图,常规ps/ 看 cwd、fd 不容易对上。 - SELinux / AppArmor:
chcon对齐bin_t/ 单元文件上下文,减少「来历不明文件」刷审计。 - 时间戳:二进制和状态文件的 mtime 对齐系统文件;每次写入后把目录 mtime 复原(
stealth_write)。 - 流量外形:启动抖动、轮询 ±20% 抖动、时间窗边界按 Agent/按天错开;访问 GitHub 时轮换常见客户端 User-Agent。
- 崩溃不吐密:关掉 coredump,避免 Token / Secret 落到磁盘。
- Guards:主机名、用户、标记文件、最低内存对不上就静默退出,少在沙箱 / 蜜罐里暴露行为。
性能
- Agent 是 Rust,推荐
x86_64-unknown-linux-musl静态链接,目标机不用装运行库。 - 主通道走自己的 Worker HTTPS,不跟 GitHub 评论抢限额、也不等 Issue 刷新;GitHub 只在主路挂了才上场。
- 反弹 Shell 是真 PTY + WebSocket,不走 30 秒命令轮询。
- 轮询全自动冷热:操作时最快 15 秒,闲置最长 5 分钟,省 API、也少固定节拍指纹。
- 大文件走 sendit 中转,上传按块切,不把评论通道撑爆。
- 控制台本机已带隧道服务端、反弹 Shell 服务端,不必再下一堆配套马。
稳定性
- 双通道:切备用失败会回滚,避免控制台和 Agent 各听一边。
- 中继 D1 被重建、自增 id 归零时,水位自动复位,不会整群变聋。
- 同一条命令写到兄弟通道,Agent 去重,切通道不丢令。
- 持久化多策略;大约 每 6 小时自检修补,被清一条还能长回来。
- 守护化用 spawn + exec,不用
fork():老 CentOS 上 Tokio 多线程 fork 会锁死。 - 错误按类型退避(鉴权 / 限流 / 网络),再加抖动,不会固定间隔砸接口。
- 热升级保留 agent id 和通道身份;失败则旧进程继续跑。
- 设置页空字段不覆盖已有密钥;GET 不回明文 Secret。
痛点对照
| 常见痛点 | 这里怎么处理 |
| — | — |
| 只用 GitHub:慢、限额紧、Issue 评论很脏 | Worker 做主通道 ,GitHub 只当备胎 |
| 双通道一上线变成两台马,对不上 | 侧栏合成一台 ,两个徽章 |
| Token 一过期,整群作废,只能重编重下 | Backup URL 拉新 JSON,热重启换票 |
| 到点不说话,面板一片「离线」,分不清死没死 | 窗外显示 安静,不是掉线 |
| 中继库一重建,命令水位错位,整群收不到令 | 水位失效自动复位 |
| 切通道时控制和马各听一边 | [Channel] 通知失败则 回滚 |
| 蓝队清掉一个开机项就没了 | 多策略持久化 + 每 6 小时自愈 |
| 普通用户权限不够,很多功能施展不开 | 启动自动提权 (环境允许才成功) |
| 还要另下 Shell / 隧道二进制,目标机一堆文件 | 编进 Agent,内存跑 ;还可 memfd 无文件 |
| 保存设置时空字段把密钥冲掉 | 空不覆盖 ;浏览器拿不到全文 Secret |
| 整群同一秒上线,流量像心跳 | 启动抖动 + 时间窗按天按台错开 + 轮询抖动 |
| 大文件走评论通道传不了 / 传爆 | sendit 中转 + 分片上传 |
界面
侧栏列出已上线的 Agent,顶部切换业务页。终端、反弹 Shell、文件、隧道、扫描、系统信息、资料库、报告、升级在同一工作区。
控制台内置语言包(static/js/lang/zh.js、en.js)。右上角 EN / 中文 一键切换,选择会记在浏览器里;未选过则按系统语言默认。下面截图是中文界面,切到 EN 后同一套页面为英文。
生成器在网页里选通道、填凭据、编译,完成后直接下载二进制。双通道为 Worker 主 + GitHub 备。
凭据与权限
两种 Token 用途完全不同,不要共用、不要给多余权限。
| Token | 用在哪 | 会不会进 Agent | 干什么 |
| — | — | — | — |
| Cloudflare API Token | 只在控制台「设置 → 一键部署 Worker」 | 不会。 只留在控制台服务器 | 部署中继:建 D1、上传 Worker、绑密钥 |
| GitHub Token | 生成器编包 / 设置里的扫描列表 | 会。 写进二进制,目标机上能被抠出来 | Agent 上线:读 Issue 命令、回评论 |
Cloudflare API Token(只用于部署中继)
打开 Cloudflare API Tokens → Create Token → Create Custom Token。Cloudflare 控制台中英文下权限名称不一样,请按下表对照勾选(资源选 所有帐户 / All accounts,或只包含你的那一个帐户)。
| 中文控制台 | English dashboard | 级别 |
| — | — | — |
| 帐户 · D1 · 编辑 | Account · D1 · Edit | 建库、建表 |
| 帐户 · Workers 脚本 · 编辑 | Account · Workers Scripts · Edit | 上传 Worker、绑 Secret、挂 cron |
| 帐户 · 帐户设置 · 读取 | Account · Account Settings · Read | 自动定位帐户(GET /accounts) |
列表页上会缩成「帐户.D1、帐户.Workers 脚本、+1」;点进摘要应能看到上面三条:
这个 Token 只给控制台用来部署中继,不要编进 Agent,部署完成后可在 Cloudflare 面板删掉或收紧。若 Token 看不到帐户列表,把 Dashboard 右侧的 帐户 ID / Account ID 填进部署表单即可。
GitHub Token(编进 Agent,用于上线)
GitHub Token 会随二进制落到目标机。权限过大等于把仓库钥匙交给任何拿到样本的人。请用 Fine-grained personal access token,只开一个私有仓库:
- 只选你建好的隐私仓库(Only select repositories)。
- Repository permissions:
- Issues → Read and write(读命令、写回显评论)
- Metadata → Read-only(系统必选,不要再加 Contents / Administration / Actions)
图中红字标注即:选择你事先建好的隐私仓库。
不要给 repo 经典全仓库权限,不要给组织管理员、不要给多个仓库。控制台设置里用于扫描的 Token 也按同一最小权限配置。
工具获取
点击关注下方名片进入公众号
回复关键字【260916】获取下载链接
往期精彩
往期推荐
dddd-Next 自动化资产测绘 + 漏洞扫描工具,覆盖指纹识别、弱口令、nuclei POC、Shiro 专项检测和 HTML 报告
EduSRC 教育行业漏洞猎洞工具 —— 基于搜索引擎 Dork 的一键式侦察 Chrome 扩展
DeepSeek-V4.1 / V4 Flash 网络安全红队工具(无限四代)v0.3.0 纯净红队版
渗透测试实战Skill 5阶段方法论/19类攻击playbook/2887份H1真实案例/国产组件指纹库
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:夜组安全 Kxiandaoyan
Kxiandaoyan《GitHub C2红队指挥平台 MCP接入AI,全自动渗透必备》