
Автоматизированный сканер уязвимостей для белых хакеров, который отслеживает активы на HackerOne и Bugcrowd, выполняет перечисление поддоменов, сканирование, фингерпринтинг и сканирование с помощью Nuclei/Xray, а затем формирует отчёты и отправляет уведомления.
English | 中文
DarkAngel — это полностью автоматический сканер уязвимостей для белых хакеров, который позволяет отслеживать активы HackerOne и Bugcrowd, генерировать отчёты об уязвимостях, делать скриншоты URL-адресов уязвимостей и отправлять уведомления через мессенджеры.
Адрес загрузки DarkAngel: github.com/Bywalks/DarkAngel
В настоящее время поддерживаются следующие функции:
Вы можете добавить свои шаблоны отчётов в этот проект.
Автоматически сгенерированный отчёт об уязвимости в формате MarkDown сохраняется по пути: /root/DarkAngel/vulscan/results/report.
Поддерживается добавление собственных шаблонов отчётов. В данный момент добавлены следующие шаблоны. Имя уязвимости можно настроить как имя файла шаблона nuclei.
Формат пользовательского шаблона отчёта:
Сначала ознакомьтесь с получением параметров: Учебник по настройке TG
После получения параметров укажите их в файле /root/markup/vconfig/config.ini, чтобы включить уведомления через TG.
TG Уведомление — результаты по уязвимостям:
TG Уведомление — процесс сканирования:
Сначала ознакомьтесь с получением параметров: Документация по интерфейсу разработки WeChat для предприятий
После получения параметров укажите их в файле /root/markup/vconfig/config.ini, чтобы включить уведомления через WeChat для предприятий.
WeChat Уведомление — результаты по уязвимостям:
WeChat Уведомление — процесс сканирования:
Общая архитектура проекта: ES + Kibana + сканер. Установка включает три компонента:
Образ ES:
Загрузить образ ES
docker pull bywalkss/darkangel:es7.9.3
Развернуть образ ES
docker run -e ES_JAVA_OPTS="-Xms1024m -Xms1024m" -e "discovery.type=single-node" -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 restart elasticsearch
Образ Kibana:
Загрузить образ Kibana
docker pull bywalkss/darkangel:kibana7.9.3
Развернуть образ Kibana (измените IP адрес ES)
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 kibana
Если возникла проблема, выполните команду
sysctl -w vm.max_map_count=262144
Перезапустите Docker
docker start kibana
Образ сканера:
Загрузить образ сканера
docker pull bywalkss/darkangel:v0.0.5
Развернуть образ сканера
docker run -it -d -v /root/DarkAngel:/root/DarkAngel --name darkangel bywalkss/darkangel:v0.0.5
Войдите в контейнер Docker сканера
docker exec -it docker_id /bin/bash
Перейдите в корневой каталог
cd root
Скачайте исходный код
git clone https://github.com/Bywalks/DarkAngel.git
Добавьте права на выполнение
chmod 777 /root/DarkAngel/vulscan/tools/*
chmod 777 /root/DarkAngel/vulscan/tools/whatweb/*
Теперь можно использовать в директории DarkAngel
Каталог, смонтированный в Docker-контейнере, может не иметь прав доступа. Решение 1: при запуске контейнера используйте флаг --privileged=true. Решение 2: на хосте выполните команду setenforce 0.
usage: darkangel.py [-h] [--add-new-domain]
[--scan-domain-by-time SCAN_DOMAIN_BY_TIME SCAN_DOMAIN_BY_TIME]
[--scan-new-domain]
[--add-domain-and-scan ADD_DOMAIN_AND_SCAN [ADD_DOMAIN_AND_SCAN ...]]
[--offer-bounty {yes,no}] [--nuclei-file-scan]
[--nuclei-file-scan-by-new-temp NUCLEI_FILE_SCAN_BY_NEW_TEMP]
[--nuclei-file-scan-by-new-add-temp NUCLEI_FILE_SCAN_BY_NEW_ADD_TEMP]
[--nuclei-file-scan-by-temp-name NUCLEI_FILE_SCAN_BY_TEMP_NAME]
[--nuclei-file-polling-scan]
DarkAngel — это сканер для белых хакеров. Каждый пользователь делает интернет безопаснее.
--------------------------------------------------------------------------------