Основы Burp Suite. Что это и как им пользоваться.

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

Установка и запуск Burp Suite

Burp Suite уже установлен в таких дистрибутивах как Kali Linux или Parrot Securiti. Там установлена версия Community Edition. Это бесплатная версия с ограниченным функционалом, но, тем не менее, её вполне можно использовать, не смотря на ограничения.

Если есть желание использовать Burp Suite на другом дистрибутиве, то скачать его можно с официального сайта https://portswigger.net. Только предварительно нужно будет установить виртуальную машину Java.

При запуске мы увидим окно создания проекта.

Burp Suite

Есть три варианта проектов:
Temporary project – временный проект. Полученные данные не сохраняются и удаляются после закрытия программы.
New project on disk – результаты работы и все настройки будут сохранятся в файл Burp Suite. К ним можно будет вернуться позже.
Open existing project – открывает сохраненный проект из файла Burp Suite.

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

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

Определившись с настройками проекта, жмем кнопку Start Burp.

Интерфейс Burp Suite

Burp Suite

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

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

Target – здесь мы будем видеть все наши цели и подробную информацию о них.

Proxy – это, наверное, наиболее востребованная вкладка. Суть в том, что бы перехватывать трафик между твои браузером и сервером, к которому идет запрос. Причем не просто перехватывать, а также можно его изменять. Причем это работает в обоих направлениях.

Intruder – здесь можно автоматизировать некоторые задачи, необходимость в которых возникает при тестировании.

Repeater – здесь можно посмотреть отправленные запросы, отправить их повторно, а также увидеть полученные ответы.

Sequencer – нужен для анализа степени рандомности тех моментов которые должны быть рандомными, это например токен сеанса приложения.

Decoder – здесь можно закодировать или раскодировать данные. Например если в запросе есть что-то закодированое base64, то раскодировать его мы можем прям тут. Вроде мелочь, но порой очень экономит время.

Comparer – может сравнивать данные, например два запроса, и показывать различия между ними.

Extender – сюда загружаются всякие расширения для улучшения функционала и получения новых возможностей в Burp Suite. Расширения можно добавлять самому, а можно установить из каталога.

Дальше находятся вкладки настроек. В принципе, на первых парах туда лазить не обязательно, все и так будет работать из коробки.

Настройка Burp Suite для работы с браузером

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

Одно из основных предназначение Burp Suite – это работать совместно с браузером. А именно перехватывать весь входящий и исходящий трафик. Чтобы трафик проходил через наш прокси, браузер нужно соответствующим образом настроить. Я покажу на примере Firefox, но в других браузерах принцип будет точно такой же.

Настройка Burp Suite

Для начала в Burp открываем вкладку Proxy, и в ней переходив в Options. Здесь в столбце Interface должно быть написано: 127.0.0.1:8080. Это означает что программа будет использовать петлевой интерфейс, а прокси-слушатель будет открыт на порту 8080.

Burp Suite

Настройки браузера

Теперь нужно немного подкрутить настройки браузера. В меню выбираем “Настройки”, потом “Параметры сети” и жмем “Настроить”. Ставим галку на пункт “Ручная настройка сервиса прокси”. И там где HTTP прокси вписываем 127.0.0.1, а порт вписываем 8080. Короче переписываем все то что было в Burp Suite. Потом отмечаем “Также использовать этот прокси для FTP и HTTPS”. Если в поле “Не использовать прокси для:” что-то написано, нужно это от туда удалить.

Burp Suite

В принципе все готово. Остался один небольшой нюанс, при заходе на сайты которые используют SSL сертификат (т.е. почти на все) браузер будет ругаться на сертификат. Это происходит потому что Burp Suite генерирует свой сертификат и сам его подписывает. Потому, чтобы браузер не ругался, нужно сертификат Burp добавить в браузер как доверенный.

Для этого, с запущенным Burp Suite, переходим в браузере по адресу http://burp. И жмем CA Certificate и сохраняем сертификат. Теперь в Firefox открываем меню и переходим в “Настройки”, выбираем вкладку “Приватность и защита”, а в ней “Сертификаты” и жмем “Просмотр сертификатов”. Там выбираем “Центры сертификации”, жмем “Импортировать” и выбираем скачанный нами сертификат. Ставим галку “Доверять при идентификации веб-сайтов” и жмем “ОК”. Все готово, можно работать. Теперь любой запрос от нас или к нам будет сначала проходить через Burp Suite, а значит мы можем просмотреть этот запрос и, если нужно, немного его подредактировать. При этом, как и что редактировать. зависит от конкретной ситуации и поставленной задачи. Как-то акцентировать на этом внимание я не буду, ввиду нереального количества возможных вариантов, да и это уже сильно выходит за пределы ознакомления с программой.

Intruder

Ещё один инструмент о котором обязательно стоит сказать это Intruder. Крайне полезная приблуда кстати. Но это если научится ей пользоваться.

Смысл заключается в том что Intruder обрабатывает запросы с разными параметрами. При этом показывая вариант запроса и ответ на него, анализируя ответ на предмет того как отреагирует цель на изменение запроса. Таким способом можно тестировать на предмет вообще всего чего угодно. Хочешь sql-инъекции, хочешь брутфорс, можно dos-атаки делать. Можно просто какие-то данные собирать, например идентификаторы сессий или какие-нибудь скрытые страницы.

В целом, если коротко, принцип работы Intruder можно описать так: мы создаем первоначальный запрос, в котором, с использованием маркеров, помечаем какие значение нужно впоследствии подменять. А потом варианты его модификации т.е. то что будет подставляться в запрос. Запускаем и получаем результат, т.е. какой ответ получен на кокой-то вариант запроса.

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

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

Твой Pulse.