
GitHub stars
tweet
Twitter
Github
English | 中文
DarkAngelは、完全自動のホワイトハット脆弱性スキャナです。ハッカーやBugcrowdのアセット監視から脆弱性レポートの生成、脆弱性URLのスクリーンショット、メッセージ通知までを行います。
DarkAngelダウンロード先:github.com/Bywalks/DarkAngel
現在サポートされている機能:
このプロジェクトに脆弱性テンプレートを投稿することを歓迎します。
脆弱性レポートを自動生成 - MarkDown形式 - 保存先 /root/DarkAngel/vulscan/results/report
脆弱性レポートテンプレートの自己追加をサポートします。現在、以下の脆弱性レポートテンプレートが追加されています。脆弱性名はnucleiテンプレートのファイル名として設定できます。
カスタム脆弱性レポートテンプレートの形式
最初に設定の取得方法を確認してください:TG設定チュートリアル
パラメータを取得したら、/root/markup/vconfig/config.iniのパラメータを設定して、企業TG通知を有効にします。
TG通知 - 脆弱性結果
TG通知 - スキャン過程
最初に設定の取得方法を確認してください:WeChat Work開発インターフェースドキュメント
パラメータを取得したら、/root/markup/vconfig/config.iniのパラメータを設定して、WeChat Work通知を有効にします。
WeChat通知 - 脆弱性結果
WeChat通知 - スキャン過程
##インストール
プロジェクト全体の構成はES+Kibana+スキャナです。そのため、インストールは3つの部分が必要です。
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イメージをデプロイ(ESのIPを修正)
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はホワイトハットスキャナです。すべてのユーザーがインターネットをより安全にします。
--------------------------------------------------------------------------------
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 開始時間 終了時間
$ 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 Work通知
URLリストの保存場所
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp nucleiテンプレートID
Nucleiの個別テンプレートのIDを確認します。ここでは6296です。
コマンドを実行してテンプレートをスキャンします。
URLリストの保存場所
$ python3 darkangel.py --nuclei-file-scan-by-temp-name nucleiテンプレート名
フロントエンド - スキャン対象ベンダー
フロントエンド - スキャンドメイン名
フロントエンド - スキャン結果
TG通知 - 脆弱性結果
TG通知 - スキャン過程
WeChat通知 - スキャン過程
WeChat通知 - 脆弱性結果
まず、DarkAngelをより良くするために時間を割いていただきありがとうございます 👍
バグフィードバック、提案、脆弱性テンプレートの提出については、あなたのGithub IDが以下の感謝リストで公開されます:
https://github.com/Bywalks/DarkAngel/blob/main/THANKS.md
バグフィードバック
現在のDarkAngelのエラーメッセージやスクリーンショットを GitHub Issues に提出し、再現手順を詳しく説明してください。
機能提案
GitHub Discussions で自由に意見を述べ、開発者と希望する機能について議論できます。
脆弱性テンプレートの提出
GitHub Discussions で脆弱性テンプレートを投稿することを歓迎します。オープンソースプロジェクトには皆さんの貢献が必要です。
更新
更新
更新
更新
更新
更新
更新
更新
機能