长亭百川云 - 文章详情

afrog-漏洞扫描(挖洞)工具【了解安装使用详细】

大象只为你

338

2024-07-04

**★★**免责声明★★

文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、afrog介绍

afrog 是一款性能卓越、快速稳定、PoC可定制的漏洞扫描(挖洞)工具,PoC涉及CVE、CNVD、默认口令、信息泄露、指纹识别、未授权访问、任意文件读取、命令执行等多种漏洞类型,帮助网络安全从业者快速验证并及时修复漏洞。

afrog有以下优点:

  • 开源

  • 快速、稳定、误报率低

  • 详细的 HTML 漏洞报告

  • 可定制且可稳定更新的 PoC

  • 活跃的社区交流小组

项目地址:https://github.com/zan8in/afrog

2、环境准备

基础环境是kali linux ,ip: 192.168.242.4

如果没有kali系统虚拟机,可关注公众号:大象只为你,后台回复:【虚拟机】获取。

afrog的安装使用需要go,go版本要求1.19 或更高版本,所以需要先安装go。

2.1、安装go

在kali linux系统下安装会比较简单,使用apt-get命令,安装完成就可使用,不需要再设置环境变量等,安装命令如下:

\# 切换到root角色  
sudo su  
\# 更新资源  
apt-get update  
\# 安装golang  
apt-get install golang-go  
\# 查看安装版本  
go version

3、安装afrog

安装afrog官方有提供3个方式,编译好的Binary直接使用、Github下载源码编译和Go方式安装。本文给前面两种方式,Github源码安装是会比较麻烦,过程中也可能会出现异常情况。

3.1、编译好的Binary直接使用

github项目地址看到右侧看到Releases点进去下载最新的afrog_xxx_linux_amd64.zip 或直接访问 https://github.com/zan8in/afrog/releases 选择版本下载,然后复制到kali系统、解压即可用。

\# 创建目录,复制下载的编译好的zip包到该目录下  
mkdir afrog  
\# 切换到afrog目录下  
cd afrog  
\# 解压压缩包  
unzip afrog\_3.0.7\_linux\_amd64.zip   
\# 删除压缩包  
rm \-rf afrog\_3.0.7\_linux\_amd64.zip  
\# 查看版本号验证命令是否可正常使用  
./afrog \-v  
\# 更多命令使用参数-h查看  
./afrog \-h
3.2、Github下载源码编译

方便工具使用管理,一般会单独放在一个目录下,比如tools,安装命令如下:

如果git clone方式,因网络问题无法正常下载,可直接到github上下载后再复制到kali 虚拟机。

\# 切换到tools目录  
cd tools  
\# 下载afrog源码  
git clone https://github.com/zan8in/afrog.git  
\# 切换到afrog源码目录  
cd afrog  
\# 方式一:生成的执行文件是afrog【建议使用】  
go build \-o afrog cmd/afrog/main.go    
\# 方式二:生成的执行文件是main  
go build cmd/afrog/main.go

在编译这个步骤预计10~20分钟,具体看网速而定,如果网速不好的话,这个步骤会卡很久,卡很久可能是异常了【详见3.3、Github下载源码编译异常处理】。

编译完后就可以使用命令确认是否正常使用。

\# 查看版本号  
./afrog \-v  
\# 更多命令使用参数-h查看  
./afrog \-h
3.3、Github下载源码编译异常处理

卡在 go: downloading github.com/zan8in/rawhttp 这个地方很久没反应

如果没有使用Ctrl+C命令强制停止,最后会有异常信息如下:

....略  
whttp/@v/v0.0.0-20230318132449-31532db674af.zip": dial tcp 172.217.163.49:443: connect: connection refused  
pkg/runner/celprogram.go:18:2: github.com/zan8in/oobadapter@v0.0.0-20240611013553-c79cb5eec939: Get "https://proxy.golang.org/github.com/zan8in/oobadapter/@v/v0.0.0-20240611013553-c79cb5eec939.zip": dial tcp 142.251.42.241:443: connect: connection refused  
pkg/runner/cel.go:15:2: google.golang.org/genproto/googleapis/api@v0.0.0-20230530153820-e85fd2cbaebc: Get "https://proxy.golang.org/google.golang.org/genproto/googleapis/api/@v/v0.0.0-20230530153820-e85fd2cbaebc.zip": dial tcp 142.251.42.241:443: connect: connection refused

把以上报错信息复制去ChatGPT给出的说明是安装和编译 afrog 时遇到了连接问题,无法从 Go 代理服务器下载所需的包。这可能是由于网络问题或代理服务器的问题。

尝试在浏览器中打开 https://proxy.golang.org 是能正常访问。采用更改 Go 代理服务器的方式解决

\# 执行该语句后再重新编译afrog就正常了  
go env \-w GOPROXY\=https://goproxy.cn,direct

4、使用说明

使用命令可用 ./afrog -h 来查看,这里只列出1个命令和对应2个场景靶场使用示例。afrog和其他一些工具的联动后面我自己测试使用再分享出来。更多用法请参考wiki:https://github.com/zan8in/afrog/wiki

在扫描之前,需要先配置afrog-config.yaml

4.0、配置afrog-config.yaml

配置文件目录在$HOME/.config/afrog/afrog-config.yaml 。详细可参考:https://github.com/zan8in/afrog/wiki/Configuration

至少需要配置ceye,api-key和domain 从http://ceye.io/ 获取,自己注册账号。

使用命令vim 打开配置文件,按i键进入编辑,退出编辑按esc,保存退出输入:wq!,仅退出不保存输入:q!

4.1、使用命令

扫描单个目标:

默认情况下,afrog 会扫描所有内置 PoC,如果发现任何漏洞,它会自动创建 HTML 报告,以扫描日期作为文件名,并且在web端【需启用web服务才可看】展示出来;如果没有发现漏洞不会生成报告。

./afrog \-t https://example.com

扫描的结果在/reports目录下,或使用命令./afrog --web 启动web服务查看漏洞报告。

注意:扫描结果不一定完全准确,可结合其他信息收集或检测一起。

以下演示基于在线靶场:https://vulfocus.cn/,靶场启动后20分钟内有效。

4.2、无漏洞示例

在线靶场搜索SQL注入编号:CVE-2022-28346,启动靶场。

执行命令结果如下:

到reports目录下查看没有生成xxx.html文件。

****分析原因: 漏洞编号CVE_2022_28346在afrog收录的pocs里面有没有记录,所以就扫描不出来。

4.3、有漏洞示例

先在github上的pocs记录上取一个CVE-2020-14750,再到在线靶场搜索,启动靶场,得到测试地址。

执行命令结果如下:

访问web端,可以看到列出结果和控制台一样的记录,只不过web端会有更详细的记录可以查看。

以弱口令登录为示例,查看详细,会发现测试弱口令登录成功的账号密码都提供出来了。

5、我的公众号

敬请关注我的公众号:大象只为你,持续更新网安相关知识中......

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2