解铃还须系铃人
各位前辈老师好,我是九泠,目前是某三线城市的一名普通高中生,也是 Z0Scan 项目的发起人与核心开发者。
我希望借这次机会,向各位前辈们系统地介绍下 Z0Scan。

项目地址
GitHub - https://github.com/JiuZero/z0scan
Gitee - https://gitee.com/JiuZero/z0scan
Z0Scan 的萌芽始于我初三时期,当时深受 w13scan 与 xray 的启发,逐渐萌生了一个想法:
打造一款不依赖臃肿 POC、专注于大通用型漏洞探测的扫描器。
她不仅具备高度通用的漏洞插件架构,更致力于探查那些被忽视的、冷门却广泛存在的安全风险,探索Web黑盒的更多可能。

在设计理念上,Z0Scan 将 WAF 嗅探融入指纹识别环节,并基于 WAF 存在与否智能调度插件与 Payload,从而以更少的请求、更低的拦截率完成检测。
但 Z0Scan 的调度逻辑不止于此——服务类型、中间件等指纹信息同样可作为调度依据,正如 EZScanner 中的“HTTP Request Reduce”技术所倡导的那样:

随着不断迭代,Z0Scan 逐步发展出多项核心特性:
本地与分布式一体化架构
支持本地与基于 Redis 的分布式部署,融合了主被动扫描能力,并彻底摆脱对 BurpSuite 的依赖,延续了 myscan 在分布式方面的设计思路。

AI 辅助的 JS 敏感信息校验
为避免传统正则匹配的误报,Z0Scan 引入 AI 对初步匹配结果进行二次校验,提升准确性与可信度。
原生 IPv6 支持
从 myscan 中汲取灵感,Z0Scan 实现了对 IPv6 环境的完整兼容,拓展了适用场景以达到绕过部分防火墙的目的。

伪静态参数智能提取
针对 EZScanner、Xray 等工具尚未完善的伪静态路径解析能力,Z0Scan 进行了初步实现,覆盖多种伪静态结构。
得益于 WAF 指纹信息对插件的干涉,sqli-bool 采用了更保守、更少的Payload完成了检测:

Web 控制台:流量队列与插件热管理
提供流量队列机制,避免被动扫描时抢占关键请求;同时支持在扫描过程中动态启停插件,灵活适配不同测试场景,提升控制精度。

插件外部动态导入
借助 Python 的灵活性与 Nuitka 编译优化,Z0Scan 支持插件热加载,兼顾开发效率与运行性能。
├─config
│ ├─lists
│ └─others
├─data
├─fingerprints
│ ├─os
│ ├─programing
│ └─webserver
└─scanners
├─PerDir
├─PerDomain
├─PerHost
└─PerPage
被动指纹支持
CMS百家争鸣,0day、1day层出不穷,当 afrog、nuclei 项目并不能够满足红队工作者的历史漏洞全面性要求时,其它更具针对性而全面的漏洞扫描体将成为红队工作者的更佳选择。
而 afrog与 nuicle 的社区活跃度本已不是 z0scan 所能追及的,那么则应在两者间寻求平衡点——通过融合被动指纹识别与被动扫描能力,将指纹匹配与历史漏洞检索的完整性问题交由用户判断,同时赋予用户自主选择漏洞检测策略的权利。
Z0Scan 目前支持近6000种CMS指纹识别,并向插件开放指纹检索,为针对特定CMS的0day漏洞检测插件(POC)开发提供了灵活、可扩展的实现方案。

主机端口漏洞探查
赓续 myscan 的开发思想,Z0Scan 支持了针对每一主机(基于HOST IP去重)的端口探测与漏洞探查,并借助动态导入优势减少不必要的端口开放检测。
此外,Z0Scan 还具备些小的创新优化:
如对SQL注入存在概率的判断算法,它来自于 DetSQL

这里使用的是EZ - 1.9.0,但在后续 EZ 的更新中有提及对SQL盲注的优化(不清楚还会不会误报,属实没积分了/泪水)
Z0Scan 最终的被动工作流程如下:

当然,命令行操作并非对所有人都友好。因此,我同步开发了 Ling 。

项目地址
GitHub - https://github.com/JiuZero/Ling
Gitee - https://gitee.com/JiuZero/Ling
一个为 Z0Scan 量身打造的可视化操作界面。她将 Z0Scan 的各项能力以更直观、更美观的方式呈现,助力安全研究者轻松上手,高效“食用”Z0。



在 Z0Scan 的成长路上汲取了一些开源项目的养分,它们包括但不限于:W13Scan、GourdScanV2、myscan、Sitadel..
插件开发离不开它们:tplmap、webcrack、SQLmap..
相关信息
文档:https://jiuzero.github.io/tags/z0scan
发行页:https://github.com/JiuZero/z0scan/releases
更新日志:https://github.com/JiuZero/z0scan/blob/master/doc/CHANGELOG.MD
同时 Z0Scan 的开发也离不开各位大师傅们的支持与肯定,最后诚在此向各位网安工作者们表达最深的敬意。
