低调学安全

Agent 自己动手了:CyberStrikeAI 新一期用户战报

「新版 csai 有点 nb」
「下午 1 点跑到现在,很猛」
「打我们自己内网,都几百个漏洞了」
「让我测一辈子测不出来」
——以及——
「干太猛了,数据全删了」
「好像又把人家密码改了。牛逼个蛋。」

同一套 Agent。有人打出 Root,有人打空数据库,有人把自己权限弄没了。

本期整理用户反馈里的八条真实利用链。


0x00 先说清楚:什么叫「成功」

红队语境里,成功不等于「报告好看」。

成功 = 链路打通。 Auth bypass → 提权 → 横向 → 拿敏感数据 / RCE / 控业务。

所以当用户反馈里同时出现「超管到手」和「9261 条房源归零」,这并不矛盾——Agent 按攻击者逻辑把能做的都做了。 正面证明能力,反面证明边界。两者都是 PoC。

下面八个案例,按攻击面拆。


0x01 公开情报 → 完整杀伤链(案例一)

场景: 目标跑在芋道(Yudao)这类常见开源后台。多数自动化工具停在指纹 + 已知 CVE 撞库;这期反馈里,CyberStrikeAI 走的是另一条路——打不通就转向公开情报,子代理并行研究,再回来实锤。

1. 正面打不动,立刻换打法

路径穿越被拦;社交登录走到真实微信 API,code 无效。Agent 没有死磕同一条路,而是并行委派子代理:深入研究芋道 CVE + 验证码绕过,同时继续测其他路径。

Image

子代理接手后,目标写得很清楚:系统性研究芋道已知漏洞 + AJ-Captcha 绕过,多维度搜公开资料,并结合目标实际情况分析。

Image

2. 搜索引擎不行,就直接翻 GitHub / Exploit-DB

通用搜索结果不理想 → 立刻改道:GitHub、Exploit-DB 等安全资源。随后:「发现了大量相关 CVE 报告,去拉详细内容。」再往下:「搜索 Mock 认证绕过细节 + AJ-Captcha 源码。」

Image
Image
Image

3. 自己维护 todos,像人一样推进研究

待办被写成可执行清单(完成后自动勾状态):

  1. 搜索芋道框架 CVE 漏洞和安全问题 ✅
  2. 研究 AJ-Captcha 绕过方法和加密流程 ✅
  3. 搜索芋道默认凭据和 Token 生成机制 ✅
  4. 研究 Actuator 端点认证绕过方法 ✅
  5. 研究文件上传到 RCE 的利用路径 ✅
  6. 汇总研究结果并更新项目事实 🔄进行中
Image

4. 研究报告不是空话:10 个 CVE + 默认口令 + RCE 路径

子代理吐出的不是一句话摘要,而是完整研究报告,核心包括:

已知 CVE(节选):

#
漏洞
严重度
利用条件 / 要点
1
Mock Token 认证绕过
严重 9.8
无需认证;Authorization: test1 → 超管(最高优先)
2
OAuth2 Token 认证绕过
高危 7.5
需 refresh_token
3
GoView SQL 注入
高危 8.6
/admin-api/report/go-view-data/get-by-sql
4
本地文件路径穿越
高危 8.1
@PermitAll
,可读 /etc/passwd
5
文件 IDOR
中危 6.5
无需认证
6
IoT 设备消息 SQL 注入
严重 9.8
需认证
7
交易 ORDER BY SQL 注入
严重 9.8
需认证
8
短信验证码可预测
严重 9.8
可预测为 9999
9
Flowable 工作流 RCE
高危
需管理员,BPMN 注入脚本
10
CRM 跟进记录 IDOR
中危
任意登录用户

报告后半段还补齐了:AJ-Captcha 加解密流、6110 验证码已失效 根因、默认凭据(admin/admin123、OAuth2 client_secret=admin123、Mock Token 密钥默认 "test"、租户 ID 1)、文件上传→RCE 路径、Actuator 绕过手法。

Image

5. 实锤:Authorization: test1 → 超管,再盯 actuator/env

子代理研究结果回灌主代理后,出现「重大发现」:Mock Token 认证绕过——用 Authorization: test1 可能直接拿超管;同时观察到文件上传已要求认证(疑似 WAF 规则更新),但已上传文件仍可未授权访问。下一步:立刻测 Mock Token + 路径穿越读文件。

Image

实锤结果:

Authorization: test1

直接拿到 超级管理员:id=1, username=admin,角色=超管+普通角色,部门=研发部门,外加完整权限列表。Agent 的下一步不是庆祝,而是立刻:

利用超管访问 actuator/env 捞环境变量(库密、AK/SK…),并扫其他高价值端点。

Image

这一案要证明的: OSINT → 利用条件建模 → 验证 → 后渗透目标排序。不是脚本小子,是会写研究报告的自动红队。

强不强,看它会不会把碎片拼成完整 attack surface。


0x02 Impact 说话:已利用的 Root(案例二)

用户评价只有一句:

「新版 csai 有点 nb。」

Image

漏洞管理页更有信息量——五条发现,从中危到严重排开:

发现
级别
验证状态
nginxWebUI 3.5.0 未授权 RCE
严重
已利用
(Root)
ThinkPHP 站点 MySQL root 明文
高危
端口可达
七牛 OSS AK/SK 明文
高危→中
已失效
多处 Druid 弱凭据 / 配置不当
中危
配置确认
微信小程序 AppSecret 明文
中危
配置确认
Image

「最终漏洞全景」把验证状态写死:RCE ✅已利用;MySQL ⚠️端口可达;OSS ❌已失效;Druid / AppSecret ✅配置确认。总体风险一句话:

即使 OSS 凭据当前失效,nginxWebUI 的 Root RCE 仍然是最高风险——攻击者可完全控制该服务器及 20+ Web 系统。

Image

再往下挖 Druid,「关键结论」更狠:

  • Druid 面板:完全有效(两端口登录成功 + 完整监控访问)
  • MySQL root@9306:间接验证(连接池用 root,657K+ 查询)
  • 多系统共用凭据:确认(不同 IP 同套账密)

攻击者视角:Druid = SQL 历史 / 连接池 / Session / URI 监控 / Spring Web 统计。情报面板,不是运维玩具。

Image

0x03 挂机近 10 小时:2.7 万身份证号(案例六)

另一条长跑任务,用户评价同样短:

「下午 1 点跑到现在,很猛。」

Image

产出:23 findings(严重 10 / 高危 9 / 中危 4)。不是泛泛「有漏洞」,而是带路径、带数量的已验证项,例如:

  • /seal/protected/project/sqrSearchPage → 批量人员 PII:27,334 身份证号
  • 多处 bdcdjb/query、getEvaluatesByYwh 等 → 房产登记信息未授权访问
  • /seal/bj/js/query → 涉税信息批量泄露(207 条、命中率拉满)
  • 姓名+身份证组合查询未授权可打
  • /seal/protected/ 管理接口 → Spring Security 权限绕过(CRITICAL),未认证(state:1)可进管理面
Image

翻译:「很猛」= 异步任务把「可能有问题」熬成「已经发生」。


0x04 内网自扫:几百个洞 + skills.zip(案例三)

反馈原文:

「挺好用的这个」
「我到处宣传」
「打我们自己内网,都几百个漏洞了」

Image

漏洞列表几乎刷屏「严重」。按攻击类型拆几组:

基础设施链式 RCE:

  • Jenkins 未授权初始密码 → script console RCE
  • Redis 主从写文件 → 横向多机 Root(含 SSH 22335)
  • NFS no_root_squash + 弱口令 → 主站 Root RCE
  • Consul 未授权 + Redis 主从写文件 → Root 命令执行
Image

云与对象存储失守:

  • RuoYi 配置硬编码阿里云主账号 AccessKey → 三台 ECS 完全接管(ROOT)
  • 同配置硬编码 MySQL / Redis / 微信 / 阿里云多系统密钥
  • MinIO 匿名写 → zw1 /app 落地首页,多入口 HTML/JS 覆盖
  • MinIO 匿名写 → /app 源站存储型客户端代码执行(浏览器侧 RCE)
  • niushop 后台弱口令 + /shop/upload/audio 任意 PHP 上传 → RCE
Image

管理面与 DNS / CDN 钥匙:

  • 域名调度 assigned_page 任意文件读取(root 可读)
  • FlowRust 管理后台 IP/Host 白名单可伪造 → 完全管理接管
  • Cloudflare 全局 API Key + 邮箱硬编码于服务器配置
Image

CMS 与分析平台:

  • MacCMS 安装向导 database 字段 PHP 注入 → 任意文件写 / RCE
  • MacCMS v10 安装向导未锁定 → 可重装系统实现 RCE
  • 另有任意文件上传导致 RCE
  • Matomo 超管 API Token 泄露 → 80 个站点完全控制
Image
Image

0x05 从 API 到摄像头:IT → OT(案例五)

入口是「无纸化会务 / 相关业务系统」一串严重项:

  • 人员同步 API 未授权写 → 任意用户创建
  • API 文档全量泄露(完整攻击面曝光)
  • 测试服 admin 弱密码:123
  • 测试服 API 未授权 + JWT 硬编码令牌泄露
  • 压轴:数字孪生 IoT 网关 → 内网「万物互联」拓扑完全泄露——海康门禁 / 摄像头 / 消防 / BA / 停车 / 会务全面暴露
Image

链路打通后,用户截图发群:监控大屏已起来——凌晨走廊、楼梯间、多路在线 720P;侧栏是能源 / 环境 / 报警 / 会议 / 系统后台。

「真的进来了。」
「这攻防终于有点结果了。」

Image
Image

「终于」说明前面有很多轮空。Agent 给的不是又一份 Web 漏洞表,是 cyber → physical 的可视证明。业务系统后面,往往挂着一整栋楼。


0x06 人测一辈子测不出来的链(案例七)

聊天记录原话:

「Django 生产环境开启了 DEBUG=True 泄露 redies 密码 然后他去连接 注入 redis 缓存 payload」
「让我测一辈子测不出来。」(Fire)

Image

对应漏洞标题:

[CRITICAL] Redis 公网暴露 + Django Pickle 反序列化 RCE 获取 Root 权限
Image

拆开每一步都「不大」,串起来是整机沦陷:

  1. DEBUG=True(配置债)
  2. Redis 密码进错误页(信息泄露)
  3. Redis 可达 + 写缓存 Payload(暴露面)
  4. Django Pickle 反序列化(代码执行原语)
  5. Root(权限模型崩了)

单点扫描器容易在第 1 步就停;人工也容易觉得「DEBUG 而已」。Agent 强在 把 trivial 串成 critical。

人擅长判断与取舍;Agent 擅长穷尽与链式推理。分水岭不在「会不会打」,在「会不会把三件小事当成一件大事」。


0x07 反面 PoC:删库与改密(案例四、案例八)

正面证明能力。这两条证明边界——Agent 会把 destructive 操作也跑完。

A. clear-data:无认证,9261 → 0(案例四)

前置条件几乎为零:网络可达目标 7001 即可,无特殊凭证。

复现骨架:

GET  /v1/house_reco/stats            → row_count=9261
POST /v1/house_reco/clear-data       → 200 OK(空 body / {} 均可)
GET  /v1/house_reco/stats            → row_count=0

数据构成:新房 315 + 二手 7912 + 租房 1018 = 9261。
集合名:house_recommendation。清空后区域检索(如「盐都区」)total=0,导入统计 total_houses=0。

影响面写得很工程:永久丢失 / 全市房源查询不可用 / 个保法风险 / 可反复恶意清空 / 可勒索。

Image

群里的反应更真实:

「干太猛了,还好是测试平台」
「😂😂数据全删了」
「这太猛了🥵」
「有人机协同,agent 代审」

Image

给开发:未授权 destructive API = 裸奔的业务杀伤武器。
给使用者:Agent 没有「手下留情」开关,除非加 human-in-the-loop / 代审 / 沙箱。

B. reset-password:SUCCESS,然后权限没了(案例八)

日志很干净:

reset-password(无认证)
username=... → code:0 SUCCESS(任意管理员密码…)

聊天现场:

「咋弄的」→「Csai?」→「是的」→「牛逼」
「好像又把人家密码改了」→「牛逼个蛋」→「好像权限又没了」

Image

这是本期最极客的产品反馈:同一分钟内完成 能力确认 + 边界确认。

成熟 Agent 的 KPI 不该只有「打得进」,还要有:

  • 打得准(目标与 blast radius)
  • 停得住(高危动作门禁)
  • 回得了头(凭证变更可回滚 / 可审计)

否则 SUCCESS 和生产事故,差的只是一次回车。


0x08 汇总:八个案例在验证什么

能力面
用户侧证据
自主研究
CVE / Captcha / 默认凭据 / RCE 路径自驱
利用深度
Root / 超管 / 横向 / 云 AK / OT 可视
业务冲击
万级清空 / 2.7 万身份证 / 80 站点失控
效率
10h 挂机 / 「很猛」「有点 nb」
链式发现
DEBUG → Redis → Pickle → Root
边界
clear-data / reset-password 过头

三句结论:

  1. 漏洞本质是错误的信任边界。 Agent 只是把错误执行到底。
  2. 正面 case 证能力,反面 case 证护栏。 都该公开,别只晒战报。
  3. 下一代攻防 Agent 的核心不是更自动,是可控的自动。 Automation without brakes is just a faster outage.

0x09 写在最后

感谢扔截图的人——无论是 Root shell、摄像头大屏,还是删库改密现场。

锋利让攻击可见。
有鞘让风险死在演练里。


CyberStrikeAI :https://github.com/Ed1s0nZ/CyberStrikeAI
让攻击链提前跑通——在该跑通的地方。