
uma ferramenta de enumeração de alvos assíncrona
:mag: uma ferramenta assíncrona de enumeração de alvos :mag_right:
O bscan é um utilitário de linha de comando para realizar coleta ativa de informações e enumeração de serviços. Em seu núcleo, o bscan inicia de forma assíncrona processos de utilitários de varredura conhecidos, reaproveitando os resultados das varreduras em saída de console destacada e uma estrutura de diretórios bem definida.
O bscan destina-se apenas a fins educacionais e eventos como CTFs e nunca deve ser executado em máquinas e/ou redes sem consentimento prévio explícito. Este código é distribuído sob a licença MIT.
O bscan foi escrito para ser executado no Kali Linux, mas não há nada que o impeça de funcionar em qualquer SO com as ferramentas apropriadas instaladas. Existem alguns tipos diferentes de versões empacotadas e formas de instalá-las.
A maneira mais fácil de começar é baixar a versão executável de arquivo único apropriada para seu sistema operacional (nenhuma instalação do Python necessária):
# no Linux (isto é, Kali)
wget -O bscan https://releases.brianwel.ch/bscan/linux
# no Windows
powershell -c "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget 'https://releases.brianwel.ch/bscan/windows' -OutFile 'bscan.exe'"
# para baixar uma versão específica, use o seguinte padrão
wget -O bscan https://releases.brianwel.ch/github/bscan/linux/0.1.4
Você também pode baixar a versão empacotada mais recente do PyPI (observe que isso requer uma instalação existente do Python 3.6+):
pip install bscan
Da mesma forma, você pode obter a versão mais recente do controle de versão:
pip install https://github.com/welchbj/bscan/archive/master.tar.gz
O bscan possui uma ampla variedade de opções de configuração que podem ser usadas para ajustar as varreduras às suas necessidades. Aqui está um exemplo rápido:
$ bscan \
> --max-concurrency 3 \
> --patterns [Mm]icrosoft \
> --status-interval 10 \
> --verbose-status \
> scanme.nmap.org
O que está acontecendo aqui?
--max-concurrency 3 significa que no máximo 3 subprocessos de varredura simultâneos serão executados por vez--patterns [Mm]icrosoft define um padrão regex personalizado para destacar correspondências na saída da varredura gerada--status-interval 10 diz ao bscan para imprimir atualizações de status em tempo de execução a cada 10 segundos--verbose-status significa que cada uma dessas atualizações de status imprimirá detalhes de todos os subprocessos de varredura atualmente em execuçãoscanme.nmap.org é o host que queremos enumerarO bscan também depende de alguns arquivos de configuração adicionais. Os arquivos padrão podem ser encontrados no diretório bscan/configuation e servem aos seguintes propósitos:
patterns.txt especifica os padrões regex a serem destacados na saída do console quando correspondentes à saída da varredurarequired-programs.txt especifica os programas instalados que o bscan planeja usarport-scans.toml define as varreduras de descoberta de portas a serem executadas no(s) alvo(s), bem como as expressões regulares usadas para analisar números de porta e nomes de serviços da saída da varreduraservice-scans.toml define as varreduras a serem executadas no(s) alvo(s) por serviçoAqui está o que você deve ver ao executar bscan --help:
usage: bscan [OPTIONS] targets
_
| |__ ___ ___ __ _ _ __
| '_ \/ __|/ __/ _` | '_ \
| |_) \__ \ (__ (_| | | | |
|_.__/|___/\___\__,_|_| |_|
an asynchronous service enumeration tool
positional arguments:
targets the targets and/or networks on which to perform enumeration
optional arguments:
-h, --help show this help message and exit
--brute-pass-list F filename of password list to use for brute-forcing
--brute-user-list F filename of user list to use for brute-forcing
--cmd-print-width I the maximum integer number of characters allowed when printing
the command used to spawn a running subprocess (defaults to 80)
--config-dir D the base directory from which to load the configuration files;
required configuration files missing from this directory will
instead be loaded from the default files shipped with this
program
--hard force overwrite of existing directories
--max-concurrency I maximum integer number of subprocesses permitted to be running
concurrently (defaults to 20)
--no-program-check disable checking the presence of required system programs
--no-file-check disable checking the presence of files such as configured
wordlists
--no-service-scans disable running scans on discovered services
--output-dir D the base directory in which to write output files
--patterns [ [ ...]] regex patterns to highlight in output text
--ping-sweep enable ping sweep filtering of hosts from a network range
before running more intensive scans
--quick-only whether to only run the quick scan (and not include the
thorough scan over all ports)
--qs-method S the method for performing the initial TCP port scan; must
correspond to a configured port scan
--status-interval I integer number of seconds to pause in between printing status
updates; a non-positive value disables updates (defaults to 30)
--ts-method S the method for performing the thorough TCP port scan; must
correspond to a configured port scan
--udp whether to run UDP scans
--udp-method S the method for performing the UDP port scan; must correspond
to a configured port scan
--verbose-status whether to print verbose runtime status updates, based on
frequency specified by `--status-interval` flag
--version program version
--web-word-list F the wordlist to use for scans