查看原文
科技

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

马云卓 洞源实验室 2024-07-06


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/initdocker exec -it arl bash# docker内运行,通过源码安装ARLcurl https://raw.githubusercontent.com/adysec/ARL/master/misc/setup-arl.sh >install.shbash install.shexit

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

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


DNS爆破优化

本机安装smartdns,以ubuntu为例。

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

查看服务运行状态

systemctl status arl-websystemctl status arl-workersystemctl status arl-worker-githubsystemctl status arl-scheduler

登录并修改密码

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

多用户登录

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

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

docker exec -ti arl mongouse arldb.user.insert({ username: '用户名', password: hex_md5('arlsalt!@#'+'密码')})
优化字典

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

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

进入容器修改第三方网络搜索引擎接口docker exec -it arl bashcd /opt/ARL/appvi config.yamlEsc+: wq 保存退出docker restart arl#重启容器

修改API接口

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


ARL安装完成

指纹已经添加。

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


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

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

登录信息:

https://ip:13443/

用户名:admin@gkd.com

密码:Oxgkd123

记得修复改密码!!!

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

然后获取API密钥。


AWVS误报太多

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


0x04  联动脚本


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

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

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

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

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


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存