Утилиты помогающие при охоте за багами

Утилиты помогающие при охоте за багами

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

Как искать поддомены

Каж­дый под­домен — это потен­циаль­ная задача, например собственно что их разведка — раз из пер­вых шагов при раз­ведке. В боль­ших ком­пани­ях, вро­де IBM или же Microsoft, исполь­зуют­ся десят­ки тыс. под­доменов, и все их нуж­но под­держи­вать в акту­аль­ном сос­тоянии, сво­евре­мен­но ста­вить обновле­ния соф­та и фик­сить баги. Как показы­вает прак­тика, о некото­рых под­доменах прос­то забыва­ют или же ста­вят заг­лушки, но целый кон­тент при данном оста­ется дос­тупен. Кри­тичес­кие уяз­вимос­ти, вро­де RCE, SSTI, SSRF или же XXE, почаще все­го обна­ружи­вают на под­доменах. Чем боль­ше ты их най­дешь, что обширнее станет повер­хность ата­ки. Сущес­тву­ет довольно мно­го инс­тру­мен­тов для их поис­ка, поэто­му я рас­смот­рю толь­ко те, которые прош­ли про­вер­ку и показа­ли себя эффектив­ными на раз­ных прог­раммах bug bounty.

Нач­нем с вари­анта для бездеятельных. Ути­лита Chaos собира­ет информа­цию об абсолютно всех пуб­личных прог­раммах, находя­щих­ся в извес­тных баг­баун­ти‑плат­формах, вро­де Bugcrowd, HackerOne, Intigrity.

Chaos Утилиты помогающие при охоте  за багами

Chaos

В то время когда пишется эта статья на сайте 513 программ. Информация постоянно обновляется, поэтому вы всегда будете видеть самую свежую информацию.

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

chaos -d uber.com -silent

restaurants.uber.com
testcdn.uber.com
approvalservice.uber.com
zoom-logs.uber.com
eastwood.uber.com
meh.uber.com
webview.uber.com
kiosk-api.uber.com

recon.dev

Сайт про­екта

Такой же сайт, который поможет собрать много полезной информации о поддоменах. В отличие от Chaos, recon.dev бесплатно показывает только первые 20 результатов поиска. За остальное придется заплатить, но цена полученного набора данных невелика.

Утилиты помогающие при охоте  за багами

recon.dev

subfinder

Ска­чать с GitHub

Subfinder считается наследником sublist3r — утилита также собирает информацию о поддоменах, используя множество пассивных онлайн-источников, таких как Baidu, Bing, Censys. Некоторые источники требуют, чтобы вы добавляли ключи API в файл конфигурации ($ HOME / .config / subfinder / config.yaml).

Subfinder имеет практичную модульную архитектуру и написан на Go, поэтому работает очень быстро.

Утилиты помогающие при охоте  за багами

Subfinder

СЛОВАРИ

Пе­ред тем как начинать раз­ведку, сто­ит запас­тись пач­кой доб­ротных сло­варей. От выбора хороше­го сло­варя зависит мно­гое: чем боль­ше будет соб­рано скры­тых парамет­ров, под­доменов, дирек­торий и фай­лов, тем выше шанс обна­ружить какую‑нибудь брешь в безопас­ности.

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

fuzz.txt

Ска­чать с GitHub

Я всегда начинаю с файла fuzz.txt, который содержит список потенциально опасных файлов и каталогов. Словарь пополняется новыми словами почти каждый месяц. Он быстро прокручивается, поэтому вы можете быстро сортировать находки и одновременно просматривать другие, более объемные списки. Словарь содержит 4842 слова, но опыт показывает, что он идеально подходит для начального изучения веб-приложения.

SecLists

Ска­чать с GitHub

SecLists — это полный набор словарей, которые будут очень полезны не только для выявления ошибок, но и для тестирования на проникновение. Словари включают имена пользователей, пароли, параметры URL, поддомены, веб-оболочки и многое другое. Я настоятельно рекомендую вам потратить некоторое время на подробное изучение содержимого коллекции.

Утилиты помогающие при охоте  за багами

Страница проекта

Assetnote Wordlists

Сайт про­екта

Еще один классный сборник словарей для изучения всевозможного контента и поддоменов. Словари создаются 28 числа каждого месяца с помощью действия commonspeak2 и GitHub Actions.

Assetnote

Помимо автоматически сгенерированных коллекций, на сайте также есть словари, созданные вручную с помощью Google BigQuery.

Самостоятельная генерация

Часто вам приходится создавать собственные словари. Написание сценария, конечно, не составит труда, но зачем изобретать велосипед?

Есть много инструментов для создания словарей, но среди всех я использую Pydictor. Tulza предлагает множество функций, которые помогут вам создать идеальный словарь практически для любой ситуации. Кроме того, Pydictor может сравнивать файлы, подсчитывать частоту слов и объединять несколько словарей в один.

Возьмем пример. Предположим, мы знаем, что пароль представляет собой модифицированную версию слова Password и может содержать:

              • вмес­то а знак @;
              • вмес­то о 0;
              • в кон­це от одно­го до трех чисел.

Ге­нери­рует­ся такой сло­варь с помощью сле­дующей коман­ды:

./pydictor.py --conf '[P[a,@]{1,1}<none>ssw[o,0]{1,1}<none>rd[0-9]{1,3}<none>' --output /home/kali/Desktop/pydict

Здесь <none> озна­чает, что ути­лите не нуж­но делать никаких допол­нитель­ных дей­ствий с под­ста­новоч­ной ком­бинаци­ей.

Утилиты помогающие при охоте  за багами

В конце Pydictor показывает краткое описание процесса генерации. Не очень важная информация, но озабоченность разработчика чувствуется.

СКАНЕРЫ ПОРТОВ

Прогулка по всем портам в поисках интересных вещей — приятное занятие на багбаунти. Еще лучше, если вы найдете приложение, которое еще никто не исследовал! В то же время не забывайте, что даже кажущиеся безобидными порты могут скрыть то, чего вы не совсем ожидаете. Например, я нашел HTTP-сервис на 22-м порту: его даже нельзя ввести в браузере, только через curl или wget!

Если объем не особенно велик, то Nmap хорошо подходит для скана. Nmap определенно не нуждается в представлении. Но что, если хостов много? Хотя Nmap — мощный инструмент, у него есть существенный недостаток — он медленный. Альтернативой, но не конкурентом, является masscan: он быстрый, но не такой функциональный, как Nmap. Чтобы сканирование портов было действительно быстрым и эффективным, вы можете использовать оба сканера вместе.

MassMap

Ска­чать с GitHub

С MassMap вы можете сканировать большое количество IP-адресов со скоростью masscan и тщательностью Nmap. MassMap написан на Bash, поэтому вам не нужно ничего компилировать, чтобы использовать его.

Перед запуском сканирования скрипт проверяет наличие всего, что требуется для выполнения работы, и автоматически устанавливает его, если что-то отсутствует.

Алгоритм работает просто: сначала с помощью masscan все 65 535 TCP-портов сканируются на предмет списка переданных IP-адресов. Затем Nmap просматривает обнаруженные открытые порты (в том числе с помощью скриптов), отображая для каждого из них уже расширенную информацию. Результат можно сохранить в читаемом формате.

MassMap

Утилиты помогающие при охоте  за багами

Результаты

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

dnmasscan

Ска­чать с GitHub

Dnmasscan — это еще один скрипт на Bash для авто­мати­чес­кого резол­винга домен­ных имен и пос­леду­юще­го их ска­ниро­вания с помощью masscan. Пос­коль­ку masscan не при­нима­ет домен­ные име­на, скрипт соз­дает файл, в котором записа­ны IP-адре­са доменов.

Утилиты помогающие при охоте  за багами

Утилиты помогающие при охоте  за багами

Вывод dnmasscan

ФАЙЛЫ, ДИРЕКТОРИИ, ПАРАМЕТРЫ

Поддомены и IP-адреса собраны — пора приступить к их изучению. Здесь в основном используются всевозможные брутеры, которые анализируют ответы, чтобы понять, существует ли желаемый путь или параметр.

Gobuster

Ска­чать с GitHub

Gobuster — один из самых мощных и известных инструментов для поиска файлов и каталогов на веб-сайтах. Однако, если бы все его возможности были ограничены грубым путем и сравнением кода ответа, вы могли бы самостоятельно запустить то же самое на Python примерно за пять минут, а gobuster также может перебирать поддомены, виртуальные имена хостов на целевом веб-сервере и открывать репозитории Amazon. S3.

Утилиты помогающие при охоте  за багами

Gobuster

GoSpider

Ска­чать с GitHub

GoSpider -универсальный интернет-паучище), также написанный на Go. Утилита может анализировать robots.txt и sitemap.xml, искать поддомены в ответе и получать ссылки с Internet Wayback Machine. GoSpider также поддерживает параллельное отслеживание нескольких сайтов, что значительно ускоряет процесс сбора информации.

Утилиты помогающие при охоте  за багами

GoSpider

Поисковики

Свой первый баг, за который мне заплатили, я обнаружил благодаря поисковикам. Бывает, что ни gobuster, ни GoSpider не дают никаких результатов. Но если инструменты ничего не находят, это не значит, что на сайте действительно ничего нет.

В слож­ных слу­чаях на помощь час­то при­ходят поис­ковики: дос­таточ­но прос­то вбить в них site:site.com — и поис­ковый робот вывалит тебе готовый спи­сок. Мно­гие фай­лы и дирек­тории никог­да не были бы обна­руже­ны, если бы не поис­ковики.

Важ­но исполь­зовать сра­зу нес­коль­ко поис­ковиков (да, сущес­тву­ет не толь­ко Google, но и Bing, и Yahoo), потому что каж­дый может показать раз­ные резуль­таты.

Давайте посмотрим на результаты поиска iom.bus.att.com. В Google будет только два результата.

Утилиты помогающие при охоте  за багами

Поиск Google

А теперь тот же самый зап­рос в Bing.

Утилиты помогающие при охоте  за багами

Bing

Как видите, в поисковой выдаче уже есть девять результатов вместо двух. Так вот не нужно забывать, что кроме Google есть и другие поисковые системы!

arjun

Ска­чать с GitHub

Arjun может найти скрытые параметры запроса для указанных конечных точек. Вот некоторые особенности:

  • под­держи­вает зап­росы GET, POST, POST-JSON, POST-XML;
  • эк­спор­тиру­ет резуль­таты в Burp Suite, тек­сто­вые или JSON-фай­лы;
  • ав­томати­чес­ки обра­баты­вает rate limits и тайм‑ауты.

Утилиты помогающие при охоте  за багами

Arjun

INTERNET WAYBACK MACHINE

Wayback Machine — это огромный архив веб-страниц с более чем 330 миллиардами сохраненных копий, индексированных для облегчения поиска. В проекте сохранены исторические версии, благодаря которым вы можете вернуться на много лет назад и увидеть, какое место вас интересует.

Как это полезно для охотника за багами? Например, вам может быть интересно посмотреть старые файлы robots.txt. В нем указаны конечные точки, которые не должны индексироваться поисковыми системами, и этот список со временем меняется.

Wayback Machine втихаря архивирует все это, и старые конечные точки вполне могут работать, поэтому было бы преступлением не воспользоваться этой возможностью, чтобы получить список заведомо интересных мест от самих владельцев сайта!

Waybackrobots

Ска­чать с GitHub

Waybackrobots — это удобный и очень простой скрипт, который автоматизирует процесс получения старых версий robots.txt. У него есть только один обязательный параметр: -d, он указывает домен, в котором копать.

Утилиты помогающие при охоте  за багами

Waybackrobots

wbk.go

Ска­чать с GitHub

У Wayback Machine, помимо прочего, есть список всех URL-адресов, которые он собрал для домена. Например, вы можете получить список всех URL-адресов, которые компьютер заархивировал для tesla.com.

Скрипт wbk.go авто­мати­чес­ки извле­чет урлы, заар­хивиро­ван­ные в Wayback Machine, для нуж­ного тебе домена.

go run wbk.go tesla.com

Утилиты помогающие при охоте  за багами

Демонстрация работы

GITHUB

GitHub — это отраслевой стандарт для управления версиями и совместной работы над проектами. Миллионы разработчиков вносят изменения в код на GitHub несколько раз в день и не всегда смотрят, что они скачивают. Бывает, что случайно забывают удалить учетные данные — логины, пароли и различные токены.

Вы наверняка не раз сталкивались с Google dorks. GitHub также имеет свои собственные инструменты, которые вы можете использовать для поиска данных, таких как ключи API.

gdorklinks.sh

Ска­чать с GitHub Gist

Простой скрипт, который генерирует поисковые ссылки GitHub с дор­ками. Вы должны ввести название компании или веб-сайт в качестве параметра. В результате вы получите готовые ссылки, которые вам просто нужно вставить в браузер и изучить полученную информацию.

Утилиты помогающие при охоте  за багами

gdorklinks.sh

GirDorker

Ска­чать с GitHub

GitDorker не только генерирует ссылки, но и сразу же извлекает информацию с помощью API поиска GitHub и обширного списка дор­ков, которых в настоящее время насчитывается 513. Этот инструмент можно назвать более продвинутой версией предыдущего скрипта.

Для работы вам понадобится токен GitHub Personal Access Token, а еще лучше — как минимум два таких токена. Это связано с тем, что API поиска ограничен 30 запросами в минуту: если есть только один токен, вы очень быстро достигнете пределов.

GitDorker

ФРЕЙМВОРКИ

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

Sudomy

Ска­чать с GitHub

Sudomy — это буквально мощный скрипт на Bash. Включает в себя множество инструментов для анализа, подсчета, исследования поддоменов. Сбор информации может осуществляться пассивно или активно.

Для активного метода скрипт использует gobuster из-за его высокой скорости перебора. При переборе поддоменов используется словарь SecLists (Discover / DNS), который содержит примерно три миллиона записей. При пассивном методе информация собирается из 22 источников, включая Censys, SpySe, DNSdumpster и VirusTotal.

Что­бы пол­ностью разоб­рать Sudomy, понадо­бит­ся еще одна статья, поэто­му я прос­то ска­жу, что он уме­ет:

  • про­веря­ет, воз­можно ли лег­ко зах­ватить под­домен;
  • иден­тифици­рует тех­нологии, исполь­зуемые сай­том;
  • об­наружи­вает пор­ты, урлы, заголов­ки, дли­ну содер­жимого, код сос­тояния HTTP;
  • про­веря­ет при­над­лежность IP к Cloudflare;
  • мо­жет отправ­лять уве­дом­ления в Slack;
  • ска­ниру­ет пор­ты с соб­ранных IP-адре­сов, под­доменов, вир­туаль­ных хос­тов.

Например, давайте просто запустим скрипт с параметрами --all (выполнить все перечисления) и --html (создать отчет в HTML). Посмотрим, что он найдет, например, для hackerone.com.

Утилиты помогающие при охоте  за багами

Результаты

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

Reconftw

Ска­чать с GitHub

Reconftw — это очень большой скрипт, который автоматизирует буквально все, от разведки до поиска уязвимостей. Он содержит лучшие инструменты, используемые охотниками за ошибками, в том числе описанные в этой статье. Вот лишь небольшая часть того, что он умеет:

  • ис­кать URL на сай­те;
  • со­бирать информа­цию о под­доменах;
  • ис­кать откры­тые бакеты S3 и дам­пить их содер­жимое;
  • про­верять наличие XSS, SSRF, CRLF, LFI, SQLi и дру­гих уяз­вимос­тей;
  • про­верять, есть ли на сай­те WAF;
  • от­прав­лять опо­веще­ния в Slack, Discord и Telegram;
  • ис­кать парамет­ры URL.

ЗАКЛЮЧЕНИЕ

Конечно, в статье рассматриваются не все инструменты распознавания. На мой взгляд, это самые крутые из них, с которыми я работаю, но у вас могут быть лучшие инструменты. Если вам этого недостаточно, взгляните на репозитории KingOfBugbounty и nahamsec.

 

 

 

 

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a reply:

Your email address will not be published.