Burp Suite – это платформа для проведения аудита безопасности веб-приложений. Содержит инструменты для сопоставления веб-приложений, поиска файлов и папок, изменения запросов, фаззинга, подбора паролей и многого другого для тестирования веб приложений. Также есть хранилище BApp, которое содержит дополнительные расширения, увеличивающие функциональность приложения. Стоит отметить появление в последней версии мобильного помощника для исследования безопасности мобильных приложений — MobileAssistant для платформы iOS.
Burp Suite — это интегрированная платформа для ручного или автоматического тестирования веб-приложения. Содержит интуитивно понятный пользовательский интерфейс с вкладками, специально разработанными для улучшения и ускорения процесса атаки. Сам инструмент представляет собой прокси-механизм, который перехватывает и обрабатывает все запросы от браузера. Можно установить сертификат burp для анализа https-соединений.Вобщем все что нужно для тестирования веб приложений.
Если посмотреть статистику и репорты bug-bounty программ — практически везде на скриншотах можно встретить использование этого инструмента. На ряду с OWASP ZAP это самый популярный набор утилит для тестирования веб-приложений.
На изображении использование Burp Scanner для анализа Damn Vulnerable Web Application (DVWA)
Существуют две версии Burp Suite: Professional и Free.
Хотя различия в функциональности весьма значительны, бесплатная версия является самостоятельным инструментом для тестирования. Одно из основных отличий — отсутствие сканера в бесплатной версии и ограничение количества запросов в единицу времени. Также в бесплатной версии нет встроенных полезных нагрузок для злоумышленника, но вполне возможно использование внешних, например: github.com/1N3/IntruderPayloads. Также существуют ограничения на использование надстроек магазина BApp. Существенным недостатком также является отсутствие Burp Collaborator в бесплатной версии (использование внешнего сервиса для выявления уязвимостей).
Состав
Основной функционал основан на следующих модулях:
- Proxy — перехватывающий прокси-сервер, работающий по протоколу HTTP(S) в режиме man-in-the-middle. Находясь между браузером и веб-приложением он позволит вам перехватывать, изучать и изменять трафик идущий в обоих направлениях.
- Spider — паук или краулер, позволяющий вам в автоматическом режиме собирать информацию о об архитектуре веб-приложения.
- Scanner — автоматический сканер уязвимостей ( OWASP TOP 10 и т.д.) Доступен в Professional версии, в бесплатной версии только описание возможностей.
- Intruder — утилита, позволяющая в автоматическом режиме производить атаки различного вида, такие как подбор пароля, перебор идентификаторов, фаззинг и так далее.
- Repeater — утилита для модифицирования и повторной отправки отдельных HTTP-запросов и анализа ответов приложения.
- Sequencer — утилита для анализа генерации случайных данных приложения, выявления алгоритма генерации, предиктивности данных.
- Decoder — утилита для ручного или автоматического преобразования данных веб-приложения.
- Comparer — утилита для выявления различий в данных.
- Extender — расширения в BurpSuite. Можно добавлять как готовые из BApp store, так и собственной разработки.
Использование совокупности инструментов позволяет наиболее глубоко и продуктивно тестировать веб-приложение.
Intruder
Одна из основных утилит для тестирования веб приложений это Burp Intruder. Принцип его работы заключается в следующем: он обрабатывает каждый HTTP-запрос (называемый «базовым запросом»), изменяя параметры различными способами, выдавая каждую измененную версию запроса и анализируя ответы приложения для идентификации интересных функций или поведения веб-приложения.
Для каждой атаки существует возможность указать набор полезных нагрузок (пейлоадов) и их позиции в базовом запросе. Доступны многочисленные методы создания полезных нагрузок (в том числе простые списки строк, чисел, дат, брутфорс, битфлиппинг и многие другие). Для анализа результатов и выявления интересных вопросов для дальнейшего изучения доступны различные инструменты.
На изображении использование Burp Intruder — установка значений пейлоадов для подбора пароля.
Burp Intruder обладает очень гибкой системой настроек, благодаря чему может быть использован для автоматизации множества видов атак. Вы можете использовать его и для выполнения иных задач, например, подбора пользовательских идентификаторов, сбора важной информации или фаззинга.
Типы возможных атак зависят от особенностей конкретного приложения и могут включать: проверку на наличие SQL-инъекций, XSS, переполнение буфера, обход директории; bruteforce-атаки по различным схемам аутентификации, перебор значений, манипуляции с содержимым параметров; поиск скрытого содержимого и функционала, вычисление идентификаторов сессий и их перехвата, сбор данных, реализация DoS-атак связанных с особенностями веб-приложения.
На изображении использование Burp Intruder для выявления sql-инъекций — выбор пейлоадов.
Burp Intruder содержит (в Pro версии) множество заранее подобранных пейлоадов (строк, позволяющих выявить наличие уязвимостей). Кроме того, он содержит большое количество утилит для динамической генерации векторов атак, подходящих под конкретное приложение. Также в него могут быть загружены дополнительные пейлоды (например имена пользователей или пароли), либо специфичные фаззинг-запросы.
Основу работы каждой атаки составляет отсылка модифицированных HTTP-запросов. Их содержимое генерируется на основе первоначального запроса и установленными пейлоад-позициями. Результатом работы будет таблица с различными данными тестирования веб приложений (статус, длина ответа и т.д.)
На изображении использование Burp Intruder для выявления sql-инъекций — атака.
Burp Intruder поддерживает следующие виды атак:
- Sniper — используется отдельный набор данных — одно поле (участок, отмеченный маркерами) — один пейлоад. Данный тип атак полезен при индивидуальном тестировании полей на наличие общих уязвимостей (таких как XSS).
- Battering ram — при таком виде атак используется принцип — все поля — один пейлоад. Это может пригодиться когда для осуществления атаки необходимо помещать одни и те же данные сразу во множество позиций.
- Pitchfork — этот вид атак использует несколько пейлодов для нескольких полей. Например, при первом запросе первая строка из первого проверочного набора будет помещена на первое место обозначенное маркерами. А первая строка из второго набора поместится на вторую позицию. При формировании второго запроса на первое место будет помещена вторая строка из первого набора, а на второе — вторая строка из второго набора. Такой вид атак может пригодиться в ситуациях, когда приложению нужно отсылать всё время разные, но каким-то образом взаимосвязанные данные. Например, если необходимо отправлять имя пользователя в одном поле и его ID в другом.
- Сluster bomb — этот вид атак использует перебор основного набора пейлоадов и добавление вторичных. Это удобно использовать к примеру для подбора паролей: при первом запросе Intruder поместит на первую позицию первую строку из первого набора пейлоадов, на вторую первую строку из второго. При втором запросе на первом месте останется первая строка первого набора, а на вторую будет помещена вторая строка второго набора. Потом третья, и так далее.
Окно результатов атаки позволяет контролировать ход атаки и сохранять её результаты.
MobileAssistant
Burp Suite Mobile Assistant — это инструмент для облегчения тестирования приложений iOS с Burp Suite.
Он может изменять общесистемные параметры прокси-сервера устройств iOS, чтобы трафик HTTP(S) мог быть легко перенаправлен в Burp для анализа. Также он способен использовать SSL pinning — внедрение своего сертификата. Использовать мобильного помощника можно на джейлбрекнутых iOS устройствах, начиная от 8 версии iOS и до 10 (хотя на ней и не гарантируется стабильная работа). Для установки нужна Cydia и полноценный Burp на хост системе.
Появление данного инструмента значительно облегчит выявление уязвимостей OWASP Mobile Top 10.
Заключение
Burp Suite по праву является одним из самых популярных инструментов для тестеров на проникновение во всем мире благодаря своим гибким возможностям и способам сочетания ручных и автоматических методов анализа при выполнении тестирования безопасности веб-приложенй.
Примечание: Как и любое программное обеспечение для тестирования безопасности, Burp Suite содержит функции, которые могут повредить веб-приложение. По своей сути, тестирование веб приложений включает взаимодействие с веб-приложением нестандартными способами, что может вызвать проблемы для некоторых веб-приложений. Соблюдайте осторожность при использовании Burp Suite, создавайте резервные копии перед тестированием веб пиложений и не используйте Burp Suite в любой системе, для которой вы не получили разрешения от владельца ресурса.