简介
旨在快速侦察与目标关联的互联网资产,构建基础资产信息库。 协助甲方安全团队或者渗透测试人员有效侦察和检索资产,发现存在的薄弱点和攻击面。
特性
- 域名资产发现和整理
- IP/IP 段资产整理
- 端口扫描和服务识别
- WEB 站点指纹识别
- 资产分组管理和搜索
- 任务策略配置
- 计划任务和周期任务
- Github 关键字监控
- 域名 / IP 资产监控
- 站点变化监控
- 文件泄漏等风险检测
系统要求
目前暂不支持 Windows。Linux 和 MAC 建议采用 Docker 运行,系统配置最低 2 核 4G。
由于自动资产发现过程中会有大量的的发包,建议采用云服务器可以带来更好的体验。
Docker 安装
curl -fsSL https://get.docker.com | bash -s docker
Docker-compose 安装
Debian 或 Ubuntu:
apt-get install docker-compose
Centos:
yum install docker-compose
ARL 安装
docker pull tophant/arl
git clone https://github.com/TophantTechnology/ARL
cd ARL/docker/
docker volume create --name=arl_db
docker-compose up -d
一步到胃的命令
apt-get update && apt-get install curl wget git -y && curl -fsSL https://get.docker.com | bash -s docker && apt-get install docker-compose -y && docker pull tophant/arl && git clone https://github.com/TophantTechnology/ARL && cd ARL/docker/ && docker volume create --name=arl_db && docker-compose up -d
登录页面
默认端口 5003 (https), 默认用户名密码 admin/arlpass

任务页面

子域名页面

站点页面

资产监控页面

策略页面

筛选站点进行任务下发

计划任务

GitHub 监控任务

任务选项说明
编号 选项 说明
1 任务名称 任务名称
2 任务目标 任务目标,支持 IP,IP 段和域名。可一次性下发多个目标
3 域名爆破类型 对域名爆破字典大小,大字典:常用 2 万字典大小。测试:少数几个字典,常用于测试功能是否正常
4 端口扫描类型 ALL:全部端口,TOP1000:常用 top 1000 端口,TOP100:常用 top 100 端口,测试:少数几个端口
5 域名爆破 是否开启域名爆破
6 DNS 字典智能生成 根据已有的域名生成字典进行爆破
7 Riskiq 调用 利用 RiskIQ API 进行查询域名
8 ARL 历史查询 对 arl 历史任务结果进行查询用于本次任务
9 crt.sh 调用 利用 crt.sh 网站 API 进行子域名发现
10 端口扫描 是否开启端口扫描,不开启站点会默认探测 80,443
11 服务识别 是否进行服务识别,有可能会被防火墙拦截导致结果为空
12 操作系统识别 是否进行操作系统识别,有可能会被防火墙拦截导致结果为空
13 SSL 证书获取 对端口进行 SSL 证书获取
14 站点识别 对站点进行指纹识别
15 搜索引擎调用 利用搜索引擎结果爬取对应的 URL
16 站点爬虫 利用静态爬虫对站点进行爬取对应的 URL
17 站点截图 对站点首页进行截图
18 文件泄露 对站点进行文件泄露检测,会被 WAF 拦截
19 Host 碰撞 对 vhost 配置不当进行检测
配置参数说明
Docker 环境配置文件路径:
docker/config-docker.yaml
配置 说明
CELERY.BROKER_URL rabbitmq 连接信息
MONGO mongo 连接信息
RISKIQ riskiq API 配置信息
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 设置
忘记密码重置
当忘记了登录密码,可以执行下面的命令,然后使用 admin/admin123 就可以登录了。
docker exec -ti arl_mongodb mongo -u admin -p admin
use arl
db.user.drop()
db.user.insert({ username: 'admin', password: hex_md5('arlsalt!@#'+'admin123') })
ARL 项目
https://github.com/TophantTechnology/ARL
ARL-Distributed 项目 (分布式)
https://github.com/1c3z/ARL-Distributed