跳转至

扫描技术细节

本章节会分享w15scan所使用的扫描技术细节。本章展示了为什么会选择这个技术,技术优劣的考虑,扫描技术SOTA实践等。

WEB端与分布式扫描端

系统架构设计

  • web端登录地址可选(随机),默认首页404(防止被空间引擎探测)
  • 最简易的部署
  • web端只需要部署到公网
  • 扫描端任意部署,配置项只需要输入web端地址
  • 以红队隐蔽性考虑,扫描端只与WEB通信,不和其他第三方组件通信

隐蔽性设计

  • 防溯源:随机登录路径,默认404页面
  • 单点通信:扫描端只与web端通信
  • 无额外依赖:扫描端单二进制文件部署

DNS收集技术

暴力破解

基于ksubdomain的无状态扫描

基于 ksubdomain 的无状态扫描技术:

  • 性能优势:2分钟可暴力扫描10w字典
  • 技术特点
  • 无状态优势:快
  • 无状态劣势:不准确
  • w15scan解决方案:使用自建状态表增强无状态扫描的准确度

字典优化

  • w15scan内置10w+子域名字典
  • ksubdomain+gotator 组合,效果嘎嘎猛

第三方API集成

漏洞检测

DNS安全检测

  • 域传输漏洞检测
  • MX记录接管检测
  • CNAME域名接管检测

攻击面扩展

  • SPF记录分析,邮箱信息收集
  • CDN打标签 🏷️
  • IP CIDR聚合分析
  • 内外网IP打标签 🏷️

端口扫描技术

自研无状态端口探测

性能对比

  • 传统基于socket探测:探测一个IP的65535端口需要10分钟
  • 无状态端口扫描:十分钟能扫完一个C段的全端口

技术优化

  • 无状态优势:快
  • 无状态劣势:不准确
  • w15scan解决方案:准确是w15scan第一考量,使用自建状态表增强无状态扫描的准确度

指纹识别

  • 自研指纹规则,基于nmap指纹
  • 去除nmap特征,避免被检测
  • 规则来源:nmap service detection

被动探测补充

  • 基于fofa web记录进行被动端口探测补充(可选功能)
  • 多源数据融合,提高端口发现覆盖率

WEB扫描技术

HTTP客户端优化

  • Go http client指纹去除
  • HTTP基础信息收集
  • 请求特征伪装

Web指纹识别

技术演进

第一代: - 基于goby指纹 - 只需要访问一次首页 - 速度极快

第二代: - 一些指纹需要单独发包请求,如shiro - 需要子目录探测 - 基于 FingerprintHub 编写golang版本指纹识别器

指纹规则

  • 多源指纹库:集成多个开源指纹库
  • 自定义规则:支持用户自定义指纹规则
  • 动态更新:指纹库支持在线更新

爬虫扫描技术

第三方API

  • GAU:被动URL收集

基于DOM相似度的爬虫

  • 智能去重:基于DOM相似度算法
  • 深度控制:可配置爬虫深度
  • 效率优化:避免重复爬取相似页面

爬虫抓取规则

云资产发现

  • 云服务识别:识别各种云服务资产
  • 云配置检测:检测云服务配置错误

JS分析

  • JS文件收集
  • JS中的接口收集
  • API端点提取

敏感信息收集

  • AK/SK收集:云服务密钥泄露检测
  • 邮箱收集:从页面中提取邮箱信息
  • URL规则匹配:基于规则的敏感URL发现

资产扩展

  • 发现更多资产,自动加入到DNS、domain、port模块
  • 关联分析:分析资产间的关联关系

漏洞扫描集成

  • xscan集成:集成XSS扫描功能
  • 联动扫描:爬虫发现的URL自动进行漏洞扫描

PoC扫描技术

基于nuclei-templates

  • 模板库:基于 nuclei-templates
  • 规则丰富:覆盖各种漏洞类型
  • 持续更新:跟随上游更新

敏感文件扫描

  • 常见敏感文件检测
  • 目录遍历检测
  • 备份文件发现

漏洞扫描策略

  • 指纹关联:根据识别到的指纹对应漏洞poc扫描
  • 智能匹配:自动匹配合适的PoC规则
  • 减少误报:多重验证确保漏洞真实性

变更监控技术

Diff算法

  • 资产变更检测:监控资产状态变化
  • 增量更新:只处理变更的部分
  • 历史记录:保存变更历史

监控策略

  • 定时监控:定期检查资产变更
  • 实时监控:关键资产实时监控
  • 智能告警:重要变更及时通知

攻击面分析

占坑:该模块正在开发中,将提供:

  • 攻击路径分析
  • 风险评估模型
  • 攻击面可视化
  • 威胁情报关联

技术优势总结

性能优势

  • 无状态扫描:大幅提升扫描速度
  • 分布式架构:支持水平扩展
  • 并发优化:高并发处理能力

准确性保障

  • 自建状态表:提升无状态扫描准确性
  • 多源验证:多种技术手段交叉验证
  • 误报控制:严格的误报控制机制

隐蔽性设计

  • 防溯源:多重防溯源措施
  • 特征伪装:去除工具特征
  • 通信加密:安全的通信机制