DarkAngel 是一款全自动白帽漏洞扫描器,从hackerone、bugcrowd资产监听到漏洞报告生成、企业微信通知。
DarkAngel 下载地址:https://github.com/Bywalks/DarkAngel
当前已支持的功能:
hackerone资产监听;
bugcrowd资产监听;
自定义资产添加;
子域名扫描;
网站指纹识别;
漏洞扫描;
漏洞报告自动生成;
企业微信通知扫描结果;
前端显示扫描结果;
自动生成漏洞报告 - MarkDown格式 - 存放地址/root/darkangel/vulscan/results/report
支持自添加漏洞报告模板,目前已添加漏洞报告模板如下,漏洞名配置为nuclei模板文件名即可
自定义漏洞报告模板格式
可先查看如何获取配置:企业微信开发接口文档
1https://developer.work.weixin.qq.com/document/path/90487
获取参数后,在/root/darkangel/vconfig/config.ini中配置参数,即可启用企业微信通知
微信通知 - 漏洞结果
微信通知 - 扫描进程
整体项目架构ES+Kibana+扫描器,所以安装需要三个部分
ES镜像:
1拉取ES镜像 2 3docker pull bywalkss/darkangel:es7.9.3 4 5 6部署ES镜像 7 8docker run -e ES_JAVA_OPTS="-Xms1024m -Xms1024m" -d -p 9200:9200 -p 9300:9300 --name elasticsearch elasticsearch:7.9.3 9 10 11查看日志 12 13docker logs -f elasticsearch 14 15 16出现问题,执行命令 17 18sysctl -w vm.max_map_count=262144 19 20 21重启docker 22 23docker start elasticsearch
Kibana镜像:
1拉取Kibana镜像 2 3docker pull bywalkss/darkangel:kibana7.9.3 4 5 6部署Kibana镜像(修改一下es-ip) 7 8docker run --name kibana -e ELASTICSEARCH_URL=http://es-ip:9200 -p 5601:5601 -d docker.io/bywalkss/darkangel:kibana7.9.3 9 10 11查看日志 12 13docker logs -f elasticsearch 14 15 16出现问题,执行命令 17 18sysctl -w vm.max_map_count=262144 19 20 21重启docker 22 23docker start elasticsearch
扫描器镜像:
1拉取扫描器镜像 2 3docker pull bywalkss/darkangel:v1 4 5 6部署扫描器 7 8docker run -it -d -v /root/darkangel:/root/darkangel --name darkangel bywalkss/darkangel:v1
docker容器内挂载目录无权限运行容器时:--privileged=true
1usage: [-h] [--scan-new-domain] 2 [--add-domain-and-scan ADD_DOMAIN_AND_SCAN [ADD_DOMAIN_AND_SCAN ...]] 3 [--offer-bounty {yes,no}] [--nuclei-file-scan] 4 [--nuclei-file-scan-by-new-temp NUCLEI_FILE_SCAN_BY_NEW_TEMP] 5 [--nuclei-file-scan-by-new-add-temp NUCLEI_FILE_SCAN_BY_NEW_ADD_TEMP] 6 [--nuclei-file-scan-by-temp-name NUCLEI_FILE_SCAN_BY_TEMP_NAME] 7 [--nuclei-file-polling-scan] [--delete] 8 9 10DarkAngel is a white hat scanner. Every user makes the Internet more secure. 11 12 13-------------------------------------------------------------------------------- 14 15 16optional arguments: 17 -h, --help show this help message and exit 18 --scan-new-domain scan new domain from h1 and bc 19 --add-domain-and-scan ADD_DOMAIN_AND_SCAN [ADD_DOMAIN_AND_SCAN ...] 20 scan new domain from h1 and bc 21 --offer-bounty {yes,no} 22 set add domain is bounty or no bounty 23 --nuclei-file-scan scan new domain from h1 and bc 24 --nuclei-file-scan-by-new-temp NUCLEI_FILE_SCAN_BY_NEW_TEMP 25 use new template scan five file by nuclei 26 --nuclei-file-scan-by-new-add-temp NUCLEI_FILE_SCAN_BY_NEW_ADD_TEMP 27 add new template scan five file by nuclei 28 --nuclei-file-scan-by-temp-name NUCLEI_FILE_SCAN_BY_TEMP_NAME 29 use template scan five file by nuclei 30 --nuclei-file-polling-scan 31 five file polling scan by nuclei
$ python3 darkangel.py --scan-new-domain
$ python3 darkangel.py --add-domain-and-scan program-file-name1 program-file-name2 --offer-bounty yes/no
自定义添加扫描域名,并对这些域名进行漏洞扫描
文件名为厂商名称,文件内存放需扫描域名
需提供--offer-bounty参数,设置域名是否提供赏金
扫描结束后,会把子域名结果存在在/root/darkangel/vulscan/results/urls目录,按照是否提供赏金分别存放在,bounty_temp_urls_output.txt、nobounty_temp_urls_output.txt文件内
$ python3 darkangel.py --nuclei-file-scan
url列表存放位置
$ python3 darkangel.py --nuclei-file-polling-scan
$ python3 darkangel.py --nuclei-file-scan-by-new-temp nuclei-template-version
当前nuclei-template版本为9.3.1
执行命令,监听9.3.2版本更新
企业微信通知
url列表存放位置
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp nuclei-template-id
查看nuclei单template的id,这里为6296
执行命令,对该template进行扫描
url列表存放位置
$ python3 darkangel.py --nuclei-file-scan-by-temp-name nuclei-template-name
前端 - 扫描厂商
前端 - 扫描域名
前端 - 扫描结果
微信通知 - 扫描进程
微信通知 - 漏洞结果
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
1https://github.com/Bywalks/DarkAngel