干货 | 被动扫描?直接梭哈!

作者:渗透安全团队 发布:2026-02-12 14:42 收录:2026-09-07 13:19 2 次阅读 约 1119 字
摘要:1为什么选择了 ez ez 实际上手使用,以及常见扫描场景,实际体验下来,主动探测的能力,对后端接口的能力
推荐理由:本文涵盖「被动扫描」、「指纹识别」、「ez扫描器」等多个主题,重点关注 被动扫描。

 

1

为什么选择了 ez

 

ez 实际上手使用,以及常见扫描场景,实际体验下来,主动探测的能力,对后端接口的能力比较好,得益于现在的前后端分离架构的火爆。下面我将写一些我常用的 ez 使用场景,仅供学习交流(证书文末也会给)


 

 

 

2

食用指北

 

1.指纹自行添加,放到 data 目录下finger_custom.json,我自行手搓了 300+小众指纹,这样在我攻防人工打点过程中会让我更舒服(不要问我要,要也不给。)
大家可以平时自己收集指纹,如果你是红队岗的话,这个是必不可少的,有些小众指纹往往出货率很高。
https://index.zgsfsys.cn/finger/index.html

2.只扫描高危漏洞,常用用攻防Web批量打点。

./ez_darwin_arm64 webscan --level 2 --urls-file url.txt --html-output html.html --proxy socks5://127.0.0.1:1010
资产量大的话批量跑一夜,第二天等着出结果就行。

3.批量指纹识别,指纹识别完,进行分类,然后批量打 POC
这个方法打起来是很爽的,比较吃指纹和 POC 库,这也是我经常用的打法基本成出成果概率 60%-70%
./ez_darwin_arm64 webscan --disable-pocs all --urls-file url.txt --json-output json.txt --proxy socks5://127.0.0.1:1010
import jsonimport os # 引入 os 模块来处理文件和文件夹
def sanitize_filename(name):    """处理文件名中的非法字符,替换为下划线"""    invalid_chars = ['\\''/'':''*''?''"''<''>''|']    for char in invalid_chars:        name = name.replace(char, '_')    return name
# 输入文件名和输出文件夹名input_file_name = '1217.txt'output_directory = '12171'
# 存储分类数据的字典# 结构: { "原始指纹名": [url1, url2, ...], ... }plugin_data = {}
try:    # 1. 创建输出文件夹(如果不存在)    os.makedirs(output_directory, exist_ok=True)
    # 2. 读取和处理源文件数据    with open(input_file_name, 'r', encoding='utf-8'as f:        for line in f:            line = line.strip()            if not line:                continue            try:                data = json.loads(line)                url = data.get('target', {}).get('url''')
                # 解析 "plugin" 字段                plugin_list_str = data.get('plugin''[]')                original_plugins = json.loads(plugin_list_str)
                # 直接使用原始指纹进行分类                for plugin_name in original_plugins:                    if plugin_name not in plugin_data:                        plugin_data[plugin_name] = []                    # 避免重复添加同一个URL                    if url not in plugin_data[plugin_name]:                        plugin_data[plugin_name].append(url)
            except Exception as e:                print(f"处理数据时跳过一行,原因: {e}")
    # 3. 将分类结果写入各自的txt文件    for plugin_name, urls in plugin_data.items():        # 清理文件名以确保其有效        safe_filename = sanitize_filename(plugin_name)        # 构造完整的文件路径        file_path = os.path.join(output_directory, f"{safe_filename}.txt")
        with open(file_path, 'w', encoding='utf-8'as f:            # 将每个URL写入文件,每个URL占一行            for url in urls:                f.write(url + '\n')
    file_count = len(plugin_data)    print("脚本执行成功!")    print(f"已根据原始指纹进行直接分类,总共生成了 {file_count} 个文件。")    print(f"所有文件都已保存在 ./{output_directory}/ 文件夹中。")
except FileNotFoundError:    print(f"错误:找不到输入文件 '{input_file_name}'。请确保它和脚本在同一个目录下。")except Exception as e:    print(f"发生未知错误: {e}")

4.API扫描,比如 Swaager的 API,可以直接放进去扫
./ez_darwin_arm64 webscan --apiscan -u "" --html-output html.html  --proxy socks5://127.0.0.1:1010

对于 API 扫描能力,也可以通过 Postman/APIfox代理->EZ被动扫描。


5.爬虫扫描 Katana+EZ

./katana -u [URL] -proxy http://127.0.0.1:2222 -aff

Katana爬虫能力非常不错,你可以使用 Katana+EZ,进行爬虫+漏洞扫描,2222 端口是 ez 的被动扫描监听端口

https://github.com/projectdiscovery/katana

爬虫能力有限的时候,我一般手机好 URL,然后挂着被动扫描批量打开。



6.流量转发

Burp 用明洞插件进行流量转发

YakitMITM 使用被动扫描助手进行流量转发

7.浏览器插件

ez 的浏览器插件是嘎嘎好用的

9.主动指纹
如果你有某个系统的 0day,并且主动进行路径探测才可以发现的,非常建议去写一下主动指纹,但是不建议过多。

https://docs.ezreal.cool/EZUSE/poc.html


 

3

获取方式

 

小编偷偷给你们一张证书,直接拿去用,后续自己在论坛注册,签到

https://msec.nsfocus.com/me/ez/certificate

证书下载地址


ez证书下载

通过网盘分享的文件:ez链接: https://pan.baidu.com/s/17RlO-yQVTTrnlZU6r4MVCQ?pwd=d5f7 提取码: d5f7 --来自百度网盘超级会员v6的分享





转载声明:本文转载自原发布平台 (作者:渗透安全团队), 原文标题《干货 | 被动扫描?直接梭哈!》, 查看原文。 版权归原作者及原发布平台所有,本站仅作收录与展示,未对正文内容作实质性修改; 若涉及侵权请联系本站处理。