
Scanner automatizado de vulnerabilidades white-hat que monitora ativos do HackerOne e Bugcrowd, realiza enumeração de subdomínios, crawling, fingerprinting e escaneamento com Nuclei/Xray, em seguida gera relatórios e envia notificações.
GitHub stars
tweet
Twitter
Github
Inglês | Chinês
DarkAngel é um scanner de vulnerabilidades white hat totalmente automático, que pode monitorar ativos do hacker e bugcrowd, gerar relatórios de vulnerabilidades, captura de tela da URL da vulnerabilidade e enviar notificações de mensagens.
Endereço de download do DarkAngel:github.com/Bywalks/DarkAngel
Recursos atualmente suportados:
Bem-vindo a enviar alguns modelos de vulnerabilidade para este projeto
Gerar relatório de vulnerabilidade automaticamente - formato MarkDown - endereço de armazenamento /root/DarkAngel/vulscan/results/report
Suporte para adicionar modelos de relatório de vulnerabilidade personalizados. Atualmente, os seguintes modelos de relatório de vulnerabilidade foram adicionados. O nome da vulnerabilidade pode ser configurado como o nome do arquivo do modelo nuclei
Formato de modelo de relatório de vulnerabilidade personalizado
Você pode ver primeiro como obter a configuração:Tutorial de Configuração do TG
Após obter os parâmetros, configure os parâmetros em /root/markup/vconfig/config.ini para ativar as notificações do TG empresarial
Notificação TG - Resultados de Vulnerabilidades
Notificação TG - processo de varredura
Você pode ver primeiro como obter a configuração:Documento de interface de desenvolvimento do WeChat Empresarial
Após obter os parâmetros, configure os parâmetros em /root/markup/vconfig/config.ini para ativar as notificações do WeChat empresarial
Notificação WeChat - Resultados de Vulnerabilidades
Notificação WeChat - processo de varredura
##Instalação
A arquitetura geral do projeto é ES+Kibana+scanner, portanto, a instalação requer três partes
Imagem 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
Imagem 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
Imagem do 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
O diretório montado no contêiner docker não tem permissão: Solução 1: Ao executar o contêiner: --privileged=true; Solução 2: O host executa o comando: 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 adicionar novo domínio do h1 e bc
--scan-domain-by-time SCAN_DOMAIN_BY_TIME SCAN_DOMAIN_BY_TIME
varrer domínios h1 e bc por hora de lançamento
--scan-new-domain adicionar e varrer novo domínio do h1 e bc
--add-domain-and-scan ADD_DOMAIN_AND_SCAN [ADD_DOMAIN_AND_SCAN ...]
adicionar e varrer novo domínio adicionado manualmente
--offer-bounty {yes,no}
definir se o domínio adicionado tem recompensa ou não
--nuclei-file-scan varrer novo domínio do h1 e bc
--nuclei-file-scan-by-new-temp NUCLEI_FILE_SCAN_BY_NEW_TEMP
usar novo modelo para varrer cinco arquivos com nuclei
--nuclei-file-scan-by-new-add-temp NUCLEI_FILE_SCAN_BY_NEW_ADD_TEMP
adicionar novo modelo para varrer cinco arquivos com nuclei
--nuclei-file-scan-by-temp-name NUCLEI_FILE_SCAN_BY_TEMP_NAME
usar modelo para varrer cinco arquivos com nuclei
--nuclei-file-polling-scan
varredura de polling de cinco arquivos com 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
-Adição personalizada de nomes de domínio de varredura e varredura de vulnerabilidades desses nomes de domínio -O nome do arquivo é o nome do fabricante, e a memória do arquivo precisa varrer o nome de domínio -O parâmetro --offer-bounty é necessário para definir se o nome de domínio fornece recompensa
Após a varredura, os resultados do nome de subdomínio serão armazenados no diretório /root/DarkAngel/vulscan/results/urls. Eles são armazenados nos arquivos bounty_temp_urls_output.txt e nobounty_temp_urls_output.txt.
$ python3 darkangel.py --nuclei-file-scan
Local de armazenamento da lista de URLs
$ python3 darkangel.py --nuclei-file-polling-scan
$ python3 darkangel.py --nuclei-file-scan-by-new-temp nuclei-template-version
A versão atual do modelo nuclei é 9.3.1
Execute o comando para monitorar a atualização da versão 9.3.2
Notificação do WeChat Empresarial
Local de armazenamento da lista de URLs
$ python3 darkangel.py --nuclei-file-scan-by-new-add-temp nuclei-template-id
Verifique o ID do modelo único do Nuclei, que aqui é 6296
Execute o comando para varrer o modelo
Local de armazenamento da lista de URLs
$ python3 darkangel.py --nuclei-file-scan-by-temp-name nuclei-template-name
Front-end - fabricante de varredura
Front-end - nome de domínio varrido
Front-end - Resultados da Varredura
Notificação TG - Resultados de Vulnerabilidades
Notificação TG - Processo de Varredura
Notificação WeChat - Processo de Varredura
Notificação WeChat - Resultados de Vulnerabilidades
Em primeiro lugar, obrigado por dedicar seu tempo para tornar o DarkAngel melhor 👍
Feedback de bugs, sugestões e envio de modelo de vulnerabilidade, seu ID do GitHub será divulgado na lista de agradecimentos a seguir:
https://github.com/Bywalks/DarkAngel/blob/main/THANKS.md
Feedback de bugs
Por favor, envie a mensagem de erro ou captura de tela atual do DarkAngel em GitHub Issues e descreva suas etapas de replicação em detalhes.
Sugestões de funcionalidades
Em GitHub Discussions, você pode falar livremente e discutir as funções que deseja com os desenvolvedores.
Envio de modelo de vulnerabilidade
Bem-vindo a enviar modelos de vulnerabilidade em GitHub Discussions. Projetos de código aberto exigem a contribuição de todos.
Atualização
Atualização
Atualização
Atualização
Atualização
Atualização
Atualização
Atualização
Função