DarkAngel: 一款全自动白帽漏洞扫描器
字数 1439 2025-08-06 18:07:59
DarkAngel全自动白帽漏洞扫描器使用手册
1. 工具概述
DarkAngel是一款全自动白帽漏洞扫描器,提供从资产监听到漏洞报告生成的全流程自动化解决方案。
主要功能
- 资产监听:支持HackerOne和Bugcrowd平台
- 自定义资产添加
- 子域名扫描
- 网站指纹识别
- 漏洞扫描
- 自动生成Markdown格式漏洞报告
- 企业微信通知扫描结果
- 前端结果展示
2. 系统架构
DarkAngel采用以下组件构成:
- Elasticsearch (ES):用于数据存储和分析
- Kibana:用于数据可视化
- 扫描器核心:执行实际扫描任务
3. 安装部署
3.1 Elasticsearch安装
# 拉取ES镜像
docker pull bywalkss/darkangel:es7.9.3
# 部署ES容器
docker run -e ES_JAVA_OPTS="-Xms1024m -Xms1024m" -d -p 9200:9200 -p 9300:9300 \
--name elasticsearch elasticsearch:7.9.3
# 查看日志
docker logs -f elasticsearch
# 如遇问题执行
sysctl -w vm.max_map_count=262144
# 重启docker
docker start elasticsearch
3.2 Kibana安装
# 拉取Kibana镜像
docker pull bywalkss/darkangel:kibana7.9.3
# 部署Kibana容器(需替换es-ip为实际ES IP)
docker run --name kibana -e ELASTICSEARCH_URL=http://es-ip:9200 -p 5601:5601 \
-d docker.io/bywalkss/darkangel:kibana7.9.3
# 查看日志
docker logs -f elasticsearch
# 如遇问题执行
sysctl -w vm.max_map_count=262144
# 重启docker
docker start elasticsearch
3.3 扫描器安装
# 拉取扫描器镜像
docker pull bywalkss/darkangel:v2
# 部署扫描器(挂载目录)
docker run -it -d -v /root/darkangel:/root/darkangel --name darkangel \
--privileged=true bywalkss/darkangel:v2
# 进入容器
docker exec -it <docker_id> /bin/bash
# 复制源代码
cp -r /root/DarkAngel/* /root/darkangel/
4. 配置说明
4.1 企业微信配置
编辑配置文件:
/root/darkangel/vconfig/config.ini
配置企业微信相关参数以启用通知功能。
4.2 漏洞报告模板
- 报告存放路径:
/root/darkangel/vulscan/results/report - 支持自定义模板,模板名对应nuclei模板文件名
5. 使用指南
5.1 基础扫描命令
python3 darkangel.py [选项]
5.2 主要功能选项
5.2.1 监听并扫描新域名
python3 darkangel.py --scan-new-domain
- 功能:监听HackerOne和Bugcrowd域名并进行扫描
- 注意:首次使用会添加所有域名,资产多时扫描时间较长
5.2.2 自定义添加并扫描域名
python3 darkangel.py --add-domain-and-scan program-file-name1 program-file-name2 --offer-bounty yes/no
- 参数说明:
program-file-name1:厂商名称文件,内含需扫描域名--offer-bounty:设置域名是否提供赏金(yes/no)
- 输出:
- 赏金域名:
/root/darkangel/vulscan/results/urls/bounty_temp_urls_output.txt - 非赏金域名:
/root/darkangel/vulscan/results/urls/nobounty_temp_urls_output.txt
- 赏金域名:
5.2.3 Nuclei基础扫描
python3 darkangel.py --nuclei-file-scan
- 扫描20个URL文件
- URL列表存放位置需预先配置
5.2.4 Nuclei轮询扫描
python3 darkangel.py --nuclei-file-polling-scan
- 后台轮询扫描20个URL文件
- 持续监听新漏洞
5.2.5 基于新模板版本的扫描
python3 darkangel.py --nuclei-file-scan-by-new-temp nuclei-template-version
- 示例(当前版本9.3.1):
python3 darkangel.py --nuclei-file-scan-by-new-temp 9.3.2 - 功能:监听nuclei-template更新,更新时扫描URL列表
5.2.6 基于新增模板的扫描
python3 darkangel.py --nuclei-file-scan-by-new-add-temp nuclei-template-id
- 示例(模板ID为6296):
python3 darkangel.py --nuclei-file-scan-by-new-add-temp 6296 - 功能:监听特定模板更新,更新时扫描URL列表
5.2.7 基于模板名称的扫描
python3 darkangel.py --nuclei-file-scan-by-temp-name nuclei-template-name
- 功能:使用指定模板扫描URL列表
6. 结果显示
- 前端展示:
- 扫描厂商
- 扫描域名
- 扫描结果
- 微信通知:
- 扫描进程
- 漏洞结果
7. 注意事项
- 本工具仅用于合法合规用途,严禁用于违法违规用途
- 首次使用扫描所有HackerOne和Bugcrowd域名时,资产量可能很大,需做好长时间扫描准备
- 确保系统有足够资源运行ES和Kibana
- 容器部署时注意目录权限问题,使用
--privileged=true参数
8. 进阶使用
8.1 自定义报告模板
支持用户添加自定义漏洞报告模板,模板格式需符合系统要求。
8.2 扫描策略优化
可根据实际需求调整:
- 扫描频率
- 目标范围
- 漏洞检测深度
- 通知策略
9. 维护与更新
定期检查并更新:
- Nuclei模板版本
- Docker镜像版本
- 扫描规则库
通过合理配置和使用,DarkAngel可以成为企业安全团队和白帽子的强大工具,实现漏洞扫描和管理的自动化流程。