
Analyseur de vulnérabilités white-hat automatisé qui surveille les actifs HackerOne et Bugcrowd, effectue l'énumération de sous-domaines, l'exploration, l'empreinte numérique et le scan avec Nuclei/Xray, puis génère des rapports et envoie des notifications.
Anglais | 中文
DarkAngel est un scanner de vulnérabilités entièrement automatique pour les chapeaux blancs. Il permet de surveiller les actifs de hacker et bugcrowd, de générer des rapports de vulnérabilité, de faire une capture d'écran de l'URL de la vulnérabilité et d'envoyer des notifications par message.
Adresse de téléchargement de DarkAngel : github.com/Bywalks/DarkAngel
Fonctionnalités actuellement prises en charge :
N'hésitez pas à soumettre des modèles de vulnérabilité à ce projet.
Génération automatique du rapport de vulnérabilité - format MarkDown - adresse de stockage /root/DarkAngel/vulscan/results/report
Prise en charge de l'ajout de modèles de rapport de vulnérabilité personnalisés. Actuellement, les modèles de rapport de vulnérabilité suivants ont été ajoutés. Le nom de la vulnérabilité peut être configuré comme le nom de fichier du modèle nuclei.
Format de modèle de rapport de vulnérabilité personnalisé
Vous pouvez d'abord consulter comment obtenir la configuration : Tutoriel de configuration TG
Après avoir obtenu les paramètres, configurez-les dans /root/markup/vconfig/config.ini pour activer les notifications TG d'entreprise.
Notification TG - Résultats des vulnérabilités
Notification TG - Processus de scan
Vous pouvez d'abord consulter comment obtenir la configuration : Document d'interface de développement WeChat d'entreprise
Après avoir obtenu les paramètres, configurez-les dans /root/markup/vconfig/config.ini pour activer les notifications WeChat d'entreprise.
Notification WeChat - Résultats des vulnérabilités
Notification WeChat - Processus de scan
L'architecture globale du projet est ES+Kibana+scanner, l'installation nécessite donc trois parties.
Image ES :
Pull ES image
docker pull bywalkss/darkangel:es7.9.3
Deploy ES image
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
view log
docker logs -f elasticsearch
If there is a problem, execute the command
sysctl -w vm.max_map_count=262144
Restart Docker
docker restart elasticsearch
Image Kibana :
Pull Kibana image
docker pull bywalkss/darkangel:kibana7.9.3
Deploy Kibana image (modify the es ip)
docker run --name kibana -e ELASTICSEARCH_ URL= http://es-ip:9200 -p 5601:5601 -d docker.io/bywalkss/darkangel:kibana7.9.3
view log
docker logs -f kibana
If there is a problem, execute the command
sysctl -w vm.max_map_count=262144
Restart Docker
docker start kibana
Image du scanner :
Pull Scanner Image
docker pull bywalkss/darkangel:v0.0.5
Deployment Scanner
docker run -it -d -v /root/DarkAngel:/root/DarkAngel --name darkangel bywalkss/darkangel:v0.0.5
Enter the scanner docker
docker exec -it docker_id /bin/bash
Enter the root directory
cd root
Download source code
git clone https://github.com/Bywalks/DarkAngel.git
Add execution permissions
chmod 777 /root/DarkAngel/vulscan/tools/*
chmod 777 /root/DarkAngel/vulscan/tools/whatweb/*
You can use it after into the DarkAngel directory
Le répertoire monté dans le conteneur docker n'a pas les permissions : Solution 1. Lors de l'exécution du conteneur : --privileged=true ; Solution 2. La machine hôte exécute la commande : 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 is a white hat scanner. Every user makes the Internet more secure.
--------------------------------------------------------------------------------