
una herramienta asíncrona de enumeración de objetivos
:mag: una herramienta asíncrona de enumeración de objetivos :mag_right:
bscan es una utilidad de línea de comandos para realizar recolección activa de información y enumeración de servicios. En esencia, bscan lanza de forma asíncrona procesos de utilidades de escaneo bien conocidas, reutilizando los resultados del escaneo en una salida de consola resaltada y una estructura de directorios bien definida.
bscan está destinado únicamente a fines educativos y eventos como CTFs, y nunca debe ejecutarse en máquinas y/o redes sin un consentimiento previo explícito. Este código se publica bajo la licencia MIT.
bscan fue escrito para ejecutarse en Kali Linux, pero no hay nada que lo impida inherentemente de ejecutarse en cualquier sistema operativo que tenga las herramientas adecuadas instaladas. Hay algunos tipos diferentes de versiones empaquetadas y formas de instalarlas.
La forma más sencilla de empezar es descargar la versión ejecutable de un solo archivo adecuada para su sistema operativo (no requiere instalación de Python):
# en Linux (ej., Kali)
wget -O bscan https://releases.brianwel.ch/bscan/linux
# en Windows
powershell -c "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget 'https://releases.brianwel.ch/bscan/windows' -OutFile 'bscan.exe'"
# para descargar una versión específica, use el siguiente patrón
wget -O bscan https://releases.brianwel.ch/github/bscan/linux/0.1.4
También puede descargar la última versión empaquetada desde PyPI (tenga en cuenta que esto requiere una instalación existente de Python 3.6+):
pip install bscan
Del mismo modo, puede obtener la versión más reciente desde el control de versiones:
pip install https://github.com/welchbj/bscan/archive/master.tar.gz
bscan tiene una amplia variedad de opciones de configuración que se pueden usar para ajustar los escaneos a sus necesidades. Aquí hay un ejemplo rápido:
$ bscan \
> --max-concurrency 3 \
> --patterns [Mm]icrosoft \
> --status-interval 10 \
> --verbose-status \
> scanme.nmap.org
¿Qué está pasando aquí?
--max-concurrency 3 significa que no se ejecutarán más de 3 subprocesos de escaneo concurrentes a la vez--patterns [Mm]icrosoft define un patrón de expresión regular personalizado con el cual resaltar coincidencias en la salida del escaneo generado--status-interval 10 le indica a bscan que imprima actualizaciones de estado en tiempo de ejecución cada 10 segundos--verbose-status significa que cada una de estas actualizaciones de estado imprimirá detalles de todos los subprocesos de escaneo que se estén ejecutando actualmentescanme.nmap.org es el host en el que queremos enumerarbscan también depende de algunos archivos de configuración adicionales. Los archivos predeterminados se pueden encontrar en el directorio bscan/configuation y tienen los siguientes propósitos:
patterns.txt especifica los patrones de expresión regular que se resaltarán en la salida de la consola cuando coincidan con la salida del escaneorequired-programs.txt especifica los programas instalados que bscan planea usarport-scans.toml define los escaneos de descubrimiento de puertos que se ejecutarán en el/los objetivo(s), así como las expresiones regulares utilizadas para analizar los números de puerto y nombres de servicios de la salida del escaneoservice-scans.toml define los escaneos que se ejecutarán en el/los objetivo(s) por servicioEsto es lo que debería ver al ejecutar bscan --help:
usage: bscan [OPTIONS] targets
_
| |__ ___ ___ __ _ _ __
| '_ \/ __|/ __/ _` | '_ \
| |_) \__ \ (__ (_| | | | |
|_.__/|___/\___\__,_|_| |_|
an asynchronous service enumeration tool
positional arguments:
targets the targets and/or networks on which to perform enumeration