
Automatisierter White-Hat-Schwachstellenscanner, der HackerOne- und Bugcrowd-Assets überwacht, Subdomain-Enumeration, Crawling, Fingerprinting und Scannen mit Nuclei/Xray durchführt, dann Berichte erstellt und Benachrichtigungen sendet.
GitHub-Sterne
tweet
Github
Englisch | 中文
DarkAngel ist ein vollautomatischer White-Hat-Schwachstellenscanner, der Hacker- und Bugcrowd-Assets überwacht, Schwachstellenberichte generiert, Screenshots der Schwachstellen-URLs erstellt und Nachrichtenbenachrichtigungen sendet.
DarkAngel Download-Adresse: github.com/Bywalks/DarkAngel
Derzeit unterstützte Funktionen:
Wir freuen uns über die Einreichung von Schwachstellenvorlagen für dieses Projekt.
Automatische Generierung von Schwachstellenberichten – MarkDown-Format – Speicherort: /root/DarkAngel/vulscan/results/report
Unterstützung für das Hinzufügen eigener Schwachstellenberichtsvorlagen. Derzeit wurden die folgenden Schwachstellenberichtsvorlagen hinzugefügt. Der Schwachstellenname kann als Dateiname der Nuclei-Vorlage konfiguriert werden.
Benutzerdefiniertes Format der Schwachstellenberichtsvorlage
Zuerst können Sie nachlesen, wie Sie die Konfiguration erhalten: TG Konfigurationsanleitung
Konfigurieren Sie nach Erhalt der Parameter die Parameter in /root/markup/vconfig/config.ini, um TG-Benachrichtigungen zu aktivieren.
TG-Benachrichtigung – Schwachstellenergebnisse
TG-Benachrichtigung – Scanvorgang
Zuerst können Sie nachlesen, wie Sie die Konfiguration erhalten: Entwicklungsschnittstellendokument für Unternehmens-WeChat
Konfigurieren Sie nach Erhalt der Parameter die Parameter in /root/markup/vconfig/config.ini, um WeChat-Benachrichtigungen zu aktivieren.
WeChat-Benachrichtigung – Schwachstellenergebnisse
WeChat-Benachrichtigung – Scanvorgang
Die Gesamtprojektarchitektur ist ES+Kibana+Scanner, daher erfordert die Installation drei Teile.
ES-Image:
ES-Image pullen
docker pull bywalkss/darkangel:es7.9.3
ES-Image bereitstellen
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
Logs anzeigen
docker logs -f elasticsearch
Bei Problemen den Befehl ausführen
sysctl -w vm.max_map_count=262144
Docker neustarten
docker restart elasticsearch
Kibana-Image:
Kibana-Image pullen
docker pull bywalkss/darkangel:kibana7.9.3
Kibana-Image bereitstellen (ES-IP anpassen)
docker run --name kibana -e ELASTICSEARCH_ URL= http://es-ip:9200 -p 5601:5601 -d docker.io/bywalkss/darkangel:kibana7.9.3
Logs anzeigen
docker logs -f kibana
Bei Problemen den Befehl ausführen
sysctl -w vm.max_map_count=262144
Docker starten
docker start kibana
Scanner-Image:
Scanner-Image pullen
docker pull bywalkss/darkangel:v0.0.5
Scanner bereitstellen
docker run -it -d -v /root/DarkAngel:/root/DarkAngel --name darkangel bywalkss/darkangel:v0.0.5
In den Scanner-Docker einsteigen
docker exec -it docker_id /bin/bash
In das Root-Verzeichnis wechseln
cd root
Quellcode herunterladen
git clone https://github.com/Bywalks/DarkAngel.git
Ausführungsberechtigungen hinzufügen
chmod 777 /root/DarkAngel/vulscan/tools/*
chmod 777 /root/DarkAngel/vulscan/tools/whatweb/*
Nach dem Wechsel in das DarkAngel-Verzeichnis kann es verwendet werden.
Das im Docker-Container gemountete Verzeichnis hat keine Berechtigungen: Lösung 1. Beim Ausführen des Containers: --privileged=true; Lösung 2. Auf dem Host den Befehl ausführen: 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
Nach dem Scan werden die Subdomain-Ergebnisse im Verzeichnis /root/DarkAngel/vulscan/results/urls gespeichert. Sie werden in den Dateien bounty_temp_urls_output.txt und nobounty_temp_urls_output.txt abgelegt.
$ python3 darkangel.py --nuclei-file-scan
Speicherort der URL-Liste
$ python3 darkangel.py --nuclei-file-polling-scan
$ python3 darkangel.py --nuclei-file-scan-by-new-temp nuclei-template-version
Die aktuelle Version der Nuclei-Vorlage ist 9.3.1.
Führen Sie den Befehl aus, um das Update auf Version 9.3.2 zu überwachen.
Unternehmens-WeChat-Benachrichtigung
Speicherort der URL-Liste
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp nuclei-template-id
Überprüfen Sie die ID der einzelnen Nuclei-Vorlage, hier ist sie 6296.
Führen Sie den Befehl aus, um die Vorlage zu scannen.
Speicherort der URL-Liste
$ python3 darkangel.py --nuclei-file-scan-by-temp-name nuclei-template-name
Frontend – Scan-Hersteller
Frontend – Domainnamen scannen
Frontend – Scan-Ergebnisse
TG-Benachrichtigung – Schwachstellenergebnisse
TG-Benachrichtigung – Scanvorgang
WeChat-Benachrichtigung – Scanvorgang
WeChat-Benachrichtigung – Schwachstellenergebnisse
Zunächst vielen Dank, dass Sie sich die Zeit nehmen, DarkAngel besser zu machen 👍
Fehlerrückmeldungen, Vorschläge und Einreichung von Schwachstellenvorlagen – Ihre GitHub-ID wird in der folgenden Danksagungsliste veröffentlicht:
https://github.com/Bywalks/DarkAngel/blob/main/THANKS.md
Fehlerrückmeldung
Bitte reichen Sie die aktuelle DarkAngel-Fehlermeldung oder einen Screenshot in GitHub Issues ein und beschreiben Sie Ihre Reproduktionsschritte im Detail.
Funktionsvorschläge
In GitHub Discussions können Sie frei sprechen und die gewünschten Funktionen mit den Entwicklern diskutieren.
Einreichung von Schwachstellenvorlagen
Wir freuen uns über die Einreichung von Schwachstellenvorlagen in GitHub Discussions. Open-Source-Projekte erfordern den Beitrag aller.
Update
Update
Update
Update
Update
Update
Update
Update
Funktionen