Skip to content

Latest commit

 

History

History
680 lines (586 loc) · 27.6 KB

File metadata and controls

680 lines (586 loc) · 27.6 KB

afrog

afrog

用于漏洞赏金、测试和红队的安全工具

English中文

下载WikiAfrog PoC 规则编写权威指南

PoC 贡献者

Typora-Logo
不动明王
Typora-Logo
雪山
Typora-Logo
White-hua
Typora-Logo
123456
Typora-Logo
ifofor
Typora-Logo
Air
Typora-Logo
执着
Typora-Logo
purple-WL
Typora-Logo
throat
Typora-Logo
Secx
Typora-Logo
冰河
Typora-Logo
Sheen
Typora-Logo
a16
Typora-Logo
A1
Typora-Logo
rainbow2972
Typora-Logo
wuha0926
Typora-Logo
茄子
Typora-Logo
lei_sec
Typora-Logo
G-H-Z
Typora-Logo
wh1te
Typora-Logo
清月
Typora-Logo
york
Typora-Logo
7eleven.eth
Typora-Logo
Double...
Typora-Logo
ICEY_
Typora-Logo
lazy
Typora-Logo
free2e
Typora-Logo
m4sk
Typora-Logo
沉默树人
Typora-Logo
陈麻子
Typora-Logo
leonardo-o1
Typora-Logo
江湖人称魏...
Typora-Logo
若兮风
Typora-Logo
-sudo
Typora-Logo
Cuerz
Typora-Logo
laohuan12138
Typora-Logo
exp0l0zzz
Typora-Logo
1derian
Typora-Logo
CMDB-M
Typora-Logo
li1u
Typora-Logo
oxsonder
Typora-Logo
Zhiliao
Typora-Logo
Typora-Logo
HuiTaiL
Typora-Logo
Miracles666
Typora-Logo
Observer
Typora-Logo
黑熊
Typora-Logo
TryA9ain
Typora-Logo
fgz00
Typora-Logo
Y3y1ng
Typora-Logo
二大爷
Typora-Logo
Wans
Typora-Logo
海边的小米粥
Typora-Logo
Wen
Typora-Logo
SULAB
Typora-Logo
ZacharyZcR
Typora-Logo
Superhero

什么是 afrog

afrog 是一个高性能的漏洞扫描器,具有快速稳定的特点。它支持用户自定义 PoC,并内置了多种类型,如 CVE、CNVD、默认密码、信息泄露、指纹识别、未授权访问、任意文件读取和命令执行。使用 afrog,网络安全专业人员可以快速验证和修复漏洞,从而提升安全防护能力。

功能特性

  • 开源
  • 快速、稳定、误报率低
  • 详细的 HTML 漏洞报告
  • 可自定义且稳定更新的 PoCs
  • 活跃的社区交流群

安装

前置要求

  • Go 版本 1.19 或更高版本。

您可以通过以下方式安装:

二进制文件

$ https://github.com/zan8in/afrog/releases/latest

Github

$ git clone https://github.com/zan8in/afrog.git
$ cd afrog
$ go build cmd/afrog/main.go
$ ./afrog -h

Go

$ go install -v github.com/zan8in/afrog/v3/cmd/afrog@latest

运行 afrog

默认情况下,afrog 会扫描所有内置的 PoCs,如果发现任何漏洞,它会自动创建一个以扫描日期为文件名的 HTML 报告。

afrog -t https://example.com

运行 afrog 时的警告

如果您看到错误消息:

[ERR] ceye reverse service not set: /home/afrog/.config/afrog/afrog-config.yaml

这意味着您需要修改配置文件

要执行自定义 PoC 目录,您可以使用以下命令:

afrog -t https://example.com -P mypocs/

使用命令 -s keyword 对所有 PoCs 进行模糊搜索并扫描搜索结果。可以使用多个关键词,用逗号分隔。例如:-s weblogic,jboss

afrog -t https://example.com -s weblogic,jboss

使用命令 -S keyword 根据严重程度级别扫描漏洞。严重程度级别包括:infolowmediumhighcritical。例如,要仅扫描高危和严重漏洞,请使用命令 -S high,critical

afrog -t https://example.com -S high,critical

您也可以同时扫描多个 URL。

afrog -T urls.txt

指纹门控(requires)

弱口令/爆破/默认口令等高成本 PoC 通常建议只在命中指定指纹后执行。Afrog 支持在 PoC info 中声明以下字段:

  • requires:依赖的指纹标签(例如 mysqlftpnacos
  • requires-mode:门控模式(strict/opportunistic),默认 strict

当 PoC 使用 requires-mode: strict 时,如果运行时禁用了指纹阶段(-nf),或目标未命中对应指纹,该 PoC 将被跳过。完整用法与问题排查请参考:requires 指纹门控:用法教程与问题答疑

-web 命令

-web 命令允许将 afrog 扫描的漏洞持久存储到 SQLite3 数据库中。通过浏览器访问 http://x.x.x.x:16868 可以访问漏洞报告网页,用户可以进行简单的关键词搜索并按漏洞严重程度过滤结果。

afrog -web

配置文件

第一次启动 afrog 时,它会自动创建一个名为 afrog-config.yaml 的配置文件,该文件将保存在当前用户目录下的 $HOME/.config/afrog/afrog-config.yaml

以下是示例配置文件:

reverse:
  ceye:
    api-key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    domain: "xxxxxx.cey2e.io"
  dnslogcn:
    domain: dnslog.cn
  alphalog:
    domain: dnslogxx.sh
    api_url: "http://dnslogxx.sh/"
  xray:
    x_token: "xraytest"
    domain: dnslogxx.sh
    api_url: "http://x.x.0.x:8777"
  revsuit:
    token: "xx"
    dns_domain: "log.xx.com"
    http_url: "http://x.x.x.x/log/"
    api_url: "http://x.x.x.x/helplog"

reverse 是一个反向连接平台,用于验证无法回显的命令执行漏洞。目前只有 ceye 可以用于验证。

Ceye 配置

要获取 ceye,请按照以下步骤操作:

  • 前往 ceye.io 网站并注册账户。
  • 登录并进入个人设置页面。
  • 复制 domainapi-key 并在 afrog-config.yaml 文件中正确配置它们。

Dnslogcn

无需配置,但不稳定 dnslog.cn

Alphalog

需要构建服务 alphalog

Xray

需要构建服务 xray

Revsuit

需要构建服务 Revsuit教程

Json 输出(面向开发者)

Json

可选命令:-json -j,将扫描结果保存到 JSON 文件。JSON 文件默认包含以下内容:targetfulltargetidinfo。info 字段包含以下子字段:nameauthorseveritydescriptionreference。如果您想保存 requestresponse 内容,请使用 -json-all 命令参数。

afrog  -t https://example.com -json result.json
afrog  -t https://example.com -j result.json

警告

JSON 文件的内容会实时更新。但是有一个重要的注意事项:在扫描完成之前,如果开发者想要解析文件内容,他们需要自己在文件末尾添加一个 ']' 符号,否则会导致解析错误。当然,如果您等待扫描完成后再解析文件,就不会出现这个问题。

JsonAll

可选命令:-json-all -ja-json-all-json 命令之间的唯一区别是 -json-all 将所有漏洞结果(包括 requestresponse)写入 JSON 文件。

afrog -t https://example.com -json-all result.json
afrog -t https://example.com -ja result.json

截图

作为库使用

简单示例

详细的 SDK 使用指南:

更多示例:

讨论群

要加入微信上的 afrog 交流群,请先添加 afrog 个人账户并标记为 afrog。然后,管理员会将您添加到群中。

404Starlink

afrog 已加入 404Starlink

免责声明

此工具仅用于合法授权的企业安全建设目的。如果您想测试此工具的功能,您应该自己构建目标环境。

为了防止恶意使用,此项目中包含的所有 PoCs 都是漏洞的理论评估。该工具不会利用漏洞、对目标发起真正的攻击或利用。

在使用此工具进行漏洞扫描时,重要的是确保您的行为符合当地法律法规,并且您已获得充分的授权。请勿扫描未经授权的目标

如果您在使用此工具时从事任何非法行为,您将对任何相应的后果承担全部责任,我们不会承担任何法律或连带责任。

在安装和使用此工具之前,请仔细彻底地阅读每个条款。可能会以粗体或下划线突出显示可能显著影响您的权利和利益的限制、免责声明或其他条款,以引起您的注意。除非您已完全阅读、完全理解并同意本协议的所有条款,否则请勿安装或使用此工具。您使用该工具或以任何其他明示或暗示的方式接受本协议将被视为您承认并同意受本协议约束。