Hacking

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

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

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

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

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

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: 1 Average: 5]
faza

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

12 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

1 год ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

1 год ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

1 год ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

1 год ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

1 год ago