Skip to content

Releases: zan8in/afrog

v3.5.2

13 Apr 12:54

Choose a tag to compare

afrog v3.5.2 发布

✨ 主要更新

1. 断点续扫升级 (-resume)

  • PoC 级 升级为 target × PoC 任务级
  • 中断后精准恢复,不再从 0% 重扫
  • ✅ 不重扫、不漏扫,进度即时恢复

2. 严格校验模式 (-validate)

  • 严格检测不支持的 PoC 语法(如 nuclei/xray 字段)
  • 按行报错 + 给出修正提示,不再静默忽略

3. 帮助信息重组 (-h)

  • 参数按使用路径分为 9 大类:输入 → PoC → 筛选 → 网络/性能 → OOB → 阶段 → 输出 → 调试 → 服务/配置
  • 查找参数更直观

📦 升级建议

  • 经常断点续扫的用户强烈建议升级
  • 运行 -validate 检查 PoC 兼容性

v3.5.1

23 Mar 07:38

Choose a tag to compare

这是 afrog v3.5.1 版本的更新日志,主要包含两项关键更新:


1. -debug 模式优化(Brute 场景)

变更前:在暴力破解(brute)场景下,-debug 只会输出最后一次 payload 尝试的请求/响应。

变更后:按顺序输出每一次 payload 尝试的完整 Request/Response。

影响:避免因“只看到最后一次”而误判漏洞是否存在,便于排查爆破过程中的中间状态问题。


2. 新增 Interactsh OOB 支持

功能:afrog 现可通过 -oob interactsh 参数,使用 Nuclei / ProjectDiscovery 的 Interactsh 服务进行带外(OOB)回连验证

自动配置:当配置文件中缺少 reverse.interactsh 相关配置时,afrog 会自动补全。

使用示例

afrog -t https://target.com -oob interactsh

适用场景:适用于检测需要外部交互的漏洞(如盲注、反连类漏洞),提升检测准确率。

手工配置
打开 afrog 配置文件 ~/.config/afrog/afrog-config.yaml
找到 reverse:,在下面添加内容:

 interactsh:
    server: "oast.pro"
    token: ""

v3.5.0 不走、完美

12 Mar 12:12

Choose a tag to compare

afrog v3.5.0 版本更新日志:

  1. HTTP 响应自动解压:为非 raw 的 HTTP 请求添加了对 Content-Encoding: gzip 响应的自动解压功能。现在 response.body/response_text 以及 -debug 输出的内容将直接显示可读明文,同时避免了因手动设置 Accept-Encoding 头而导致规则匹配失败的问题。

  2. 增强的规则容错机制:即使某个 rule 的请求发生超时或报错,依然会继续执行该 rule 的表达式计算。这确保了 oobCheck(...) 这类基于 OOB(带外)的判断不会因为请求未能正常返回而“根本没有机会执行”,从而有效避免漏报。

  3. 旧 OOB PoC 静态检测:增加了对旧版本 OOB PoC 的静态检测与自动跳过功能。

  4. Header 查询优化response.headers[...] 的 Header 名查询改为大小写不敏感,系统将自动按小写匹配,提升了兼容性和易用性。

  5. OOB 判定修复:修复了 Revsuit 平台在 DNS 类型 OOB 检测中的误判问题,进一步减少漏报。

v3.3.9

27 Feb 07:28

Choose a tag to compare

afrog v3.3.9 重磅发布:OOB 检测能力全面升级

本次更新聚焦 OOB(带外)检测体系的重构与优化,带来更稳定、更清晰、更易用的漏洞验证体验。

🎯 OOB 核心升级

  • 更简洁的 PoC 语法:新增 {{oob.DNS}} / {{oob.HTTP}} 占位符,配合 oobCheck(...) 与 oobEvidence() 函数,编写 PoC 更直观、更高效
  • 更稳健的底层逻辑:从“整段响应式匹配”升级为“记录条目→自动去重→事件缓存→证据摘要”机制,命中更精准,复核更轻松
  • 证据可追溯:扫描结果中自动挂载 oob_evidence 证据,终端、report.html、Web 详情页均可清晰展示 OOB 触发详情
  • 老 PoC 一键迁移:新增 -pocmigrate 命令,帮助用户快速将旧版 OOB PoC 迁移至新版格式

⚠️ 注意:从 v3.3.9 开始,不再支持旧版 OOB PoC 写法,新版 OOB PoC 编写教程

🖥️ CLI 体验优化

  • 新增 -nc / -no-color 参数,支持禁用 ANSI 颜色输出,适配日志采集与纯文本环境
image

v3.3.8

09 Feb 06:43

Choose a tag to compare

Afrog v3.3.8 发布

本次更新显著增强了 afrog企业级协作能力(企业微信推送)、精准筛选能力(搜索扩展至 tags)以及 生态统一性(afrogweb、SDK 同步)。同时,通过对 Weaver 相关 PoC 的集中验证与补充,进一步提升了在特定场景下的漏洞检测覆盖率和准确性。

核心新增功能

  1. 新增内置函数

    • 增加 timestamp_milliaesECBhextoUppertoBytes 等函数,进一步丰富了漏洞检测过程中的数据处理与加密能力。具体可参考官方 wiki 中的内置函数文档。
  2. 企业微信漏洞推送功能

    • 新增企业微信作为漏洞推送渠道(由社区开发者 @adeljck 提交),便于团队及时接收风险告警。
  3. 搜索范围扩展至 tags

    • -s/--search 现在会同时匹配 PoC 的 idinfo.nameinfo.tags(逗号分隔关键词,大小写不敏感,命中任意关键词即视为匹配成功)。
    • -pl 列表过滤与扫描过滤的行为已统一,均支持按 tags 进行命中。
  4. afrogweb 漏扫同步增强

    • afrogweb 版本现已支持与命令行版本一致的高级过滤功能,包括:
      • -ps(跳过指定 PoC)
      • -p 1-6535(PoC 范围选择)
      • -w(指定工作空间)
      • -s tomcat(搜索匹配 PoC)
  5. SDK 功能同步

    • SDK 已同步本次更新,确保第三方集成时也能使用全部新功能。

核心优化项

  1. 优化内置函数

    • 对内置函数 bcountrcount 进行了性能或功能上的优化。
  2. PoC 属性标准化

    • 所有 PoC 已统一覆盖 tagscreated 属性,便于分类、筛选与管理。
  3. 增强 PoC 目录支持

    • -pd 参数现在支持指定 pocs-my(用户自定义 PoC 目录)和 pocs-curated(精选 PoC 目录)。
  4. PoC 验证与新增

    • 重新验证了 40+ 个内置的 Weaver(泛微) 相关 PoC。
    • 新增了 11 个 Weaver 相关 PoC(来自社区圈子)。

v3.3.7

04 Feb 12:31

Choose a tag to compare

一、Afrog 支持星球 PoC 自动更新功能 ⚡️

“启动即最新,扫描即实战”,只需配置一次星球专属 License,Afrog 在启动时会自动挂载并更新星球最新发布的高危漏洞 PoC。 告别手动下载与解压,让你的漏洞情报库始终保持最新。

二、命令 -pedm 全新升级:PoC 执行耗时洞察与分析引擎 🔍

告别性能“黑盒”,一键开启 PoC 扫描的“上帝视角”。启用 -pedm 后,Afrog 将为您完整采集每一次 PoC 任务执行的全量耗时数据,并以极低开销,输出直观、可操作的关键性能洞察。

  1. 执行全景掌控:全程采集并统计所有 PoC 执行耗时,为性能分析提供坚实数据基础。
  2. 全局性能报告:扫描结束时,自动生成一份“Top 慢 PoC”排行榜,直观揭示最耗时、或平均耗时最高的 PoC,为你的 PoC 库与扫描策略优化提供核心依据。
  3. 优化你的实战体验:无论是排查扫描卡顿、评估 PoC 效率,还是优化你的专属 PoC 库,-pedm 都将成为你不可或缺的专业性能诊断工具。

圈子
增量共 7 条 PoC: 大华 x2 、 springblade x1 、泛微 x1 、 信呼 x2 、致远 x1、Oracle x1

v3.3.6

30 Jan 08:15

Choose a tag to compare

  • 新增
    • 新内置函数:trim、计数函数 bcount / rcount,支持在表达式中统计正则命中次数。
    • 新增契约锁 Qiyuesuo DBTest RCE 检测 PoC。
  • 修复
    • 修复 -w 探测模式下控制台打印网页标题时的中文乱码问题。
  • 圈子
    • 增量共 7 条 PoC: 帆软 2 、 蜜罐 2 、 金河 1 、 锐捷 1 、其他 1,删除 1 条 PoC:畅捷通 1
fanruan
- fanruan-reportserver-resource-fileread.yaml
- fanruan-v9-webserver-fileupload.yaml
honeypots
- citrix-honeypot-detect.yaml
- honeypots-detection.yaml
jinhe
- jinhe-detect.yaml
ruijie
- ruijie-rg-uac-nmc-online-check-rce.yaml
vulnerablility
- astrbot-get-file-fileread.yaml

删除
yonyou/chanjet
- yonyou-chanjet-tplus-deletesingleimage-deletefile.yaml

v3.3.5

29 Jan 01:13

Choose a tag to compare

新增

  • 增加本地漏洞演示站点与示例 PoC:examples/vulnweb/*(nacos/seeyon/fileupload/rce 等页面与对应 PoC 示例)【可无视】。
  • 新增/补充指纹与 PoC:新增帆软指纹 [fanruan-detect.yaml],帆软 OA designsavevg 文件上传 PoC 重命名为 [fanruan-oa-v9-designsavevg-fileupload.yaml]。

修复

  • 修复“同一 host:port 下不同 path 资产被错误归并(且去重不稳定)”的问题:现在对带非根路径的 URL 按 host:port+path 区分,避免不同 path 站点的指纹/requires 互相污染,并保证多 path 目标不会被去重吞掉、结果稳定。
  • 修复/更新多个 PoC 与指纹细节:用友 U8(nccloudgatewayservlet)RCE、Nacos 指纹、畅捷通 T+ SQLi、大华 ICC SQLi、海康 detection RCE、CNVD-2018-04757 等(见各对应 PoC 文件变更)。
  • 修复[安装报错] #202

优化/调整

  • 文档文件名整理:TCP/SSL 多步骤会话示例文档重命名为 [tcp-ssl-multi-step-session.md]。

v3.3.3 Afrog 官方圈

26 Jan 11:46

Choose a tag to compare

🔍 更新说明

本次更新集中对「致远 OA」与「畅捷通 T+」相关漏洞 PoC 进行了系统梳理:

  • 重新验证并修复了现有 afrog 内置检测规则
  • 整合补充了此前未收录的公开 PoC,提升覆盖范围
  • 完成了两个产品线的 PoC 规范化编写与整理

📊 资源统计

类别 数量
内置 PoC 28
星球精选 APC PoC 18
总计 44

注:部分 APC PoC 为对应内置规则的重构升级版本,检测更准确。

截图
1

v3.3.2

23 Jan 08:50

Choose a tag to compare

Afrog 核心功能更新说明

🔧 【新增】-test 参数(测试模式)

  • 功能说明:新增的 -test 参数用于开启测试模式,目前主要功能是暂时忽略 requires 行为,允许在尚未完成指纹识别的前提下,直接对指定 PoC 进行验证。

  • 设计理念

    • 使用 -test 而非 -ignore-requires 等名称,体现了作者的明确设计意图
    • 正式扫描/生产环境requires 是必须且强烈建议启用的机制,确保先通过指纹筛选再执行漏洞 PoC,以提高效率和准确性
    • 测试场景:跳过 requires 只应出现在 PoC 编写、调试、验证等“测试场景”中
    • 命名意义-test 明确表示这是一个“仅限测试场景使用”的模式,不鼓励长期忽略 requires

📝 【新增】response_text 核心功能

核心用意

将原始的 response.body(bytes 类型)智能解码成可直接阅读的字符串(text)。

解码策略

  • 优先级:优先尊重响应头中的 charset(如 GBK、UTF-8)
  • 容错机制:解码失败时回退到合理默认编码
  • 简化理解response_text ≈ 将 response.body 转换为人类可读的 UTF-8 友好字符串

解决的问题

  1. 编码兼容性:老系统/国内站点常使用 GBK、GB2312、Big5 等非 UTF-8 编码
  2. 匹配可靠性:直接在 bytes 上写正则或 contains 时,中文容易出现乱码或匹配失败
  3. 使用便利性:提供现成、可读、已解码的文本版本,简化中文/非 ASCII 文本的提取和匹配

使用场景指南

✅ 优先使用 response_text(强烈推荐场景)

  • 需要匹配/提取人类可读内容,尤其是中文(标题、正文、关键词)
  • 使用 submatch / rmatches / contains / icontains 等“文本语义”函数
  • 不确定响应编码,但希望结果是正常可读字符串

✅ 继续使用 response.body(默认推荐场景)

  • 处理二进制内容、协议数据、文件指纹
  • 需要字节级精确匹配(如 magic bytes、特定偏移)
  • 追求最高性能(bytes 操作更快)
  • 响应本身不是可解码文本(此时 response_text 可能为空或全是替换符)

选型口诀

默认用 response.body(原始、稳定、快)
只有涉及中文/可读文本匹配时,才切换到 response_text

🎯 【新增】rmatches 函数详解

功能说明

  • rmatches(text):专门对字符串(text)进行正则匹配,返回 True/False
  • 底层引擎:使用 regexp2(Re2 风格,支持更多 Perl 特性),语义更接近常见正则工具

三函数对比表

函数 输入类型 适合场景 典型用法示例 备注
bmatches bytes 字节级、二进制、编码无关 bmatches(response.body, b"\x00\x01") 最原始、最稳定
matches string 通用字符串匹配 "admin".matches(response_text) 基础字符串匹配
rmatches string (text) 中文、正文、已解码文本 "致远.*协同".rmatches(response_text) 推荐用于中文/标题/正文匹配

推荐写法(中文场景)

expression: response.status == 200 && "致远.*协同办公".rmatches(response_text)
expression: response_text.icontains("<title>致远协同")

📊 总结建议

黄金搭档组合

  • response_text:解决中文乱码问题,让文本匹配更可靠(中文指纹的救星)
  • rmatches:为文本匹配提供清晰、直观的正则函数,与 response_text 完美搭配

选型策略

  • 默认情况body + bmatches → 更原始、更稳定
  • 中文/正文场景response_text + rmatches → 更友好、更准确

按照以上指南,在编写规则时就不再需要纠结“到底用哪个匹配函数”和“中文为什么匹配不到”的问题了。

🛡️ 其他功能增强

服务指纹识别支持

支持常见服务指纹识别与弱口令爆破:

  • MySQL、MSSQL、Dameng(达梦)、FTP、IMap、Memcache、Mongodb、Oracle、Pop3
  • Postgresql、RDP、Redis、SMB、SMTP、SSH、Telnet、VNC、Winrm

性能说明:

  • 弱口令爆破行为为串行执行
  • 扫描时间平均 3-5分钟 不等(视目标服务和网络状况而定)

漏洞检测增强

新增漏洞支持:

  • CVE-2026-24061:Telnet 远程认证绕过漏洞
    afrog -t x.x.x.x:23 -s telnet