内容提要
2026年10月19日凌晨,一名参赛者使用AI自主渗透工具对平台发起约1小时49分钟、数千次请求的未授权测试,未攻破平台,仅通过公开接口获取508个用户名,并用31词弱口令字典喷洒命中1个最低权限账户,提权与SSH爆破均失败。报告确认了攻击者身份,指出队伍接口泄露用户名、登录缺乏防自动化等四个弱点并完成整改,提醒用户更换弱口令、勿复用密码。
延伸解读
攻击链的起点:公开接口泄露用户名
报告显示,攻击者首先利用无需登录的队伍信息接口,通过遍历参数批量获取了508个真实用户名。这打破了“撞库需先知道用户名”的常见假设,说明任何可枚举用户名的公开接口都会直接降低攻击门槛。平台已将该接口列为高危弱点并整改,读者应关注类似接口是否暴露了不必要的身份信息。
弱口令喷洒:31词字典命中1人
攻击者探测密码策略后定制了31词弱口令字典,采用轮转喷洒方式,以每秒约1.3次低速尝试规避限流,最终字典第1条即命中一名使用常见8位弱口令的用户。这并非技术漏洞,而是概率收割。报告提醒用户自查密码是否属于“常见词+123”等模式,并避免跨平台复用。
防守侧的可观测性价值
尽管攻击未遂,平台通过全量日志留存、数据库审计和流量形态分析,在攻击过程中实时识别出脚本化侦察、撞库和提权尝试,并在攻击停止后完成全量溯源。报告强调,即使没有攻击方材料,仅凭服务端日志也能还原攻击链条,这验证了可观测性建设在实战中的关键作用。
AI自动化渗透降低攻击门槛
本次攻击由AI自主渗透系统完成,操作者仅填入目标域名,工具便自主规划、调度扫描与爆破、生成脚本并判断结果。报告指出,AI并未创造新技术,而是将教科书式老套路自动化,其优势在于不知疲倦、不会遗漏。这意味著普通参与者也能发起系统性攻击,防守方更需收缩攻击面、消除弱口令并加固认证。
Q&A
ZZUCTF平台这次被AI渗透攻击,最终有没有被攻破?攻击者拿到了什么?
平台没有被攻破。攻击者仅通过公开接口收集了508个用户名,并用31词弱口令字典喷洒命中1个最低权限普通账户,但该账户无法访问任何管理功能,提权与SSH爆破均失败,题库flag未被获取,服务器未被控,无数据外泄。
攻击者是怎么拿到用户名的?为什么说这是攻击链的起点?
攻击者利用平台一个无需登录即可访问的队伍信息接口,通过脚本将参数从1递增遍历,批量收割了全站508个真实用户名。该接口泄露用户名,使攻击者无需先知道用户名即可建立撞库名单,成为后续弱口令喷洒的起点。
攻击者用的弱口令字典有多大?为什么能命中?
字典只有31个词,混合了通用弱口令和针对本校/平台的构造词。攻击者采用轮转喷洒(同一口令试遍所有用户名),字典第1条口令在试到第498个目标时命中,全站508人中仅1人使用该弱口令。这不是技术漏洞,而是概率收割。
平台存在哪些安全弱点?分别怎么整改?
四个弱点:1)队伍信息接口泄露全站用户名(高危),整改为增加访问控制、隐藏敏感信息、取消连续编号;2)登录环节缺少防自动化(高危),整改为开启验证码、独立严格频率限制与失败锁定、修正限速地址判定;3)容器代理接口未鉴权且不校验归属(中高危),整改为增加鉴权与实例归属校验;4)图片处理链路缺少资源上限(中危),整改为解码前增加尺寸与像素上限校验。
被命中账户的主人会受到处罚吗?平台怎么处理的?
不会处罚。该同学是受害者,账户被脚本接管使用,本人无异常行为。平台已恢复账户、强制重置密码,并明确不处罚。报告提醒所有参赛者自查密码是否属于弱口令族,并避免跨平台复用。
AI自主渗透工具是怎么工作的?它和传统人工渗透有什么不同?
该工具采用“规划者+执行者”双层循环:规划者维护探索图谱,定期唤醒并派发新方向;执行者自动写脚本、跑命令、回写结论。全程无人交互,人只填写目标域名。它降低了攻击门槛,但使用的仍是枚举用户名、喷洒弱口令、爆破SSH等教科书老套路,优势是不知疲倦、不会遗漏。
防守方是如何发现并确认这次攻击的?
防守方依靠全量日志留存、数据库级审计和流量形态分析,从机器节拍(如每分钟固定次数的匀速失败请求)识别出撞库行为,并在攻击停止当天完成全量溯源。随后拿到攻击方工具运行记录,与服务端日志在时间、指纹、行为三方面逐条吻合,形成闭环证据链。