1、立项背景和目标
广东联通组织年度攻防演练,需要我们扮演攻击方去实际检测风险。难点在于他们暴露在互联网上的资产有三万多条,靠人工根本忙不过来,而演练窗口只有两三天。所以我们的目标是搭一套自动化工具链,把海量资产快速筛一遍,识别出都是什么系统、把真实存在的漏洞验证出来,最后给客户一份有分量的成果和整改建议。
2、软件功能、核心功能模块
主要分五个模块。资产测绘负责吃掉几万条资产清单并筛出真正在线的目标;指纹识别判断每个站点用的什么系统;漏洞验证负责批量探测并确认 Nacos 认证绕过、弱口令、CORS、Swagger 暴露这类问题;凭证提取从配置中心和转储文件里捞出数据库密码、云存储密钥等敏感信息;最后报告模块按严重程度分级输出成果和修复方案。
3、业务流程、功能路径
流程是:导入资产清单 → 存活和指纹识别 → 高危目标排序 → 自动验证漏洞 → 深度利用提取凭证 → 输出分级报告。我只需要提供资产清单和代理配置,其余环节自动跑,也支持断点续跑,多轮演练可以直接复用。
1、整体架构和设计思路,技术栈
整体思路是"不重复造轮子",用 Python 把 httpx、nuclei、curl、proxychains4 这些成熟工具串成一条流水线。分成四层:数据层处理资产清单、探测层做存活和指纹识别、验证层跑漏洞探测、利用和报告层负责提取凭证和出报告。运行在 Kali 上,全程走 SOCKS5 代理链,隐藏真实出口 IP。
2、我负责的模块和结果
这个项目从资产处理到漏洞验证再到报告输出,基本是我独立完成的。量化结果:处理了三万多条资产,筛出 4333 个活跃目标、3855 个存活系统,识别出 82 种技术栈;最终确认 1 个 P0 级完全攻陷漏洞、7 个以上 P1 和 20 多个 P2 漏洞,提取到 10 多组敏感凭证,并交付了完整的报告。把这类项目原本需要几天的工作压缩到 72 小时内完成。
3、难点、坑和解决方案
一是资产数量大且杂,里面混着大量重复、死链和 CDN 记录,直接扫又慢又不准。我的做法是先用"去重 → 存活探测 → 二次确认"三层过滤把目标收敛下来,再配合代理避免 IP 被封。
二是拿下配置中心后横向突破受阻,内网被服务网格和私有网段隔离,十几种常见的 RCE 路径都走不通。我没有硬啃,而是把所有可行路径系统梳理验证了一遍,最终输出需要靠隧道才能访问的资产清单,转化成有价值的加固建议。
三是敏感凭证散落在配置、堆转储和环境变量里,几百 MB 的转储靠人工翻找很容易遗漏。我写脚本批量提取并用正则归类,按数据库、缓存、云存储、第三方 API 分类汇总,风险一目了然。