
Автоматизированный сканер уязвимостей для белых хакеров, который отслеживает активы на HackerOne и Bugcrowd, выполняет перечисление поддоменов, сканирование, фингерпринтинг и сканирование с помощью Nuclei/Xray, а затем формирует отчёты и отправляет уведомления.
GitHub stars
tweet
Twitter
Github
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 — это сканер для белых хакеров. Каждый пользователь делает интернет безопаснее.
--------------------------------------------------------------------------------
необязательные аргументы:
-h, --help показать это справочное сообщение и выйти
--add-new-domain добавить новые домены из HackerOne и Bugcrowd
--scan-domain-by-time SCAN_DOMAIN_BY_TIME SCAN_DOMAIN_BY_TIME
сканировать домены H1 и BC по времени запуска
--scan-new-domain добавить и сканировать новые домены из H1 и BC
--add-domain-and-scan ADD_DOMAIN_AND_SCAN [ADD_DOMAIN_AND_SCAN ...]
добавить собственные домены и выполнить их сканирование
--offer-bounty {yes,no}
указать, есть ли у добавляемого домена программа вознаграждений (bounty)
--nuclei-file-scan сканировать новые домены из H1 и BC
--nuclei-file-scan-by-new-temp NUCLEI_FILE_SCAN_BY_NEW_TEMP
использовать новый шаблон для сканирования пяти файлов с помощью nuclei
--nuclei-file-scan-by-new-add-temp NUCLEI_FILE_SCAN_BY_NEW_ADD_TEMP
добавить новый шаблон для сканирования пяти файлов с помощью nuclei
--nuclei-file-scan-by-temp-name NUCLEI_FILE_SCAN_BY_TEMP_NAME
использовать шаблон для сканирования пяти файлов с помощью nuclei
--nuclei-file-polling-scan
выполнять опросное сканирование пяти файлов с помощью nuclei
$ python3 darkangel.py --add-new-domain
$ python3 darkangel.py --scan-domain-by-time начало-время конец-время
$ python3 darkangel.py --scan-new-domain
$ python3 darkangel.py --add-domain-and-scan имя-файла-программы1 имя-файла-программы2 --offer-bounty yes/no
После сканирования результаты поддоменов будут сохранены в каталоге /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
Текущая версия шаблонов nuclei — 9.3.1.
Выполните команду для отслеживания обновления до версии 9.3.2.
Уведомление через WeChat для предприятий:
Расположение списка URL-адресов:
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp ID-шаблона-nuclei
Проверьте ID отдельного шаблона nuclei — здесь это 6296.
Выполните команду для сканирования с этим шаблоном.
Расположение списка URL-адресов:
$ python3 darkangel.py --nuclei-file-scan-by-temp-name имя-шаблона-nuclei
Фронтенд — сканирование вендоров:
Фронтенд — сканирование доменов:
Фронтенд — результаты сканирования:
TG Уведомление — результаты по уязвимостям:
TG Уведомление — процесс сканирования:
WeChat Уведомление — процесс сканирования:
WeChat Уведомление — результаты по уязвимостям:
Прежде всего, спасибо, что уделили время улучшению DarkAngel 👍
Отчёты об ошибках, предложения и шаблоны уязвимостей — ваше имя на GitHub будет опубликовано в списке благодарностей:
https://github.com/Bywalks/DarkAngel/blob/main/THANKS.md
Отчёты об ошибках
Пожалуйста, отправляйте сообщения об ошибках или скриншоты с текущими ошибками DarkAngel в GitHub Issues с подробным описанием шагов для воспроизведения.
Предложения по функциям
В GitHub Discussions вы можете свободно высказываться и обсуждать желаемые функции с разработчиками.
Добавление шаблонов уязвимостей
Приветствуется добавление шаблонов уязвимостей в GitHub Discussions. Открытые проекты нуждаются в участии каждого.
Обновление
Обновление
Обновление
Обновление
Обновление
Обновление
Обновление
Обновление
Функции