跳到主要内容

ARL

安装配置

ARL使用文档:https://tophanttechnology.github.io/ARL-doc/faq/

安装依赖

apt-get install docker.io docker-compose -y

ARL安装和启动

cd /opt/
mkdir docker_arl
wget -O docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6/docker.zip
cd docker_arl
unzip -o docker.zip
docker-compose pull
docker volume create arl_db
docker-compose up -d

docker ps --all #查看所有容器
docker exec -it 容器id bash #进入docker bash
docker-compose stop #暂停
docker-compose restart #重启更新配置

访问 ARL 系统 注意协议是HTTPS, 管理端口为5003 URL:https://127.0.0.1:5003 密码: admin/arlpass

Docker环境卸载

docker-compose down  #停止并删除配置
docker rmi tophant/arl:latest
docker volume rm arl_db (不执行这个可以保留mongo中的数据)

#再删除当前目录的文件就可以

指纹优化

指纹项目:https://github.com/lemonlove7/EHole_magic,使用https://github.com/loecho-sec/ARL-Finger-ADD项目导入指纹,替换`finger.json`文件运行即可(推荐arl主机本地运行,速度更快)

指纹项目2:https://github.com/Ernket/ARL-Finger-ADD-Go (包含对应导入脚本),编辑config.yaml文件运行即可

两个项目导入后指纹有2W+(2024.04.02)

image-20240402171512609

WIH

WebInfoHunter(简称 wih)工具是一款功能强大、易用性高、扩展性强的命令行工具,可以快速地获取指定网页中的各种特定信息。采用 Golang 编写。旨在快速批量地查找指定网页中 JS 中的各种特定信息,例如子域名、路径、URL、邮箱、IP、手机号、AK 和 SecretKey 等。

在搭建好ARL之后我们可以使用下面的命令将arl_workerdocker容器中的wih从容器中拖出来单独使用:

docker cp arl_worker:/usr/bin/wih /home/wih

自定义规则文件wih_rules.yml

rules:
# 域名,内置规则
- id: domain
enabled: true
# IP, 内置规则
- id: ip
enabled: false
# 路径,内置规则
- id: path
enabled: false
# URL主机部分为域名,内置规则
- id: domain_url
enabled: false
# URL主机部分为IP,内置规则
- id: ip_url
enabled: false
# 邮箱
- id: email
enabled: false
pattern: \b[A-Za-z0-9._\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,61}\b
# 二代身份证
- id: id_card
enabled: true
pattern: \b([1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx])\b
# 手机号
- id: phone
enabled: false
pattern: \b1[3-9]\d{9}\b
# jwt token (不要修改ID)
- id: jwt_token
enabled: true
pattern: eyJ[A-Za-z0-9_/+\-]{10,}={0,2}\.[A-Za-z0-9_/+\-\\]{15,}={0,2}\.[A-Za-z0-9_/+\-\\]{10,}={0,2}
# 阿里云 AccessKey ID (不要修改ID)
- id: Aliyun_AK_ID
enabled: true
pattern: \bLTAI[A-Za-z\d]{12,30}\b
# 腾讯云 AccessKey ID (不要修改ID)
- id: QCloud_AK_ID
enabled: true
pattern: \bAKID[A-Za-z\d]{13,40}\b
# 京东云 AccessKey ID (不要修改ID)
- id: JDCloud_AK_ID
enabled: true
pattern: \bJDC_[0-9A-Z]{25,40}\b
# 亚马逊 AccessKey ID
- id: AWS_AK_ID
enabled: true
pattern: '["''](?:A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}["'']'
# 火山引擎 AccessKey ID
- id: VolcanoEngine_AK_ID
enabled: true
pattern: \b(?:AKLT|AKTP)[a-zA-Z0-9]{35,50}\b
# 金山云 AccessKey ID
- id: Kingsoft_AK_ID
enabled: true
pattern: \bAKLT[a-zA-Z0-9-_]{16,28}\b
# 谷歌云 AccessKey ID
- id: GCP_AK_ID
enabled: true
pattern: \bAIza[0-9A-Za-z_\-]{35}\b
# 提取 SecretKey, 内置规则
- id: secret_key
enabled: true
# Bearer Token
- id: bearer_token
enabled: true
pattern: \b[Bb]earer\s+[a-zA-Z0-9\-=._+/\\]{20,500}\b
# Basic Token
- id: basic_token
enabled: true
pattern: \b[Bb]asic\s+[A-Za-z0-9+/]{18,}={0,2}\b
# Auth Token
- id: auth_token
enabled: true
pattern: '["''\[]*[Aa]uthorization["''\]]*\s*[:=]\s*[''"]?\b(?:[Tt]oken\s+)?[a-zA-Z0-9\-_+/]{20,500}[''"]?'
# PRIVATE KEY
- id: private_key
enabled: true
pattern: -----\s*?BEGIN[ A-Z0-9_-]*?PRIVATE KEY\s*?-----[a-zA-Z0-9\/\n\r=+]*-----\s*?END[ A-Z0-9_-]*? PRIVATE KEY\s*?-----
#Gitlab V2 Token
- id: gitlab_v2_token
enabled: true
pattern: \b(glpat-[a-zA-Z0-9\-=_]{20,22})\b
#Github Token
- id: github_token
enabled: true
pattern: \b((?:ghp|gho|ghu|ghs|ghr|github_pat)_[a-zA-Z0-9_]{36,255})\b
#腾讯云 API网关 APPKEY
- id: qcloud_api_gateway_appkey
enabled: true
pattern: \bAPID[a-zA-Z0-9]{32,42}\b
#微信 公众号/小程序 APPID
- id: wechat_appid
enabled: true
pattern: '["''](wx[a-z0-9]{15,18})["'']'
#企业微信 corpid
- id: wechat_corpid
enabled: true
pattern: '["''](ww[a-z0-9]{15,18})["'']'
#微信公众号
- id: wechat_id
enabled: true
pattern: '["''](gh_[a-z0-9]{11,13})["'']'
# 密码
- id: password
enabled: true
pattern: (?i)(?:admin_?pass|password|[a-z]{3,15}_?password|user_?pass|user_?pwd|admin_?pwd)\\?['"]*\s*[:=]\s*\\?['"][a-z0-9!@#$%&*]{5,20}\\?['"]
# 企业微信 webhook
- id: wechat_webhookurl
enabled: true
pattern: \bhttps://qyapi.weixin.qq.com/cgi-bin/webhook/send\?key=[a-zA-Z0-9\-]{25,50}\b
# 钉钉 webhook
- id: dingtalk_webhookurl
enabled: true
pattern: \bhttps://oapi.dingtalk.com/robot/send\?access_token=[a-z0-9]{50,80}\b
# 飞书 webhook
- id: feishu_webhookurl
enabled: true
pattern: \bhttps://open.feishu.cn/open-apis/bot/v2/hook/[a-z0-9\-]{25,50}\b
# slack webhook
- id: slack_webhookurl
enabled: true
pattern: \bhttps://hooks.slack.com/services/[a-zA-Z0-9\-_]{6,12}/[a-zA-Z0-9\-_]{6,12}/[a-zA-Z0-9\-_]{15,24}\b
# grafana api key
- id: grafana_api_key
enabled: true
pattern: \beyJrIjoi[a-zA-Z0-9\-_+/]{50,100}={0,2}\b
# grafana cloud api token
- id: grafana_cloud_api_token
enabled: true
pattern: \bglc_[A-Za-z0-9\-_+/]{32,200}={0,2}\b
# grafana service account token
- id: grafana_service_account_token
enabled: true
pattern: \bglsa_[A-Za-z0-9]{32}_[A-Fa-f0-9]{8}\b
- id: app_key
enabled: true
pattern: \b(?:VUE|APP|REACT)_[A-Z_0-9]{1,15}_(?:KEY|PASS|PASSWORD|TOKEN|APIKEY)['"]*[:=]"(?:[A-Za-z0-9_\-]{15,50}|[a-z0-9/+]{50,100}==?)"

# 排除规则, 支持字段 id, content, target , source 逻辑为 and ,如果是正则匹配,需要使用 regex: 开头
exclude_rules:
# 排除站点 https://cc.163.com 中 类型为 secret_key 的内容
- name: "不收集 cc.163.com 的 secret_key" # 排除规则名称,无实际意义
id: secret_key
target: regex:cc\.163\.com
enabled: true

- name: "不收集 open.work.weixin.qq.com 的 bearer_token"
id: bearer_token
target: https://open.work.weixin.qq.com
content: regex:Bearer\s+
enabled: true

- name: "过滤来自首页的内容"
source_tag: page
enabled: false

将目标放到targets.txt中,可运行以下命令:

./wih -t targets.txt -r wih_rules.yml -a -c 4 -P 4

-t:指定目标 URL 或文件为 targets.txt。 -r:指定规则配置文件为 wih_rules.yml。 -a:开启自动生成保存的文件名。 -c:设置并发数。 -P:设置每个站点的并发数。