无事发生

  • 兄弟姐妹们不用看了,斗象删库了。
  • 找找其他工具吧,找到好用的扣我QAQ。

工具介绍

  • ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统旨在快速侦察与目标关联的互联网资产,构建基础资产信息库。 协助甲方安全团队或者渗透测试人员有效侦察和检索资产,发现存在的薄弱点和攻击面。

工具安装

Docker 安装可以参考往期文章:Docker 的简单使用

  • 从 GitHub 上拉取源码(一般需要科学上网):
1
git clone https://github.com/TophantTechnology/ARL.git
  • 进入下载好的目录中构建容器卷,使用 Compose 启动:

注:若是拉取镜像失败,大概是网卡问题,需要从 NAT 修改为桥接网卡。

1
cd ARL/docker/ ; docker volume create arl_db ; docker-compose up -d
  • 当出现 done 的时候,说明工具已经搭建完成了:

image-20231120145654449

  • 访问地址:https://127.0.0.1:5003,默认情况下是会出现报错的:

image-20231120145917027

  • 需要修改 docker-compose.yaml 中的参数:
1
2
3
4
5
6
7
8
9
10
11
web:
image: tophant/arl:${ARL_VERSION:-latest}
container_name: arl_web
restart: unless-stopped
depends_on:
- mongodb
- rabbitmq
ports:
#http 服务,默认不映射出来
- "5003:80"
#- "5003:443"
  • 再修改 config-docker.yaml 中的参数:
1
2
3
4
5
6
7
8
9
10
#Fofa API 配置项
FOFA:
URL: "https://fofa.info"
EMAIL: ""
KEY: ""

RISKIQ:
EMAIL: ""
KEY: ""

  • 重启工具即可(默认账密 admin/arlpass):
1
docker-compose down ; docker-compose up -d

image-20231120150526571

工具使用

任务选项 & 配置文件说明

  • GUI 界面,没啥参数,过。

任务选项

编号 选项 说明
1 任务名称 任务名称
2 任务目标 任务目标,支持IP,IP段和域名。可一次性下发多个目标
3 域名爆破类型 对域名爆破字典大小, 大字典:常用2万字典大小。测试:少数几个字典,常用于测试功能是否正常
4 端口扫描类型 ALL:全部端口,TOP1000:常用top 1000端口,TOP100:常用top 100端口,测试:少数几个端口
5 域名爆破 是否开启域名爆破
6 DNS字典智能生成 根据已有的域名生成字典进行爆破
7 域名查询插件 已支持的数据源为12个,alienvaultcertspottercrtshfofahunter
8 ARL 历史查询 对arl历史任务结果进行查询用于本次任务
9 端口扫描 是否开启端口扫描,不开启站点会默认探测80,443
10 服务识别 是否进行服务识别,有可能会被防火墙拦截导致结果为空
11 操作系统识别 是否进行操作系统识别,有可能会被防火墙拦截导致结果为空
12 SSL 证书获取 对端口进行SSL 证书获取
13 跳过CDN 对判定为CDN的IP, 将不会扫描端口,并认为80,443是端口是开放的
14 站点识别 对站点进行指纹识别
15 搜索引擎调用 利用搜索引擎搜索下发的目标爬取对应的URL和子域名
16 站点爬虫 利用静态爬虫对站点进行爬取对应的URL
17 站点截图 对站点首页进行截图
18 文件泄露 对站点进行文件泄露检测,会被WAF拦截
19 Host 碰撞 对vhost配置不当进行检测
20 nuclei 调用 调用nuclei 默认PoC 对站点进行检测 ,会被WAF拦截,请谨慎使用该功能

配置文件

  • Docker 环境配置文件路径:docker/config-docker.yaml
    配置 说明
    CELERY.BROKER_URL rabbitmq连接信息
    MONGO mongo 连接信息
    QUERY_PLUGIN 域名查询插件数据源Token 配置
    GEOIP GEOIP 数据库路径信息
    FOFA FOFA API 配置信息
    DINGDING 钉钉消息推送配置
    EMAIL 邮箱发送配置
    GITHUB.TOKEN GITHUB 搜索 TOKEN
    ARL.AUTH 是否开启认证,不开启有安全风险
    ARL.API_KEY arl后端API调用key,如果设置了请注意保密
    ARL.BLACK_IPS 为了防止SSRF,屏蔽的IP地址或者IP段
    ARL.PORT_TOP_10 自定义端口,对应前端端口测试选项
    ARL.DOMAIN_DICT 域名爆破字典,对应前端大字典选项
    ARL.FILE_LEAK_DICT 文件泄漏字典
    ARL.DOMAIN_BRUTE_CONCURRENT 域名爆破并发数配置
    ARL.ALT_DNS_CONCURRENT 组合生成的域名爆破并发数
    PROXY.HTTP_URL HTTP代理URL设置

使用示例

资产分组

  • 资产分组功能用于整合资产范围内的域名资产到资产组中,用户也可以对资产组范围内的资产进行监控,实时监控新增资产。
  • 新建资产组,可以通过批量导入的方式将资产范围内的域名资产添加到资产组中,一个资产组中可以包含多个域名信息。

image-20231120150738492
image-20231120150743353

添加监控任务

  • 通过指定资产组,和添加监控任务操作,可以下发域名资产的监控任务到 ARL 中,后台将会根据运行间隔对监控任务内的资产进行扫描,用于发现监控新增的资产。

image-20231120150748141
image-20231120150753341

  • 添加成功后,点击资产监控可以查看到所有的监控任务。

image-20231120150757839

  • 通过资产分组中的添加监控任务之后,资产监控中将会展示正在运行的监控任务,运行的次数,运行间隔等信息,用户也可以通过资产组范围ID来检索监控范围内的相关资产内容。
  • 在任务管理中也会添加监控任务:

image-20231120150801666

POC信息

  • 点击 PoC 信息,进行 ARL 自带的 POC 加载,不然后续策略配置时多数选项为空:

image-20231120150806040
image-20231120150809879

新建策略

  • 通过创建不同的策略,可以对资产进行不同方案的扫描,可以针对不同类型的资产,根据资产的功能创建指定的策略。

image-20231120150812944
image-20231120150816504

  • 设置策略的名称和策略描述,描述可以不用填写:

image-20231120150819655

域名和IP配置

  • 域名爆破类型:选择需要的字典
    • 大字典:常用 2 万字典大小;
    • 测试:少数几个字典,常用于测试功能是否正常。

image-20231120150824971

  • 端口扫描类型:
    • 测试:少数几个端口
    • TOP100:常用 top 100 端口
    • TOP1000:常用 top 1000 端口
    • 全部端口:所有端口 1-65535

image-20231120150828487

  • 其余选项(按需选择):
    • 域名爆破:是否开启域名爆破
    • DNS字典智能生成:根据已有的域名生成字典进行爆破
    • Riskiq 调用:利用RiskIQ API进行查询域名
    • ARL 历史查询:对arl历史任务结果进行查询用于本次任务
    • crt.sh 调用:利用 crt.sh 网站 API 进行子域名发现
    • 端口扫描:是否开启端口扫描,不开启站点会默认探测80,443
    • 服务识别:是否进行服务识别,有可能会被防火墙拦截导致结果为空
    • 操作系统识别:是否进行操作系统识别,有可能会被防火墙拦截导致结果为空
    • Fofa IP查询:利用Fofa API进行查询域名
    • SSL 证书获取:对端口进行SSL 证书获取
    • 服务(python)识别:使用python脚本进行服务识别

image-20231120150832036

IP高级配置

  • 暂不理会。

站点和风险配置

  • 站点识别:对站点进行指纹识别
  • 搜索引擎调用:利用搜索引擎结果爬取对应的URL
  • 站点爬虫:利用静态爬虫对站点进行爬取对应的URL
  • 站点截图:对站点首页进行截图
  • 文件泄露:对站点进行文件泄露检测,会被 WAF 拦截
  • nuclei 调用:使用 nuclei 扫描器

image-20231120150837608

POC配置

  • 按需选择:

image-20231120150840801

弱口令爆破配置

  • 按需选择:

image-20231223164526997

资产组配置

  • 选择对应资产组:

image-20231120150844984

  • 可以不指定,指定了有限制。
  • 添加完点击确定即可:

image-20231120150847593

任务下发

  • 任务下发对资产进行扫描和探测:

image-20231120150850904

  • 任务类型:
    • 资产侦查任务:目标支持IP、IP段和域名,对资产进行端口识别、服务识别、系统识别等。
    • 风险巡航任务:目标需要输入确定的地址(IP或域名),对资产进行风险扫描。

image-20231120150854554

  • 这里我们选择资产侦查任务,输入目标后点击确定:

image-20231120150857755

  • 任务下发成功后,可以到任务管理里查看:

image-20231120150900777

  • 结果如下:

image-20231120151456624

官方挖坑补充

  • ARL 官方总体更新速度还是很勤奋得,勤奋得让人痛苦。
  • 后期使用大致会遇到这么几个问题:
    • fofa.info -> fofa.so 报错
    • nuclei 消失
  • 我在 GitHub 上翻了很久的issue,发出一句感慨:cao!
  • 解决方式也很简单,先去 dockerhub 上搜 arl:

image-20231223172720719

  • 记住,pull 的是第二个,不是第一个。
  • pull 完成后,修改 docker-compose.yml 内容:
1
tophant/arl:${ARL_VERSION:-latest} -> tophant/arl:v2.6(最新版即可)
  • 之后再启动即可。