尧图精选

scan4all 实战场景指南:外网资产、内网 B 段与 WAF 拦截下的漏洞扫描策略

🕒 发布时间:2026/9/17 3:32:32 📁 来源:尧图网络
scan4all 实战场景指南外网资产、内网 B 段与 WAF 拦截下的漏洞扫描策略【免费下载链接】scan4allOfficial repository vuls Scan: 15000PoCs; 23 kinds of application password crack; 7000Web fingerprints; 146 protocols and 90000 rules Port scanning; Fuzz, HW, awesome BugBounty( ͡° ͜ʖ ͡°)...项目地址: https://gitcode.com/GitHub_Trending/sca/scan4all本文围绕 scan4all 官方场景文档static/scenario.md展开覆盖外网资产扫描、内网 B 段探测优化、WAF 拦截下的降级检测三类典型实战场景并结合 命令行参数定义 与 检测引擎实现 说明各参数背后的行为差异帮助读者按目标环境选择正确的命令组合避免在大规模扫描中浪费时间或被 WAF 清零。一、三类场景的总体思路scan4all 的定位是一条完整的自动化漏洞扫描流水线端口扫描naabu 内核→ HTTP 服务识别与指纹httpx 内核→ POC 漏洞检测Go 编写的 pocs_go 与 YAML 模板 pocs_yml。程序入口在 main.go由util.DoInit(config)初始化内嵌的config目录其中包含 pocs_yml 模板集 与 Go POC 集随后调用 lib/api/main.go 中的api.StartScan(nil)启动整条流水线。lib/api/main.go 中的调用链可以确认这一点naaburunner.ParseOptions()解析命令行参数参数定义见 pkg/naabu/v2/pkg/runner/options.gonaabuRunner.RunEnumeration()执行端口枚举naabuRunner.Httpxrun(nil, nil)在端口扫描完成后自动衔接 Web 扫描与 POC 检测。理解了这条流水线就能理解官方场景文档中三类场景的命令差异它们本质上都是在回答同一个问题——当前环境下应该跑流水线中的哪些阶段、以什么输入规模去跑。二、外网场景先做资产归一化再快速扫描外网场景的核心是输入资产的质量。官方文档给出的操作路径是自己收集目标的外网资产信息包括资产的域名、C 段、相关 IP 等将资产汇总后去重保存于本地文件使用该文件驱动 scan4all 快速扫描scan4all -l input.txt -ceyeapi xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -ceyedomain xxxxxx.ceye.io -csv -o output.csvinput.txt内可以是多种格式混排的资产URL、域名、C 段、IP。这里有一条关键的行为边界——URL 地址不会进行端口扫描只有裸 IP/域名/C 段才会触发 naabu 端口枚举。这与参数设计中-l对应的HostsFile字段list of hosts to scan ports (file)一致而 URL 输入在进入流水线后只会走 Web 阶段的指纹与 POC 检测。参数逐项说明结合 options.go 中的注册逻辑上述命令涉及的参数含义如下参数源码注册位置作用-l, -listHostsFilelist of hosts to scan ports (file)指定待扫描资产列表文件支持 URL/域名/C 段/IP 混排-ceyeapiCeyeApiceye.io api keyceye.io 的 OOB带外交互 API Key-ceyedomainCeyeDomainceye.io subdomainceye.io 的交互子域名-csvCSVwrite output in csv format结果以 CSV 格式输出-o, -outputOutputfile to write output to (optional)结果写入的文件路径其中-ceyeapi与-ceyedomain是 scan4all 区别于一般扫描器的关键配置。源码中可以看到其实际用途lib/util/util.go 中通过http://api.ceye.io/v1/records?token%stypednsfilter%s主动查询 DNS 交互记录。也就是说对于 log4j、fastjson、Shiro 等基于OOB 回连的漏洞工具在 POC 发送后会回查 ceye 的 DNS 记录来确认是否真正命中从而降低无回显漏洞的误报率。如果 POC 集合中不需要回连验证可以不提供这两个参数但要获得完整、可信的检测结果建议配置。三、内网场景用存活探测为 B 段扫描提速官方文档指出了一个现实问题直接使用 scan4all 对 B 段/24进行扫描速度非常慢原因是需要对该段 254 个地址做大量端口扫描。推荐做法分两步先用 fscan 一类的工具对内网进行 B 段IP 存活探测注意fscan 是 scan4all 依赖/推荐搭配的外部工具官方场景文档中给出了链接安装方式以 fscan 项目自身说明为准将存活 IP 列表导入 scan4all 进行完整扫描scan4all -l ips.txt -ceyeapi xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -ceyedomain xxxxxx.ceye.io -csv -o output.csv这与外网场景命令形式相同区别仅在于输入文件ips.txt是已经过存活过滤的 IP 列表把存活判断这一最耗时的粗筛工作交给更轻量、更专注探测的工具完成scan4all 则专注于后续的端口、指纹、POC 精扫。可进一步调优的参数内网扫描时还可以结合 usage.md 中列出的完整参数表对规模进行控制-host, -list, -exclude-hosts, -exclude-file输入与排除-port, -top-Ports, -exclude-Ports, -Ports-file, -exclude-cdn端口范围控制内网目标若已知只开放常用端口可用-top-Ports限定 top 端口以进一步提速-cworker 线程数默认 25、-rate每秒发包数并发与速率控制-scan-all-ips, -sa解析域名关联的所有 IP 并扫描。四、WAF 场景先保指纹再补 POC这是场景文档中最有实战价值的一条建议如遇到 WAF 封禁 IP 的情况建议先对资产进行指纹识别再对 URL 地址进行 POC 检测——这样至少能得到资产的指纹列表不至于完全没有结果。对应两条命令第一步跳过 POC 检测只做指纹识别scan4all -l input.txt -np -csv -o output.csv第二步把 URL 资产单独列出再补 POC 检测scan4all -l urls.txt -ceyeapi xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -ceyedomain xxxxxx.ceye.io -csv -o poc_output.csv-np参数在源码中的行为-np在 options.go 中注册为NoPOC帮助文本为 Skip pocs_go check。解析完成后会通过os.Setenv(NoPOC, ...)写入环境变量供全链路读取pkg/httpx/runner/runner.go 中 Web 扫描阶段以if !scanopts.NoPOC作为 POC 检测的开关engine/engineImp.go 的事件循环中PocCheck_pipe收到指纹结果后若util.GetValAsBool(NoPOC)为真则直接跳过pocs_go.POCcheck(...)调用。因此第一步命令的实际效果是完整跑端口扫描与 Web 指纹识别指纹数据会进入引擎事件队列并被记录但在 POC 下发环节整体短路。这一步对 WAF 的价值在于指纹识别的请求特征与频次远小于全量 POC 轰击更容易在封禁发生前拿到有价值的资产信息。第二步中urls.txt应只包含第一步指纹结果中确认的 URL而非原始资产全量。由于输入是 URL按前述规则不会触发端口扫描请求只集中在 Web 层 POC 检测把攻击面与流量规模都压到最小。若 POC 仍被 WAF 拦截还可以参考 config/WAFBypasHd.txt 中的 WAF 绕过请求头配合-h输出中的调试参数-debug、-v观察实际请求行为。五、三个场景的共性要点与注意事项输入文件先行去重三类场景都依赖-l列表文件。列表重复会直接放大请求量并触发 WAF外网资产收集阶段就应去重。输出统一使用-csv -oCSV 输出便于在指纹与 POC 两步之间做数据衔接例如从output.csv中筛出 URL 生成urls.txt也便于事后复盘。ceye 参数的适用范围-ceyeapi/-ceyedomain影响的是 OOB 回连验证类 POC 的准确性属于锦上添花但强烈建议的配置不配置不会导致程序报错只是回连类漏洞只能依赖响应特征判断。SYN 与 CONNECT 扫描类型的权限差异options.go 中showNetworkCapabilities逻辑显示-sSYN扫描需要 rootLinux 下为CAP_NET_RAW权限非特权环境下自动降级为 CONNECT 扫描。内网大规模扫描时这一点直接影响速度与隐蔽性。结果文件中的断点续扫参数表中提供-resume基于 resume.cfg 恢复扫描长时间的内网全段扫描中断后可复用该能力避免重复起扫。六、小结scan4all 的三类场景可以浓缩为一套决策口诀外网资产收集 → 去重入文件 →scan4all -l input.txt -ceyeapi ... -ceyedomain ... -csv -o output.csvURL 不走端口扫描内网fscan 存活探测 → 存活 IP 入文件 → 同一条命令精扫必要时用-top-Ports、-c、-rate控制规模WAF-np先取指纹保底 → 指纹 URL 单独列表 → 再补 POC 检测把流量与攻击面拆开。更多参数细节可参考仓库内 static/usage.md 的完整参数表与 static/running.md 的运行说明POC 模板与 Go POC 的组成可分别在 pocs_yml 与 pocs_go 目录下查看。【免费下载链接】scan4allOfficial repository vuls Scan: 15000PoCs; 23 kinds of application password crack; 7000Web fingerprints; 146 protocols and 90000 rules Port scanning; Fuzz, HW, awesome BugBounty( ͡° ͜ʖ ͡°)...项目地址: https://gitcode.com/GitHub_Trending/sca/scan4all创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →