交代一个目标,AI自己上线、侦察、提权、写报告?这款开源C2做到了

admin 2026-09-10 05:06:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍开源C2平台ToShellv1.2.1,单文件部署,提供Web控制台,支持TCP/HTTP/WebSocket/MQTT多通道回连,载荷生成覆盖多平台并内置免杀,会话管理含文件、注入、插件等13个标签页,内置SOCKS5隧道与AI副驾驶,可自主执行任务并输出复盘报告,适合授权红队演练与渗透测试场景。 综合评分: 75 文章分类: 红队,渗透测试,内网渗透,免杀,安全工具


交代一个目标,AI 自己上线、侦察、提权、写报告?这款开源 C2 做到了

iQingshan iQingshan

生姜701

2026年9月7日 12:28 安徽

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

⚠️ 写在最前面:本文介绍的工具仅面向已授权的红队演练、渗透测试与安全研究场景。所有操作请在自己的授权范围内进行,未授权的入侵、攻击属于违法行为,后果自负。

做过授权红队项目的人都知道,真正消耗时间的往往不是”打进去”,而是打进去之后的指挥调度:会话怎么管、任务怎么排、文件怎么传、内网怎么穿、复盘怎么写。这一整套流程需要一个趁手的 C2 平台。

商业方案授权不便宜,开源方案各有取舍。今天介绍一个国人团队开源的项目——ToShell Team Server(当前 v1.2.1,MIT 协议),核心卖点一句话:单个可执行文件跑起整套 C2,Web 控制台开箱即用,还内置了一个会自己干活的 AI 副驾驶

  • 项目地址:关注公众号,回复  toshell  获取链接地址

一、它是什么

ToShell 由三部分组成:

  • Team Server 服务端:监听器、任务调度、载荷生成、REST API 全在这一个进程里;
  • Web 控制台:React 写的 SPA,直接嵌入二进制(构建时加 -tags webui),浏览器打开 18081 端口就能用;
  • 植入端:服务端在线生成,覆盖 Windows / Linux / macOS。

技术栈很干净:服务端 Go 1.25,前端 React 18 + xterm.js(终端)+ recharts(图表),数据库默认 SQLite 单文件。部署体验接近”解压即用”:首次启动自动生成 JWT 密钥和监听加密密钥并写回配置文件,不用手动碰一堆随机串。

二、多通道回连:四条路,随便切

植入端回连支持 TCP / HTTP(S) / WebSocket / MQTT 四种通道,服务端监听器页可以动态启停:

  • TCP 通道走自定义二进制帧协议(魔数 TSHL),控制帧 AES-256-GCM 认证加密 + gzip 压缩,带心跳判死、断线重连;
  • HTTPS 轮询通道支持域前置(自定义 TLS SNI 与 HTTP Host),可部署在 CDN/反代之后;流量拟态模板(默认 cdn 档)可在设置页热切换;
  • MQTT 通道支持内嵌 broker 或外部 broker;
  • 心跳超时自动判死,重连后会补发在途任务(作者称之为”会话热迁移”),闪断不丢任务。

配套一个「通道健康」页,四通道的在线会话数与监听器状态做成实时报表,哪条路通、哪条路堵一眼可见。

三、载荷生成:一次构建,全平台覆盖

「生成载荷」是 ToShell 做得最细的模块之一:

  • 平台:Windows(amd64/386/arm64)、Linux、macOS;格式:exe / dll / raw / shellcode(hex 或二进制),另有 full / light 两种功能档案控制体积;
  • 双语言植入端:默认 Go 植入端(全功能);可选 C 植入端(mingw-w64 编译,体积约为 Go 版的 1/60);
  • 内置免杀:每次构建随机化配置块魔数、XOR 密钥、字符串密钥基准、API 哈希种子——让不同样本不再共享指纹;编译期自动做字符串混淆,二进制里搜不到回连地址和敏感 API 名;
  • 可选工具链:检测到 garble 就启用源码混淆、检测到 UPX 就压缩(发行版自带 upx 目录,自动探测);
  • 老系统兼容:生成 Windows 载荷时自动切换 go1.20.14 工具链编译,兼容 Windows 7 / Server 2008 R2,工具链自动下载无需手动装;
  • 生成 exe/raw 后页面直接给出一条命令上线命令,复制过去就能静默拉起,不用手动传文件。

四、会话操作:一个会话 13 个标签页

会话详情页是我个人觉得信息密度最高的地方,按平台能力动态显示标签:信息 / 文件 / 进程 / 注入 / Shell / 插件 / 持久化 / 截图 / 凭据 / 杀软 / 内存 / 屏幕流 / 中继

挑几个说:

  • 交互 Shell:前端 xterm.js 全屏终端,实时回显,支持工作目录跟踪;
  • 文件管理:上传按 1MB 分片直传带进度条,大文件下载走流式通道支持断点续传,在线预览;
  • 截图 / 屏幕流:PNG 快速编码,超大截图自动降级 JPEG;屏幕流支持缩放全屏;
  • 进程注入:多种注入方式,自动随机挑选良性宿主进程;
  • 插件:BOF / DLL / EXE / shellcode 上传管理,BOF 做了系统 DLL 句柄缓存,加载速度明显提升;
  • 杀软识别:指纹库放在服务端(456 条杀软 + 51 条 EDR + 50 条安全工具),植入端只上报进程名列表,更新指纹库不用重新编译植入端
  • Beacon Mesh 中继:在线会话一键升级为中继节点,叶子植入端链式回连、支持多跳,中继链路用 SM4-GCM 加密。

五、隧道与组网:把浏览器代理体验做顺了

横向移动离不开隧道。ToShell 内置 SOCKS5 隧道代理:起一个本地代理端口,流量经植入端转发访问目标内网。

细节上有两处值得点名的工程实现:

  • 代理服务同时兼容 SOCKS5(RFC 1928)与 HTTP CONNECT,浏览器系统代理直接指向它就能用,不用纠结代理协议;
  • 下行写入走单 goroutine 顺序队列 + 缓冲池,防止单个慢客户端拖累同会话其它隧道(队头阻塞),半关闭场景做了排空收尾,避免 TLS 流被截断报错。

加密上,隧道数据不走控制通道的 AES,而是独立的 SM4-GCM(国密),子密钥经 SHA-256 域分离派生,这是项目自研实现的完整 SM4 + GCM,属于比较少见的选择。

六、AI 副驾驶 + 自主 Agent:v1.2.x 的最大变量

这是 ToShell 和传统 C2 拉开差异的地方。它在服务端内置了一套 LLM ReAct 引擎,任何 OpenAI 兼容接口(如 DeepSeek)填进设置页即可启用:

  • 30+ 内置工具:会话管理、命令下发、文件、进程、截图、凭据、隧道、插件、情报库、联网搜索、远程下载工具、内存加载……模型自己决定调用哪个、按什么顺序;
  • 上下文自动注入:当前在线会话清单直接写进系统提示,AI “知道战场上有什么”,不用你复制粘贴;
  • 权限审批:normal 模式下,影响会话的操作(下发命令、传文件、杀进程等)会先弹窗等你允许/拒绝,AI 不会自作主张;
  • 异步自主 Agent:交代一个目标就返回,后台自己跑 ReAct 循环,SSE 流式推送思考过程和每步工具调用,全程可见;支持取消、并发上限、跨消息连续记忆;
  • 失败恢复:连续失败自动熔断换路径,掉线立即停止后续操作并说明原因,不无脑重试;
  • 只给结论:最终答复按【现状】【建议】【为何】输出,不堆原始日志。

配合任务流(剧本):可编辑的多步链路模板一键执行,跑完自动让 AI 复盘,给出结果综述和下一步建议(横向/提权/凭据方向)。人工定框架、AI 跑执行、AI 写复盘,整个节奏是连贯的。

七、运维向的用心

作为自托管平台,ToShell 在运维细节上花了不少功夫:

  • 配置热更新:设置页保存即生效,配置文件被外部修改自动重载,改拟态模板、换 AI 配置都不用重启;
  • 上线通知:会话上线推送 webhook,自动识别钉钉机器人(markdown + 加签),也支持企业微信/飞书/Slack/通用 JSON,可发测试通知验证;
  • 全局行动时间线:把会话上线/下线、任务成败、登录日志聚合成一条时间流,项目复盘直接按时间线过;
  • 安全加固:登录限速、全局 panic 兜底(handler 出错不杀进程)、API 超时防慢速攻击、上传暂存文件定期清理。

八、三步上手

# 1) 构建(或直接用 release 发行包)
go build -tags webui -ldflags "-s -w" -o toserver ./cmd/server

# 2) 准备配置:复制 configs/server.yaml.example 为 server.yaml
#    必改:public_host / api_keys / admin_password(jwt_key、加密密钥留空自动生成)

# 3) 启动,浏览器打开 http://<服务器IP>:18081
./toserver -config configs/server.yaml

默认账号 admin,登录后第一件事改密码。生成载荷需要服务端装有 Go 工具链(≥1.25),首次构建会自动下载 Windows 兼容工具链,属正常现象。

九、写在最后

ToShell 的整体思路很清晰:把红队从”接会话”到”写复盘”的全流程搬进一个二进制,再把其中重复性最高的部分交给 AI。单文件部署对快速搭演练环境非常友好,AI 副驾驶的审批护栏和失败熔断设计也能看出作者在”让 AI 干活但不失控”上做了认真取舍。

  • 项目地址:关注公众号,回复  toshell  获取链接地址
  • 协议:MIT · 作者:青山 / Q1lintu / c0ffee
  • 使用说明与更新日志见仓库 USAGE.md

⚠️ 再次提醒:ToShell 仅供授权测试与安全研究使用。使用者须自行遵守当地法律法规,因滥用造成的后果与作者及本文无关。



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:生姜701 iQingshan iQingshan《交代一个目标,AI 自己上线、侦察、提权、写报告?这款开源 C2 做到了》

评论:0   参与:  0