Русский
Русский
English
Статистика
Реклама

Burpsuite

Из песочницы Burp Suite Tips

12.07.2020 16:04:26 | Автор: admin

Burp Suite это платформа для выполнения тестирования по безопасности веб-приложений. В этой заметке я поделюсь несколькими приёмами, как использовать данный инструмент более эффективно.



Настройки


Для правильной работы с любым инструментом важно его настроить под себя. В Burp Suite существуют 2 типа настроек:


  • User Options Настройки относящиеся к самому Burp Suite
  • Project Options Настройки к тому, что хакаешь

Кодировки


При исследовании русскоязычных ресурсов, часто в ответе от сервера вместо кириллицы могут отображаться кракозябры. Чтобы этого избежать можно установить кодировку UtF-8 и продолжать работу в нормальном режиме. Настройки кодировок находятся в User Options -> Display -> Characters Sets.



Хоткеи


Чтобы действительно ускорить свою работу с Burp Suite стоит попробовать перейти на использование сочетаний клавиш. Можно использовать установленные по умолчанию, но также есть возможность перенастроить "под себя". Для управления хоткеями достаточно перейти в User Options -> Misc -> Hotkeys. Несколько полезных сочетаний:


  • Кодирование\декодирование:
    • Ctrl+(Shift)+U|H|B для URL|HTML|Base64 (de)code
  • Навигация по GUI:
    • Ctrl+Shift+T|P|S|I|R Переключение между утилитами
    • Ctrl+I|R|D "Отправить запрос в утилиту"
  • Burp Repeater:
    • Ctrl+G "Выполнить запрос в Burp Repeater"

Proxy Interception


Бывало ли у вас такое, что настроив перенаправление траффика в Burp Proxy приложение почему-то не работало, а в истории запросы так и не появлялись? У меня было так практически каждый раз при старте нового проекта. Всё из-за того, что я забывал отключать перехват в прокси. Каждый раз Чтобы не травмировать свою нервную систему, можно отключить по умолчанию эту полезную функцию. Перейдите в User -> Misc -> Proxy Interseption и выберите опцию "Always Disable".



Приватность


Не смотря на доверие разработчикам из PortSwigger не стоит передавать лишнюю информацию на их сервера. Даже если вы и сами не против "поделиться", то у ваших заказчиков могут быть более строгие правила. Первое, что необходимо сделать отключить отправку анонимных сообщений, отправляемых PortSwigger. Перейдите по пути User Options -> Misc -> Performance Feedback и запретите отправку.


Если вы используете Burp Collaborator, то стоит поднять свой собственный и использовать его. Такое решение позволит обходить некоторые WAF, настроенных на блокировку burpcollaborator.net и его поддоменов. Для управления Burp Collaborator переходим в Project Options -> Misc -> Burp Collaborator Server



Используйте конфиг по умолчанию


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


  • Сделайте необходимые изменения
  • Сохраните настройки проекта и пользователя (это будут JSON файлы).
  • Объедините оба файла в один.
  • Обновляйте его по мере необходимости и храните в надежном месте (например, git репозитории).
  • Финальный конфиг будет выглядеть так:

{    "project_options":{        // options    },    "user_options":{        // options    }}

Отключение плагинов


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



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


Ограничение по памяти


Burp Suite написан на Java, что часто приводит к большому потреблению памяти, особенно в случае долгих автоматических проверок. Для ограничения потребляемых ресурсов можно воспользоваться следующей командой:


java -jar -Xmx2048M burp.jar

Утилиты


В данном разделе будут советы по работе со встроенными утилитами в Burp Suite. Наиболее интересные из них:


  • Burp Proxy лежит в самом сердце управляемого пользователем рабочего процесса Burp Suite, позволяя вам перехватывать, проверять и модифицировать трафик, движущийся в обоих направлениях между сервером и клиентом.
  • Burp Repeater инструмент для обработки HTTP-запросов, их редактирования и анализа ответов веб-приложений вручную.
  • Burp Intruder мощный инструмент для автоматизации специализированных атак против веб-приложений. Это очень гибкий и хорошо настраиваемый инструмент, который может использоваться для выполнения огромного спектра задач, возникающих во время тестирования приложений.

Найти ссылки на хост


Иногда, появляется необходимость найти ссылки на определённый хост. Конечно, можно воспользоваться поиском в истории запросов, но есть более быстрый и эффективный способ. Переходим во вкадку Target -> Site Map, выбираем из списка необходимый хост, правый клик и Engagement tools -> Find reference. В результате, появится список запросов, ссылающихся на интересующий нас хост.



Автозамена


Многие недооценивают полезность функции автозамены в Burp Proxy. Часто её используют для подмены ответов сервера, с целью отключить защитные механизмы в заголовках; замены false на true для повышения привилегированного доступа и т.п. Для меня же наибольшая польза от этого механизма достигается при тестировании мобильных приложений. Очень удобно в самом интерфейсе приложения вводить простые слова, а в результате отправлять сложные выражения. Например, ввести bxss, а отправить полноценный пейлоад BlindXSS. Также, упрощается работа при вводе паролей. Настройки автозамены вы можете найти в Proxy -> Options -> Match and replace.



Переименование вкладок


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



Работает это не только в Burp Repeater, но и в Burp Intruder, что также бывает полезным.


Автопрокрутка


Очень удобной является функция автопрокрутки при поиске в запросах или ответах. Burp будет автоматически перепрыгивать на результат, после отправки запроса, ускоряя вашу работу. Для включения опции после ввода в поисковой строке того, что вы хотите найти, нажмите кнопку "+", чтобы получить доступ к опциям поиска и отметье "Auto-scroll to match when text changes".



Отчёты


При оформлении отчётов гораздо больше информации поместится и симпатичней будут смотреться скриншоты с вертикальным расположением запроса\ответа. Для этого в опциях Burp Repeater отметьте View->Top/bottom split



Целевое сканирование


Вы можете использовать интерфейс Burp Intruder, чтбы сконфигурировать сканирование с использованием Burp Scanner только на необходимые параметры, заголовки и т.п. Для этого, выставите маркеры в нужном вам запросе в интерфейсе Burp Intruder так, как вы это делаете обычно, а затем выберите "Scan defined insertion points" из контекстного меню. В результате будет сэкономлено достаточно времени, т.к. по умолчанию Burp Scanner тестирует все, что доступно в запросе, включая cookies, заголовки, URI, параметры запроса.



Обработка полезной нагрузки на лету


В Burp Intruder можно устанавливать различные обработки полезной нагрузки, до отправки запроса. Установленные правила выполняются последовательно, могут быть включены/отключены, чтобы помочь подебажить в случае каких-то проблем в конфигурации. Правила обработки могут быть полезными во множестве различных ситуациях, где вам нужно сгенерировать необычную нагрузку, или, например, закодировать.


Примеры доступных типов правил:


  • Add prefix / suffix Добавляет текст до или после нагрузки.
  • Match / replace Заменяет любую часть в нагрузке, подходящую под регулярное выражение, указанной строкой.
  • Encode / Decode Кодирует или раскодирует нагрузку различных типов: URL, HTML, Base64, ASCII hex.
  • Hash Производит операцию хэширования над нагрузкой.
  • Skip if matches regex Проверяет удовлетворяет ли нагрузка указанному регулярному выражению и если это так, то пропускает нагрузку и переходит к следующей. Это может быть полезным, например, если вам известно, что значение параметра должно иметь минимальную длину и вы хотите пропустить все значения из списка, которые короче данного значения.


Сортировка результатов Intruder


В Burp Intruder можно помечать результаты, содержащие заданные выражения в ответах от сервера. Для каждого выражения Burp добавит столбец с чекбоксами в таблицу с результатами. В результате, можно будет явно увидеть интересные ответы, а при необходимости сгруппировать, кликнув на заголовок столбца.



Использование этой опции становится максимально полезным при анализе больших объемов результатов сканирований и позволяет быстро находить интересующие вас вещи. Например, при тестировании SQL инъекций поиск сообщений содержащих "ODBC", "error" и пр. помогут быстро отыскать уязвимые параметры.

Подробнее..

Вангуем Session ID с помощью Burp Sequencer

31.12.2020 16:11:51 | Автор: admin

Всякий раз, когда мы входим в приложение, сервер выдает Session ID или token, которые являются уникальными. Но что, если бы мы могли угадать следующий уникальный идентификатор сеанса, который будет сгенерирован сервером?

Сегодня попробуем обогнать алгоритм приложения и войти в него, выдавая пользователя с прогнозируемым Session ID.

Содержание:

  • Введение в Burp Sequencer

  • Эксплуатация Session ID в Sequencer

  • Ручной анализ запросов

  • Сравнение захваченных токенов

Введение в Burp Sequencer

Burp Sequencer это инструмент для анализа качества случайности в выборке элементов данных.

Элементами данных могут быть:

  • идентификаторы сеанса приложения

  • токены CSRF

  • токены сброса или забытого пароля

  • любой конкретный непредсказуемый идентификатор, созданный приложением

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

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

Главное достоинство секвенсора в том, что он доступен для обеих версий Burp. После установки приложения вкладка Sequencer будет на верхней панели.

Эксплуатация Session ID в Sequencer

Будь то базовый идентификатор сеанса или токен, сгенерированный на стороне сервера, sequencer проанализирует все, ведь единственным требованием является запрос, которым он передается.

Давайте запустим анализатор в секвенсоре, захватив и поделившись идентификатором сеанса входа из нашего любимого уязвимого приложения bWAPP, которое идет в комплекте с Kali Linux и другими ОС для белого хакинга.

Введите целевой IP-адрес в браузере и войдите в систему с помощью bee: bug.

Подождите! Мы правильно говорили об идентификаторе сеанса входа в систему, поэтому включим прокси-службу, а затем нажмем кнопку Login.

Проверяем захватил ли burp запрос или нет. Из захваченного запроса мы видим, что PHPSESSID находится в заголовке Cookie, давайте поделимся полным запросом с Sequencer, щелкнув правой кнопкой мыши по пустому пространству.

Как только Sequencer получает запрос, пустые поля заполняются непосредственно идентификатором Token ID, который идет с Response для конкретного общего запроса.

Однако бывают случаи, когда мы хотим проанализировать другое значение. В таких ситуациях burp suite дает возможность определить Custom location. Давай проверим это.

Нажмите кнопку Custom location ниже для параметра cookie и затем откройте настройки. Как только мы это сделаем у нас появится новое окно с названием Define Custom token location, в котором мы получаем ответ на наш общий запрос.

Кроме того, мы можем выбрать определенные параметры:

  • Define start & end

  • Extract from regex group

Давайте проверим первый.

Когда мы наводим курсор и выбираем значение из общего ответа, мы получаем некоторые манипуляции с ограничителями начала и конца. Нажимаем кнопку Save и наше custom location будет определено на панели.

Теперь просто нажмите кнопку Start Live Capture, выбрав параметр Cookie в разделе Token Location within Response.

Когда мы это сделаем появится новое коно [ Live capture #1 ].

Как только загорелась кнопка Start Live Capture, Burp повторил исходный запрос (примерно около тысячи раз) и таким образом извлек все токены, полученные из ответов.

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

Кнопки окна Live Capture:

  • Pause/Resume ставит процесс на паузу, чтобы помочь пентестеру проанализировать запросы, сгенерированные до этого момента.

  • Copy Tokens помогает скопировать все сгенерированные рандомизированные токены.

  • Stop полная остановка процесса.

  • Save Tokens сохранение случайно сгенерированных токенов в определенный файл.

  • Auto analyze сбрасывает проанализированные результаты, после генерирования определенного количества токенов.

  • Analyze now при нажатии выводит на экран отчет. Работает только в том случае, если количество сгенерированных токенов более 100.

Итак, давайте поставим на паузу секвенсор, а затем нажмем кнопку Analyze now, чтобы узнать, что он собирает.

Из изображения ниже мы видим, что секвенсор проанализировав около 16000 запросов, а общее качество случайности в выборке получило оценку отлично.

Мы могли бы получить качество случайности как плохое, если бы идентификатор сеанса веб-приложения повторялся.

Однако эффективная энтропия составляет 110 бит, что считается хорошим значением, поскольку:

  • наименьшее значение 64

  • наилучшее значение 128

Burp Sequencer работает поверх Sample, поэтому при большом количестве захваченных токенов будет получен лучший и точный результат. Таким образом, перед анализом случайности идентификатора сеанса приложения рекомендуется иметь как минимум 10002000 пробных токенов.

Доступен ряд подразделов, которые могут помочь нам правильно проанализировать приложение, но, будучи пентестером, нам просто нужно проанализировать надежность результатов. Чтобы узнать больше можно ознакомиться с документацией.

Давайте нажмем кнопку Save Tokens и сохраним сгенерированные значения токенов в token.txt.

Пока файл сохраняется в фоновом режиме, давайте разлогинимся в bWAPP.

Теперь, при редиректе на страницу входа изменим внутри нее URL, установив:

http://192.168.0.9:8080/bWAPP

И зафиксируем текущий HTTP-запрос в нашем burpsuite.

Видим, что в заголовке файла cookie есть идентификатор сеанса.

Давайте изменим идентификатор сеанса с одним из наших сохраненных результатов.

Как только мы нажимаем кнопку forward, мы перенаправляется на страницу portal.php. Здесь также требуется идентификатор сеанса, поэтому повторяем наши манипуляции.

И когда мы снова нажимаем кнопку, в браузере мы вошли в систему как Bee. На этот раз она была без учетных данных.

Бывают случаи, когда идентификатор сеанса, которым мы манипулируем, может быть недействительным, поэтому в таких случаях мы можем использовать весь tokens.txt c intruder для охоты за успешным входом в систему.

Ручной анализ запросов

Что, если у нас нет конкретного действующего веб-приложения, но у нас есть выборка токенов или идентификаторов сеансов, а мы хотим проанализировать или отобразить их случайность?

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

На панели инструментов перейдите на вкладку Sequencer к параметру Manal load, нажмите кнопку paste, если образец находится в вашем буфере обмена, или кнопку load, если токены находятся в определенном файле, а затем нажмите кнопку Analyze now для запуска секвенсора.

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

Через несколько секунд мы получаем результат, отображаемый в новом окне как manual load analysis.

Если идентификатор сеанса или токен привязан к системе кодирования base64, тогда для таких случаев в секвенсоре есть специальная опция. В Sequencers dashboard переключаемся на вкладку параметров анализа и просто включаем base-64 decode before analyzing.

Сравнение захваченных токенов

Burp Comparer это инструмент для сравнения двух запросов или ответов друг с другом. Порой это помогает проще анализировать разные ответы.

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

  • проксирование запросов

  • фаззинг с помощью Intruder

  • захват ответа с помощью Repeater

Будучи наиболее полезным, он имеет собственное место на панели burp.

Давайте воспользуемся инструментом Comparer с нашей вкладки Proxy и сравним два перехваченных запроса, захваченных в нем.

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

Далее перехватите следующий запрос и снова отправим его.

Теперь переключитесь на Comparer компаратора из панели, где мы увидим два наших запроса.

Мы даже можем вставить запрос или ответ прямо из нашего буфера обмена, нажав кнопку вставки. Также это можно сделать с помощью кнопки загрузки.

Вкладка Сomparer предлагает нам два варианта сравнения:

  • Пословное

  • Побитовое

Давайте начнем со слов.

Как только мы выбираем опцию сравнения, у нас появляется новое окно, в котором отображаются оба запроса и выделяются ключевые слова:

  • Modified

  • Deleted

  • Added

В правом нижнем углу есть флажок Sync Views, который может помочь нам анализировать и прокручивать два запроса или ответа одновременно, если содержание в них немного длинное.

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru