
자동화된 화이트햇 취약점 스캐너로, HackerOne 및 Bugcrowd 자산을 모니터링하고, 서브도메인 열거, 크롤링, 핑거프린팅, Nuclei/Xray를 이용한 스캐닝을 수행한 후 보고서를 생성하고 알림을 전송합니다.
GitHub stars
tweet
Twitter
Github
영어 | 中文
DarkAngel은 완전 자동 화이트햇 취약점 스캐너로, hacker 및 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 이미지:
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
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
스캐너 이미지:
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
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 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
스캔 후 서브도메인 결과는 /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-template-version
현재 nuclei 템플릿 버전은 9.3.1입니다.
명령을 실행하여 9.3.2 버전 업데이트 모니터링
기업 WeChat 알림
URL 목록 저장 위치
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp nuclei-template-id
Nuclei의 단일 템플릿 ID를 확인하세요. 여기서는 6296입니다.
명령을 실행하여 템플릿 스캔
URL 목록 저장 위치
$ python3 darkangel.py --nuclei-file-scan-by-temp-name nuclei-template-name
프론트엔드 스캔 제조사
프론트엔드 - 스캔 도메인 이름
프론트엔드 - 스캔 결과
TG 알림 - 취약점 결과
TG 알림 - 스캔 과정
WeChat 알림 - 스캔 과정
WeChat 알림 - 취약점 결과
먼저 DarkAngel을 더 좋게 만들어 주셔서 감사합니다 👍
버그 피드백, 제안 및 취약점 템플릿 제출 시 귀하의 Github ID는 다음 감사 목록에 공개됩니다:
https://github.com/Bywalks/DarkAngel/blob/main/THANKS.md
버그 피드백
현재 DarkAngel 오류 메시지나 스크린샷을 GitHub Issues에 제출하고 재현 단계를 자세히 설명해 주세요.
기능 제안
GitHub Discussions에서 자유롭게 의견을 나누고 개발자와 원하는 기능에 대해 논의할 수 있습니다.
취약점 템플릿 제출
GitHub Discussions에 취약점 템플릿을 제출해 주세요. 오픈 소스 프로젝트는 모든 사람의 기여가 필요합니다.
업데이트
업데이트
업데이트
업데이트
업데이트
업데이트
업데이트
업데이트
기능