Что пишут в блогах

Подписаться

Онлайн-тренинги

Конференции

Что пишут в блогах (EN)

Разделы портала

Про инструменты

Лучшие вакансии

.
Burp Suite: швейцарский армейский нож для тестирования веб-приложений
21.07.2017 17:10

Оригинальная публикацияhttps://habrahabr.ru/company/pentestit/blog/328382/

Burp Suite – это платформа для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. Стоит отметить и появление в последнем релизе мобильного помощника для исследования безопасности мобильных приложений — MobileAssistant для платформы iOS.

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

Если посмотреть статистику и репорты bug-bounty программ — практически везде на скриншотах можно встретить использование этого инструмента. На ряду с OWASP ZAP это самый популярный набор утилит для тестирования веб-приложений.


Кликните на картинку, чтобы увеличить изображение.

На изображении использование Burp Scanner для анализа Damn Vulnerable Web Application (DVWA).

Существуют две версии Burp Suite: Professional и Free. 


Кликните на картинку, чтобы увеличить изображение.


Кликните на картинку, чтобы увеличить изображение.

Хотя отличия по функционалу довольно существенны — Free версия является полноценным инструментом тестирования. Одно из главных отличий — отсутствие сканера в бесплатной версии и ограничение количества запросов за единицу времени. Также, в бесплатной версии отсутствуют встроенные пейлоады для интрудера, но вполне можно использовать и внешние, например: github.com/1N3/IntruderPayloads. Есть ограничения и по иcпользованию дополнений из BApp store. Существенным минусом также является отсутствие 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, так и собственной разработки. (На Pentestit Security Conference 2017 Кирилл Ермаков (CTO, QIWI) расскажет о новом плагине для выявления уязвимостей от Vulners).


Использование совокупности инструментов позволяет наиболее глубоко и продуктивно исследовать веб-приложение.

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 против любых систем для которых вами не получено разрешение владельца ресурса.

Обсудить в форуме