长亭百川云 - 文章详情

ARL联动AWVS实现自动化漏洞扫描

洞源实验室

80

2024-07-13

0x01  前言

很多场景下需要大范围的扫描漏洞和快速排查互联网暴露面的漏洞,需要使用这种自动化的手段,常规渗透测试的找互联网暴露面是,域名>子域名>IP>C段>端口,可以手动收集,也可以借助一些网络搜索引擎(fofa、zoomeye、hunter等)然后进行指纹识别、存活探测等等,再用xray或者nuclei、afrog之类的工具过一遍,手工渗透一下。

大概就是这样一个流程。

后面逐渐的出现了很多自动化的工具,直接从网络搜索引擎拉资产,然后子域、端口、指纹、各种扫描器、弱口令,一条龙过一遍。

像这种自动化的方案有很多套,比如:Goby+xray或者Goby+AWVS、ARL+XRAY、ARL+AWVS,还有Rengine这种赏金自动化工具,主要的流程还是各种自动化信息收集最后漏洞扫描,通过工作流把不同的工具组合起来,使这个流程自动化。

这里我们主要实践一下ARL和AWVS联动去进行漏洞扫描,为什么要用这一套方案呢,主要还是用过很多后发现这这一套算是比较好用的一个方案,ARL可以做这些信息收集的工作,同时在新一点的版本都内置了Nuclei,可以对一些通用漏洞做快速扫描,然后配合AWVS扫一些WEB应用的漏洞。后面也可以根据自己的需要加入XRAY、Aforg,再或者一些爬虫,配合自己的POC进行扫描。都很自由可以通过小脚本互相联动起来。

0x02  准备工作

两台linux服务器:(AWVS比较占配置)

两台:64位+2H4G(最低配置要求)

使用的两台vps,一台国内搭建灯塔系统,一台国外vps作为漏扫服务器

ARL使用Ubuntu,AWVS能跑docker就行

灯塔ARL【资产收集】:https://github.com/adysec/ARL

AWVS【漏洞扫描】

这里我用了两台国外的VPS,国外找github学生包白嫖的各种厂家账号,十几块钱可以买一二百刀的余额,用完连账号一起丢了。

0x03  工具安装配置

Docker 内源码安装(最新版)

`docker run --privileged -it -d -p 5003:5003 --name=arl --restart=always centos/usr/sbin/init``docker exec -it arl bash``# docker内运行,通过源码安装ARL``curl https://raw.githubusercontent.com/adysec/ARL/master/misc/setup-arl.sh >install.sh``bash install.sh``exit`

docker内执行后直接exit退出即可。

Ubuntu 下可以直接执行 apt-get install docker.iodocker-compose -y 安装相关依赖。

DNS爆破优化

本机安装smartdns,以ubuntu为例。

`apt install smartdns -y``curl https://github.com/adysec/ARL/raw/master/tools/smartdns.conf >/etc/smartdns/smartdns.conf``systemctl restart smartdns``docker exec -it arl bash``#docker内运行``tee /etc/resolv.conf <<"EOF"``nameserver 本机ip``nameserver 180.76.76.76``nameserver 1.2.4.8``nameserver 1.1.1.1``EOF`

查看服务运行状态

`systemctl status arl-web``systemctl status arl-worker``systemctl status arl-worker-github``systemctl status arl-scheduler`

登录并修改密码

`url:http://127.0.0.1:5003``登录凭证:admin/arlpass`

多用户登录

由于灯塔本身没有设计用户管理的功能,而且是单点登录,如果有多用户登录需求的需要到数据库中添加用户。

这里我们添加一个用户方便后续其他工具调用使用。

`docker exec -ti arl mongo``use arl``db.user.insert({ username: '用户名', password: hex_md5('arlsalt!@#'+'密码')})`

优化字典

ARL的app/dicts目录下放着子域名字典和一些文件扫描,可以自己对这些字典文件进行修改扩充,这里我们加强一下子域名字典。

默认只有2W,加强到八万多,然后放到容器里面。

`进入容器修改第三方网络搜索引擎接口``docker exec -it arl bash``cd /opt/ARL/app``vi config.yaml``Esc+: wq 保存退出``docker restart arl``#重启容器`

修改API接口

配置完要注意开启这些插件。

ARL安装完成

指纹已经添加。

nuclei使用最新版本(通过github action每日更新)。

安装AWVS(很坑,docker拉取方便一点)

`docker pull 0xgkd/awvs``docker run -it -d -p 13443:3443 0xgkd/awvs`

登录信息:

https://ip:13443/

用户名:admin@gkd.com

密码:Oxgkd123

记得修复改密码!!!

登录后可以修改个人信息,将界面改为中文,保存的时候随便改一下名字 就可以保存了。

然后获取API密钥。

AWVS误报太多

可以先扫描,然后自己创建扫描策略,将一些误报多的漏洞排除,比如一些TLS之类的漏洞、HTTP不安全之类,直接就不选了。

0x04  联动脚本

先创建一个要扫描的资产分组。

创建一个扫描策略,全都选择了,这里域名爆破和端口选大字典和全端口,这里测试我就选了测试小字典。

然后下发任务,根据情况来选择,可以设置风险巡航任务还是资产侦察,巡航的话会持续进行扫描。我这里使用的是监控任务,持续对这个域名进行扫描。

这套扫描方法主要找的是一些高端口资产和比较偏的关联资产,主要还是信息收集,收集的信息越多,发现的问题越多。

运行脚本,开始循环监测,ARL新增资产后会进行扫描。

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

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