
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.
GitHub stars
tweet
Twitter
Github
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.
--------------------------------------------------------------------------------
optional arguments:
-h, --help show this help message and exit
--add-new-domain add new domain from h1 and bc
--scan-domain-by-time SCAN_DOMAIN_BY_TIME SCAN_DOMAIN_BY_TIME
scan h1 and bc domain by launched time
--scan-new-domain add and scan new domain from h1 and bc
--add-domain-and-scan ADD_DOMAIN_AND_SCAN [ADD_DOMAIN_AND_SCAN ...]
add and scan new domain self added
--offer-bounty {yes,no}
set add domain is bounty or no bounty
--nuclei-file-scan scan new domain from h1 and bc
--nuclei-file-scan-by-new-temp NUCLEI_FILE_SCAN_BY_NEW_TEMP
use new template scan five file by nuclei
--nuclei-file-scan-by-new-add-temp NUCLEI_FILE_SCAN_BY_NEW_ADD_TEMP
add new template scan five file by nuclei
--nuclei-file-scan-by-temp-name NUCLEI_FILE_SCAN_BY_TEMP_NAME
use template scan five file by nuclei
--nuclei-file-polling-scan
five file polling scan by nuclei
$ python3 darkangel.py --add-new-domain
$ python3 darkangel.py --scan-domain-by-time begin-time end-time
$ python3 darkangel.py --scan-new-domain
$ python3 darkangel.py --add-domain-and-scan program-file-name1 program-file-name2 --offer-bounty yes/no
Après le scan, les résultats des sous-domaines sont stockés dans le répertoire /root/DarkAngel/vulscan/results/urls. Ils sont stockés dans les fichiers bounty_temp_urls_output.txt et nobounty_temp_urls_output.txt.
$ python3 darkangel.py --nuclei-file-scan
Emplacement de stockage de la liste d'URL
$ python3 darkangel.py --nuclei-file-polling-scan
$ python3 darkangel.py --nuclei-file-scan-by-new-temp nuclei-template-version
La version actuelle du modèle nuclei est 9.3.1.
Exécute la commande pour surveiller la mise à jour de la version 9.3.2.
Notification WeChat d'entreprise
Emplacement de stockage de la liste d'URL
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp nuclei-template-id
Vérifiez l'ID du modèle unique de Nuclei, ici 6296.
Exécutez la commande pour scanner le modèle.
Emplacement de stockage de la liste d'URL
$ python3 darkangel.py --nuclei-file-scan-by-temp-name nuclei-template-name
Front end - Fabricant de scan
Front end - Nom de domaine scanné
Front end - Résultats du scan
Notification TG - Résultats des vulnérabilités
Notification TG - Processus de scan
Notification WeChat - Processus de scan
Notification WeChat - Résultats des vulnérabilités
Tout d'abord, merci d'avoir pris le temps d'améliorer DarkAngel 👍
Signalement de bugs, suggestions et soumission de modèles de vulnérabilité : votre identifiant GitHub sera divulgué dans la liste de remerciements ci-dessous :
https://github.com/Bywalks/DarkAngel/blob/main/THANKS.md
Signalement de bugs
Veuillez soumettre le message d'erreur actuel de DarkAngel ou une capture d'écran dans GitHub Issues, et décrire en détail vos étapes de reproduction.
Suggestions de fonctionnalités
Dans GitHub Discussions, vous pouvez discuter librement des fonctionnalités souhaitées avec les développeurs.
Soumission de modèle de vulnérabilité
Bienvenue pour soumettre des modèles de vulnérabilité dans GitHub Discussions. Les projets open source ont besoin de la contribution de chacun.
Mise à jour
Mise à jour
Mise à jour
Mise à jour
Mise à jour
Mise à jour
Mise à jour
Mise à jour
Fonctionnalités