
Контроль прогресса пентеста/баг-баунти с модулями сканирования
Контроль области сканирования, сканер области и трекер прогресса для упрощения работы над проектами bug bounty или пентеста
Анатолий Иванов из Positive Technologies
Инструмент способствует более методичной работе над пентестом / багбаунти, отслеживая прогресс и общую информацию о сканированиях.
Он может запускать:
против области, над которой вы работаете, и сохранять данные в удобной форме. Выполнять полезную фильтрацию данных проекта, например:
Базовая настройка через docker-compose будет работать на любой системе, где есть зависимости docker и docker-compose
Если у вас не установлен docker, то
sudo apt install docker.io
Если у вас установлен docker, то для Ubuntu/Debian просто
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
git clone https://github.com/c0rvax/project-black
cd project-black
sudo docker-compose up
Если вы видите какие-то ошибки SQL, попробуйте остановить docker-compose (Ctrl + C один раз и дождитесь корректного завершения) и выполните docker-compose up
Это может занять некоторое время, но всё готово! В других дистрибутивах инструкции должны быть очень похожи.
Теперь перейдите на http://localhost:5000, введите учётные данные. Их можно найти в https://github.com/c0rvax/project-black/blob/master/config/config_docker.yml в разделе application
Для более сложной настройки или если что-то пошло не так, смотрите wiki.
Ни один из контейнеров docker не ограничивает использование ресурсов, всё зависит от вас, однако вы можете изменить количество параллельных задач для каждого воркера отдельно. Смотрите wiki по этому поводу
После настройки создайте проект и перейдите на соответствующую страницу.

Теперь мы выполним базовые шаги, которые можно сделать в приложении
Допустим, мы оцениваем hackerone.com и все его поддомены. Введите hackerone.com в поле add scope и нажмите Add to scope

Точка входа добавлена.
Существуют и другие способы добавления области, смотрите wiki
Все задачи могут считывать параметры от пользователя, однако запуск с некоторыми опциями не покажет новых результатов, так как довольно сложно обработать все возможные выводы программы. Поэтому для начала попробуйте работать, дублируя опции из этого руководства.
Доступные опции можно найти на этой странице
Нажмите синюю кнопку Launch task.

Появится всплывающее окно с параметрами.

Рекомендуется установить флажок All_top_level_domains и в argv ввести -ip, затем нажать кнопку Fire!.

Это запустит amass -d hackerone.com -ip. Обратите внимание, что в этом случае мы не указали домен. Это потому, что флажок All_top_level_domains означает просмотр области, хранящейся в базе данных. Таким образом, программа видит, что hackerone.com был добавлен в область, и запускает amass против него.
По завершении новые данные автоматически добавляются в область.
Теперь перейдите на вкладку IPs. Нажмите уже знакомую кнопку Launch task и выберите masscan.
Мы запустим быстрое сканирование, используя кнопку Top N ports. Это автоматически заполняет параметр argv. Нажмите Fire!

Результаты автоматически загружаются из базы данных.

Теперь нажмите Launch task и выберите nmap only open. Это найдет все открытые порты, которые есть в базе данных, и запустит nmap только против них.
Нажмите Banner и Fire.

Обнаруженные баннеры автоматически появятся.

Запустите dirsearch против всех IP-адресов и всех открытых портов (будут проверены как HTTP, так и HTTPS)
На вкладке IPs нажмите Launch task и выберите dirsearch. Заполните расширения, которые хотите попробовать, и нажмите Fire!
Вы можете запустить dirsearch против хостов (не IP) на вкладке Hosts.
Если портов нет, dirsearch даже не запустится. Поэтому сначала убедитесь, что вы запустили nmap или masscan для обнаружения открытых портов.
В целом есть три способа проверить результаты:
Это две вкладки. Они работают одинаково, поэтому остановимся на хостах.

Вы видите список хостов, их порты и файлы. Также вы можете отредактировать комментарий для этого хоста.
Важная часть здесь — поле фильтрации.

Вы можете агрегировать различные фильтры, используя поле, показанное выше. Введите нужный фильтр (для этого есть подсказка) и нажмите Shift + Enter

Вы также можете посмотреть детали по конкретному хосту или IP. Нажмите кнопку с очками.

Там вы увидите результат dirsearch для каждого открытого порта на этом хосте.
Кнопка Dirsearch list откроет новое окно, показывающее все найденные файлы для каждого запуска dirsearch в этом проекте.
Кнопки Launch task на страницах IP и Hosts различаются! Кнопка на странице IP запускает задачи против всех IP в текущем проекте, тогда как кнопка на странице Hosts запускает их против хостов.
Чтобы запустить задачу против некоторых хостов, нужно:
Пример:

Были применены некоторые фильтры. Если теперь запустить dirsearch, он будет запущен против хостов, соответствующих используемым фильтрам.