joaovarelas/GitRunner-C2

GitHub: joaovarelas/GitRunner-C2

一个滥用自托管 GitLab Runner 作为 C2 植入物的概念验证框架,利用 GitLab CI 体系实现无需自建后服务器的端点管理。

Stars: 26 | Forks: 6

# GitRunner C2 一个基于 GitLab CI 构建的**无后端** endpoint 管理平台。作为一个 Vue SPA,它直接与 GitLab REST API 通信 —— GitLab 充当了任务队列、日志存储和数据库。无需自定义服务器,除了 `gitlab-runner.exe` 之外也无需任何其他 agent。 - Endpoint 是自托管的 GitLab Runner(每个具有一个唯一的标签) - 操作以 CI 任务的形式运行,通过标签路由到相应的 runner - 一个轻量级的 NGINX/Vite 代理负责处理 CORS —— 服务端不运行任何其他内容 ![GitRunner C2 演示](https://raw.githubusercontent.com/joaovarelas/GitRunner-C2/main/demo.png) ## 前置条件 **操作员:** 拥有一个 GitLab 账户(云端或自托管),以及一个具有 `api` scope 的 Personal Access Token。 **Endpoint:** Windows(Server 或桌面版),可访问您的 GitLab 实例的网络连接,以及用于将 `gitlab-runner` 安装为服务的管理员权限。 ## 工作原理 1. 在 UI 中创建一个项目。 2. 注册一个 endpoint —— UI 会创建一个 runner,并为您提供一行 PowerShell 命令,用于将 `gitlab-runner` 安装并注册为 Windows 服务。 3. 打开该 endpoint。每个操作都会在该 runner 上触发一个 CI 任务;输出结果将通过任务 trace 读回。`GIT_STRATEGY: none` 意味着 endpoint 上不需要 `git.exe`。 文件上传(驱动程序、任意文件)会通过 GitLab Generic Package Registry 进行暂存,并由 runner 通过 `CI_JOB_TOKEN` 拉取 —— 无需额外的凭证。 ## 功能 | 标签页 | 您可以获得的功能 | |-----|-------------| | **概览** | 主机信息,一目了然的 CPU/内存/磁盘状态 | | **系统** | 服务、用户、用户组、命名管道、驱动程序、任务计划程序、任务管理器 —— 全部支持逐行操作 | | **硬件** | BIOS、主板、CPU、内存、磁盘、网络适配器 | | **软件** | 已安装的程序,支持一键卸载 | | **安全** | AV/EDR 检测(支持 30 多款产品、服务 + 命名管道)、防火墙配置文件、BitLocker | | **事件** | 应用程序、安全和系统事件日志 —— 点击任意行即可展开完整信息 | | **文件管理器** | 浏览文件系统,上传和下载文件 | | **终端** | 远程 PowerShell 和 CMD shell | **操作菜单:** 重启、关机,或将某个 endpoint 从项目中取消注册。 数据会按 endpoint 进行缓存 —— 首次加载后,切换标签页是瞬间完成的。 ## 运行 **开发环境** ``` npm install npm run dev # http://localhost:5173 ``` **Docker** ``` docker compose up --build # http://localhost:8080 ``` 对于自托管的 GitLab 实例,请在运行前将 `.env.example` 复制到 `.env` 并设置 `GITLAB_URL`。 ## 代码结构 ``` src/ api/gitlab.ts GitLab REST client + managed CI pipeline lib/jobs.ts Trigger, poll, and parse job output lib/tabs.ts Declarative tab/subview definitions lib/av.ts AV/EDR product database (client-side detection) lib/inventory.ps1 One-shot endpoint inventory collector components/endpoint/ Endpoint UI (DataTab, Drivers, TaskScheduler, …) ``` ## 未来计划 - 支持其他 CI 平台(GitHub Actions、Azure DevOps) - 支持 Linux runner - 自定义传输后端(将 `gitlab.ts` 替换为轻量级的自定义服务器) ## 免责声明 本工具仅供在经授权的 endpoint 上使用。对于因使用本软件而产生的任何误用、未经授权的访问、数据丢失、系统不稳定或其他任何损害,作者概不负责。使用风险由您自行承担。
标签:AI合规, C2框架, GitLab CI, HTTP工具, Vue 3, 安全学习资源, 网络安全, 网络安全审计, 请求拦截, 负责任AI, 远程管理, 隐私保护