第三届网络安全青训营总结

本文总阅读量

会议总结

[PKU] 智能化漏洞挖掘与渗透测试&智能化网络对抗问题探讨

背景

DARPA, AIxCC挑战赛取得里程碑式突破,展现自主发现0day漏洞的能力

XBOW 自主渗透产品登上HackerOne排行榜第一名

但是主流智能体框架还不能完成长时间持续运行、逻辑复杂的渗透测试任务

三大结构性缺陷:大语言模型在渗透测试中面临的问题

渗透测试是长时程、长依赖任务,后续突破往往依赖于早期微不足道的信息点。而现有LLM存在三大结构性缺陷;

  • 记忆衰退(Memory Decay)
    上下文窗口不足,会“忘记”或忽略信息流中间的关键细节。
    无法持续追踪长周期渗透战略
  • 规划短视(Planning Myopia)
    倾向于局部最优规划,而非实现长期、复杂的战略目标。
    追求局部最优,忽视长期战略目标
  • 幻觉虚构(Hallucination)
    生成与事实不符、无中生有或无法验证的信息,污染决策基础。
    生成无效或有害的操作指令

难点与解决方案

漏洞信息缺少,自然语言描述,半结构化:

  • 环境感知 漏洞组合链发现与分析
  • 任务推理:思考与规划
  • 工具学习:封装明确输入输出的原子服务并提供MCP接口,智能体根据需求进行任务编排

智能渗透测试框架:SecLine => SecFlow

[奇安信] 供应链安全

密钥泄漏检测与大规模测量评估

源代码、配置和日志文件等文本中的密钥泄漏问题和风险

  • 在主流开源生态上发现了大量泄漏密钥的项目:Github(24.78%)、PyPI(7.47%)、WeChat(30.08%)
  • 其中36.5%的泄漏密钥仍然有效23.7%测试环境中的密钥相同

开源生态供应链安全风险分析

开源软件包管理分发环节的问题、风险及攻击

  • 在当前的软件包生态中发现了资源重用、资源差异、资源混淆三大类典型问题,并在此基础上识别出12个潜在攻击向量,其中6个为首次发现的攻击向量

Docker生态安全性大规模测量分析

Docker Hub生态中镜像安全性问题和风险

  • 采集了1200万个镜像仓库数据,识别分析了33,952个关键镜像
  • 发现了93.7%镜像包含已知漏洞,4,437个镜像泄漏了密钥,50个镜像存在应用配置错误,24个恶意镜像

已知软件漏洞的影响范围分析

npm开源生态上的已知软件漏洞影响范围分析

  • 发现现有基于SBOM/包依赖关系的漏洞影响范围分析方法存在大量误报,提出了基于函数调用关系的细粒度漏洞影响范围分析方法VulTracer

  • 在npm生态上(3400万个包版本)的大规模分析表明,平均而言,现有工具的结果中**68.28%**为误报

Misc

r3kapig

通过Discord交流,每个题目单开一个频道交流;找CTFTime上 weight评分>50/知名队伍的比赛参加

Redbud

竞赛体悟

CTF Web历年题型演变
  • 16 - 19年:PHP为主,弱类型,SQL注入,LFI/RFI,XSS与CSRF
  • 19 - 23年:新型语言,NodeJS/Python/Java,各种反序列化
  • 23 - 至今:更真实的场景,更复杂的绕过,更底层的求索;浏览器特性/框架特性/协议特性
从竞赛到科研

协议层Web应用防火墙通用绕过漏洞发现:2024 IEEE S&P

  • 针对HTTP协议设计了一套自动化测试框架,在主流商业WAF服务中发现大量HTTP协议层绕过漏洞
  • 攻击者可以利用这些漏洞突破WAF防护,实施SQL注入,log4jshell,命令注入,文件上传等攻击

HTTP/2协议漏洞发现:2026 NDSS

https://www.ndss-symposium.org/wp-content/uploads/2025-1086-paper.pdf

  • 发现两类HTTP协议设计脆弱性
  • HTTP2 Server Push和Signed HTTP Exchange
  • 影响大量浏览器和网站

个人考核赛

最后一天有个个人考核赛,内容是每个方向一个选择题,一个简单题和一个中等题,有Pwn,Web, Crypto, Reverse和Misc五个方向,时间是从上午九点到下午一点。

最终把Pwn和Misc AK了,拿下第三名

AK

题目本身而言不是很难,但是非常二括号的一点是不让用自己电脑,只能用机房电脑。本来以为能提供一些做题环境(例如Kali 虚拟机,各种逆向用/流量分析用工具),结果只提供了一个ghidra和Java环境,而且Java还没有配置环境变量,需要啥东西都得自己现下载。万幸的是电脑开启了WSL环境,能比较好地配置Pwn题的环境。

没注意电脑还开着360,还把我ghidra反编译功能给整虚无了,我还以为是程序问题嗯看汇编做了俩Pwn(Pwn逆向倒也不复杂),后来才发现是二括号360干的,气得我直接把360害死了

前期一直在配Pwn的环境,直到Pwn2做了一部分才配置完成。Pwn1 是一个一般通过的栈溢出,Pwn2 是一个堆UAF但是缺少edit功能,不过可以通过unsorted bin的合并特性来进行UAF修改操作。Misc1 是一个Docker 镜像,解压然后寻找敏感信息即可。Misc2 联系Misc1 通过后者的一个加密去解密流量包中的内容,最后得到一个AES key,在线解密flag即可

AES key一开始把1和l看混了死活解不出来得浪费了一个多小时,不过即使有时间Reverse估计也出不来