Afrog 高性能漏洞扫描器完整使用教程
一、工具简介
Afrog 是一款基于 Go 语言开发的高性能漏洞扫描器,专为安全测试人员设计,用于漏洞赏金、渗透测试和红队演练。其核心优势包括:
-
PoC 库丰富:内置近 1000+ 检测模板,覆盖 CVE/CNVD、默认口令、信息泄露、未授权访问、命令执行等
-
高性能:并发扫描、低误报率、生成详细 HTML 报告
-
灵活定制:支持自定义 PoC、关键字/等级筛选、SDK 集成
-
活跃社区:微信交流群支持,持续更新 PoC 库
二、安装部署
1. Go 环境安装(推荐)
# 安装最新版本(推荐)
go install -v github.com/zan8in/afrog/v3/cmd/afrog@latest
# 验证安装
afrog -h
前提:需提前安装 Go 语言环境(版本建议 1.18+)
2. 二进制安装(快速部署)
# 从 GitHub Releases 下载对应平台二进制
wget https://github.com/zan8in/afrog/releases/latest/download/afrog_linux_amd64.tar.gz
# 解压并赋予执行权限
tar zxvf afrog_*.tar.gz
chmod +x afrog
# 移动到系统 PATH
sudo mv afrog /usr/local/bin/
3. 源码编译(定制化)
# 克隆仓库
git clone https://github.com/zan8in/afrog.git
cd afrog
# 编译
go build cmd/afrog/main.go
# 生成可执行文件
./afrog -h
三、关键配置(避坑指南)
1. 反向连接平台配置(必做)
问题:首次运行会出现 [ERR] ceye reverse service not set 警告,影响无回显漏洞检测。
解决方案:
-
访问 ceye.io 注册账号
-
进入个人设置,复制 domain 和 api-key
-
编辑配置文件(首次运行后自动生成):
# 配置文件路径
vim $HOME/.config/afrog/afrog-config.yaml
-
填入以下内容:
reverse:
ceye:
api-key: "你的ceye api-key"
domain: "你的ceye domain(如xxx.ceye.io)"
-
保存后重启 Afrog,警告消失 ✅
2. 更新 PoC 库
定期更新确保检测最新漏洞:
# 更新 PoC 库
afrog --update-poc
# 或简写
afrog --up
3. 版本更新
# 从 v2.1.0 开始支持自动更新(需可执行文件在 $PATH 中)
afrog --update
# 若不在 PATH 中,先移动再更新
sudo mv afrog /bin/
afrog --update
四、核心功能使用
1. 扫描单个目标
# 默认扫描全部 PoC,结果保存在 reports/ 目录
afrog -t http://example.com
# 指定输出报告名称
afrog -t http://example.com -o my_report.html
2. 批量扫描
将目标 URL 放入文本文件(每行一个):
# urls.txt 内容示例
http://target1.com
https://target2.com:8443
http://192.168.1.1
# 执行批量扫描
afrog -T urls.txt
3. 按关键字筛选扫描
模糊搜索 PoC 名称,只扫描匹配项:
# 扫描 WebLogic 和 JBoss 相关漏洞
afrog -t http://example.com -s weblogic,jboss
# 支持多个关键字,逗号分隔
4. 按漏洞等级扫描
只扫描高危及以上漏洞(节省时间与资源):
# 等级:info(信息)、low(低危)、medium(中危)、high(高危)、critical(严重)
afrog -t http://example.com -S high,critical
五、高级用法
1. 指定自定义 PoC 目录
# 使用自己的 PoC 目录
afrog -t http://example.com -P /path/to/custom_pocs/
2. Web 持久化界面
启动 Web 服务,将漏洞存入 SQLite3 数据库,支持浏览器查看与搜索:
# 启动 Web 服务,监听 0.0.0.0:16868
afrog -web
# 浏览器访问
http://x.x.x.x:16868
功能:支持关键词搜索、按等级筛选、历史记录持久化
3. SDK 集成(Go 项目嵌入)
package main
import (
"log"
"path/filepath"
"github.com/zan8in/afrog/v3"
)
func main() {
// 创建扫描选项
options := afrog.NewSDKOptions()
// 设置目标
options.Targets = []string{"https://example.com"}
// 设置 PoC 路径(必需)
pocPath, _ := filepath.Abs("./pocs/afrog-pocs")
options.PocFile = pocPath
// 配置参数
options.Concurrency = 10 // 并发数
options.RateLimit = 50 // 速率限制
options.Timeout = 10 // 超时时间
// 创建并运行扫描器
scanner, err := afrog.NewSDKScanner(options)
if err != nil {
log.Fatal(err)
}
defer scanner.Close()
scanner.Run()
// 获取结果
results := scanner.GetResults()
log.Printf("发现 %d 个漏洞\n", len(results))
}
特点:支持结构化返回、实时结果流、OOB 检测、线程安全
六、实战案例
场景 1:企业内网快速风险排查
# 步骤 1:使用 Nmap 探测资产存活
nmap -sV -p 80,443,8080,8443 192.168.1.0/24 -oA assets
# 步骤 2:提取开放 Web 服务的 IP
grep "open" assets.gnmap | awk '{print $2}' > web_targets.txt
# 步骤 3:Afrog 批量扫描高危漏洞
afrog -T web_targets.txt -S high,critical -o inner_scan.html
# 步骤 4:查看报告,优先修复高危漏洞
firefox inner_scan.html
场景 2:SRC 漏洞挖掘(关键字精准打击)
# 扫描目标站点中常见的注入和逻辑漏洞
afrog -t https://target.com -s sql,injection,xss,upload,unauth -o bug_bounty.html
场景 3:IoT 设备固件漏洞检测
# 针对路由器、摄像头等设备的默认口令和已知 CVE
afrog -t http://192.168.1.1 -s router,camera,default,cve-2023 -o iot_scan.html
七、注意事项(⚠️ 必读)
-
法律合规:仅限授权测试,禁止扫描未授权目标
-
JSON 报告修复:若扫描中断,需在 JSON 文件末尾手动添加
]才能正常解析 -
网络依赖:部分 PoC 需要外连(如 Ceye),确保网络可达
-
资源消耗:高并发扫描可能触发目标 WAF/IPS,合理设置
-rate-limit -
误报处理:Afrog 误报率较低,但仍需人工验证高危漏洞
八、报告解读
扫描完成后,Afrog 自动生成 HTML 报告,包含:
-
概览:总漏洞数、等级分布、耗时
-
详情:漏洞名称、等级、URL、请求/响应数据、修复建议
-
交互:支持折叠、搜索、筛选
示例报告位置:reports/ 目录下,文件名含扫描时间戳。
九、社区与支持
-
GitHub 仓库:https://github.com/zan8in/afrog
-
微信交流群:添加 Afrog 官方号,备注“afrog”进群
-
PoC 贡献:欢迎提交自定义 PoC 到社区
总结:Afrog 是新一代高性能漏洞扫描器,适合安全研究人员快速定位风险。掌握其配置与高级用法,可显著提升漏洞挖掘效率。建议从批量扫描和等级筛选入手,逐步深入到 SDK 集成与 PoC 定制。
更多推荐
所有评论(0)