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

释放双眼,带上耳机,听听看~!

 

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新增资产后会进行扫描。

 

作者:马云卓
2024年7月8日
洞源实验室 

给TA买糖
共{{data.count}}人
人已赞赏
行业热点

【论文速读】| JADE:用于大语言模型的基于语言学的安全评估平台

2024-7-15 18:12:30

行业热点

喜讯!安全狗入选福建省通信管理局网络数据安全技术支撑单位

2024-7-15 18:12:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索