一款全自动渗透实战利器!

作者:乌雲安全 发布:2026-11-12 09:22 收录:2026-11-12 13:01 2 次阅读 约 1885 字
摘要:介绍 GitHub C2 是面向红队攻防的指挥平台,支持 MCP 接入 AI,适配全自动渗透流程。采用 Flask 网页控制台 + Rust Agent 架构,主通道使用 Cloudflare Worker,GitHub Issue 作为备用链路,故障可自动切换。…
推荐理由:本文涵盖「MCP」、「Rust」、「Agent」等多个主题,重点关注 MCP。
介绍
GitHub C2 是面向红队攻防的指挥平台,支持 MCP 接入 AI,适配全自动渗透流程。采用 Flask 网页控制台 + Rust Agent 架构,主通道使用 Cloudflare Worker,GitHub Issue 作为备用链路,故障可自动切换。载荷基于 AES-256-GCM 加密,具备自动提权、进程级伪装、多路持久化自愈、时间窗管控、冷热自适应轮询等能力,支持 memfd 无文件上线,内置中英文界面,相比传统 GitHub 信道 C2,稳定性与隐蔽性更强。
亮点

和其他「只把 GitHub 当信道」的工具比,这几条是真正不一样的:2

  • 自己的中继,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,会在守护化之前自动试(能提才提,提不了照常以当前权限跑):

成功则 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。

    界面

    侧栏列出已上线的 Agent,顶部切换业务页。终端、反弹 Shell、文件、隧道、扫描、系统信息、资料库、报告、升级在同一工作区。

    控制台内置语言包(static/js/lang/zh.js、en.js)。右上角 EN / 中文 一键切换,选择会记在浏览器里;未选过则按系统语言默认。下面截图是中文界面,切到 EN 后同一套页面为英文。

    控制台终端

    生成器在网页里选通道、填凭据、编译,完成后直接下载二进制。双通道为 Worker 主 + GitHub 备。

    Agent 生成器

    安装

    环境

    项目
    要求
    控制台主机
    Linux(Debian / Ubuntu 最省事),Python 3,公网或实验室可达
    生成 Agent
    同机需 Rust(deploy.sh 可代装 rustup + x86_64-unknown-linux-musl)
    可选
    gcc
     / binutils(链接与 strip)、upx(压缩)、Cloudflare 账号(Worker 中继)
    目标机
    按编包架构:Linux musl / gnu,x86_64 或 aarch64

    随包已带隧道服务端 stowaway_admin 和反弹 Shell 服务端 cliws,一般不必再下。

    标准安装

    git clone https://github.com/Kxiandaoyan/github-C2.gitcd github-C2bash deploy.sh

    脚本会:

    1. 识别源码目录 c2/(或旁路的压缩包)。
    2. 创建 Python 虚拟环境并安装依赖。
    3. 询问(或用参数传入)网页账号、通信 Secret、端口、绑定地址。
    4. 把凭据写入 c2/.runtime.env(权限 0600)和数据库。
    5. 检查隧道 / Shell 二进制;按需安装 Rust 与 musl 目标。
    6. 用 systemd 单元 c2-controller 拉起控制台(无 systemd 则 5 秒自动拉起)。
    7. 做登录 + 接口健康检查;升级失败会回滚上一份快照。

    完成后终端会打印访问地址,形如:

    http://<服务器IP>:<端口>/?login=<用户名>&pass=<密码>
    用地址参数登录,页面本身不放登录表单。首次打开后把地址栏里的密码清掉即可。

    命令行参数

    bash deploy.sh --user admin --pass '你的密码' --c2-secret '通信密钥' --port 8080 --bind 0.0.0.0
    参数
    含义
    --user
     / --pass
    控制台登录。重装时回车沿用旧值。
    --c2-secret
    通信加密 Secret,编包与解密共用。
    --port
     / --bind
    监听端口与网卡。默认 8080、0.0.0.0。
    --noninteractive
    无人值守。密码可用环境变量 C2_WEB_PASS。
    --skip-toolchain
    不装 Rust。生成器将无法编译。
    --skip-always-poll
    浏览器闲置约 90 秒后停止后台扫描(默认一直扫)。
    --no-systemd
    不用 systemd,改用脚本循环拉起。

    无人值守若要顺便装编译链:C2_INSTALL_TOOLCHAIN=1 bash deploy.sh --noninteractive ...

    项目地址

    https://github.com/Kxiandaoyan/github-C2

    转载声明:本文转载自原发布平台 (作者:乌雲安全), 原文标题《一款全自动渗透实战利器!》, 查看原文。 版权归原作者及原发布平台所有,本站仅作收录与展示,未对正文内容作实质性修改; 若涉及侵权请联系本站处理。