Перехват трафика с помощью Burp Suite
И так, в данной статье рассмотрим как осуществляется перехват трафика с помощью такой программы, как Burp Suite.
Burp Suite — это интегрированная платформа, предназначенная для проведения аудита веб-приложения, как в ручном, так и в автоматических режимах. Данный инструмент представляет из себя проксирующий механизм, перехватывающий и обрабатывающий все поступающие от браузера запросы. Имеется возможность установки сертификата burp для анализа https соединений.
Настройка Burp Suite
Настройка в Burp Suite
Первое, что мы делаем, это запускаем сам Burp Suite. После чего во вкладке Proxy переходим во вкладку Options, как показано на картинке ниже, и проверяем верный ли интерфейс у нас стоит (должен быть 127.0.0.1:8080):
Если же нужного интерфейса у нас нет, то нажимаем на Add:
Перед нами выводится окно. Там мы прописываем нужный нам порт (в нашем случае это 8080), выбираем нужный адрес (а именно 127.0.0.1) и нажимаем OK:
Настройки Burp Suite недостаточно. Чтобы перехватить трафик, нам необходимо настроить браузер.
И так, открываем браузер и заходим в настройки. Находим в нашем браузере настройки сети (в разных браузерах может быть по-разному):
В появившемся окне вводим настройки такие же как на картинке ниже и нажимаем OK:
Перехват http трафика
Всё, теперь у нас всё настроено, можем перехватывать http трафик.
В burp переходим во вкладку Intercept и включаем перехват:
Ищем любой незащищенный сайт с протоколом http и заходим на него в браузере. Видим, что сайт долго прогружается, это значит что запрос перехвачен с помощью burp.
Заходим в burp и смотрим, что мы получили некоторые данные — это и есть перехваченный запрос (см. картинку ниже). Он содержит стартовую строку и заголовки. Чтобы посмотреть дальше (следующие запросы, если они есть), нужно нажать Forward. Также можно выключить Intercept и просматривать трафик во вкладке HTTP history.
Перехват https трафика
Большинство нужных нам сайтов защищены, а именно используют https. Как быть в этом случае? Всё довольно просто. Нам надо сделать дополнительные настройки, а именно загрузить сертификат бурпа в браузер.
И так, скачать сертификат можно двумя способами.
Способ 1. В браузере в адресной строке вводим либо http://burp, либо 127.0.0.1:8080 и нажимаем на CA Certificate:
Далее выскакивает окно, где нажимаем сохранить:
Способ 2. В Burp Suite зайти во вкладку Options и нажать на Generate CA certificate:
Теперь этот сертификат надо загрузить в браузер. Опять же в настройках ищем место, где говорится про сертификаты, нажимаем на просмотр сертификатов:
И добавляем наш сертификат (нажимаем на import, ищем куда мы сохранили сертификат и добавляем):
Теперь мы можем перехватывать https трафик.
Другие возможности Burp Suite
Можно собирать информацию об архитектуре веб-приложения, используя spider, также есть возможность перебирать пароли с помощью Intruder, сканировать приложение на наличие уязвимостей и т.д. Но подробности всех этих возможностей будут описываться в других статьях.
Итоги
Подведем итоги. В данной статье мы познакомились с программой Burp Suite. И узнали как перехватывать http и https трафик с помощью данной программы (настроили программу и наш браузер для перехвата данных).
PS Все настройки в данной статье были воспроизведены на ОС kali linux и в браузере Firefox.
Как пользоваться Burp Suite
Burp Suite — это мощный набор инструментов для тестирования безопасности веб-приложений и сайтов. С помощью этого инструмента можно протестировать буквально все, что вы захотите. Программу могут использовать не только профессионалы, но и новички с минимальным количеством усилий для ее освоения. Программа написана на Java, поэтому может работать на различных платформах, например, Windows, Linux или Mac.
Интерфейс Burp Suite интуитивно понятный, а среди инструментов есть прокси, паук, сканер, декодер, репитер, анализатор последовательностей и многое другое. В этой статье мы рассмотрим как пользоваться Burp Suite, основные возможности программы, а также как ее установить и настроить.
Установка Burp Suite
Вы можете загрузить программу из официального сайта. Для этого нажмите ссылку «Get Burp», затем выберите версию «Free»:
На следующем шаге вы можете выбрать версию в виде скрипта для Linux или же просто Jar файл, который можно запускать в любой операционной системе.
Теперь вы знаете как установить Burp Suite.
Запуск Burp Suite
Для запуска программы вам понадобится установленная Java машина. Откройте командную строку в вашей системе:
- В Windows откройте меню «Пуск» и запустите «cmd.exe»;
- В Mac OS X откройте главное меню, затем «Приложения», «Утилиты» — «terminal.app»;
- В Linux запустите терминал из главного меню или нажмите Ctrl+Alt+T.
Затем наберите такую команду:
Если java установлена, то вы узнаете ее версию, если же нет, то вам будет нужно ее установить. Дальше вы можете запустить программу просто выполнив двойной клик по файлу .jar. Но можно запускать и через терминал:
java -jar -Xmx1024m /path/to/burp.jar
Здесь 1024 — это объем оперативной памяти, который компьютер выделит программе. Если все хорошо, то вы увидите заставку:
Дальше идет первоначальная настройка программы. В первом окне выберите «Temponary project»:
Затем выберите «Use Burp defaults»:
Настройка burp suite завершена.
Как пользоваться Burp Suite
В набор инструментов BurpSuite входят такие программы, дальше мы кратко рассмотрим как пользоваться каждым из них:
- Прокси (Proxy) — для обработки запросов и ответов от сервера;
- Spider — паук для сбора информации на сайтах;
- Repeater — инструмент для замены данных в запросах;
- Intruder —
- Scanner — автоматический сканер уязвимостей, работает только в Pro версии.
Чаще всего Burp Suite используется в качестве прокси, именно с него мы и начнем.
1. Настройка прокси
Когда вы пропускаете запросы к сайтам через прокси Burp Suite, то программа позволяет вам редактировать на лету любой из запросов или ответов, вы можете отслеживать все передаваемые заголовки и многое другое. Когда вы запускаете программу, прокси уже запущен, осталось только настроить браузер для работы с ним. Например, для Chrome, откройте «Настройки», затем «Дополнительно», а потом «Настроить прокси сервер»:
Дальше вам нужно указать адрес прокси localhost, а порт 8080:
Данная настройка будет работать только для не SSL сайтов. Для обработки HTTPS вам понадобится импортировать сертификат в браузер, а это уже выходит за рамки данной статьи. Теперь откройте любую ссылку в браузере, например, http://compizomania.blogspot.com/.
Страница не откроется, а на вкладке «Proxy», «Intercept» вы увидите запрос, отправленный браузером. Его можно отредактировать:
Если не сработало, убедитесь, что включена опция «Intercept is on». Дальше у вас есть три кнопки
- «Forward» — пропустить пакет дальше;
- «Drop» — отбросить пакет;
- «Action» — действия с пакетом.
Пока запрос не отправлен, вы можете отредактировать его так, как вам нужно. Например, изменим значение поля Accept-Encoding на text, чтобы не использовалось шифрование. Далее нажмите «Action» -> «Do intercept» -> «Responce to this request»:
Здесь мы говорим, что хотим перехватить ответ на этот запрос, далее нажмите «Forward»:
Затем вы увидите перехваченный ответ, его тоже можно редактировать, пока он не был отправлен в браузер, например, заменим слово «Главная» на losst.pro:
Для этого чтобы найти нужный участок текста, можно пользоваться полем поиска внизу страницы.
Дальше нажмите «Forward». Вам нужно будет нажать эту кнопку несколько раз поскольку страница будет пытаться загрузить много нужных ей ресурсов. Или же вы можете установить флажок «Intercept off» чтобы страница загрузилась сама без запросов.
Все перехваченные запросы можно видеть на вкладке «HTTP history»:
Отсюда их можно отправить в один из инструментов. Прокси может намного больше. Здесь есть автоматическая замена. Перейдите на вкладку «Options» и найдите «Match & Replace»:
Дальше нажмите «Add» чтобы добавить правило. Тут нужно указать место, где будет выполняться замена, например «Response Body» — в теле ответа. Затем слово или регулярное выражение, которое нужно заменить и на что заменить:
После сохранения правила, нужно поставить напротив него галочку, чтобы его активировать:
Теперь все вхождения указанного слова будут заменяться в получаемых ответах. Только не забудьте про кэш браузера и ответ 304 Not Modified.
2. Использование Intruder
Замена — это самое простое, что можно сделать с помощью Intruder. Этот инструмент позволяет выполнять атаки различных видов, например, атаку перебора пароля, идентификаторов, фаззинг и многое другое. Например, выполним попытку простого анализа страницы на уязвимость к SQL инъекциям. Для этого сначала перейдите на вкладку «Intruder», затем введите в поле URL.
Но будет лучше, если вы возьмете цель на вкладке «Proxy», тогда программа автоматически заполнит тело запроса и вам не понадобится писать его вручную. Для этого откройте «Proxy» -> «HTTP history», а затем найдите нужную ссылку:
Осталось только нажать на ссылке правой кнопкой и выбрать «Send to Intruder». Затем запрос появится там, где нужно:
На вкладке «Positions» нужно отметить участки текста или позиции, в которые вы будете подставлять свои значения. Для этого отметьте участок текста и нажмите «Add $$»:
Еще, на этой же вкладке нужно выбрать тип атаки. Доступны такие варианты:
- Sniper — одно поле — один payload;
- Battering ram — все поля — один payload;
- Pitchfork — то же, что и первый вариант, но позволяет связывать между собой данные из разных полей;
- Сluster bomb — поочередно перебирает все данные по всем полям.
В нашем примере мы будем использовать Sniper. Осталось перейти на вкладку «Payloads» и установить варианты нагрузки, которые мы будем перебирать. Здесь выберите тип атаки «Simply List»:
А затем с помощью кнопки «Add» добавьте несколько пунктов. Осталось нажать кнопку «Start Attack» чтобы начать проверку:
Атака откроется в новом окне, здесь вы сможете увидеть результат, в таблице сразу выводится статус код и размер ответа. Далее вы можете более подробно посмотреть ответ для интересующих вас запросов на вкладке «Response»:
Во всех вариантах мы получили ответ 400, неверный запрос, значит либо сайт хорошо защищен, либо просто я не там искал.
3. Использование Repeater
Того что мы рассмотрели уже достаточно чтобы знать как пользоваться Burp Suite на уровне новичка. Но мы рассмотрим еще один инструмент, который применяется для исследования одного запроса. Это Repeater. Чтобы добавить URL, вам нужно опять найти ее на вкладке «Proxy», а потом нажать «Send to Repeater»:
Дальше, на вкладке «Repeater» перед вами появится нужный запрос:
Настройте нужные параметры или измените необходимым образом ссылку и нажмите «Go» чтобы выполнять запрос. Так вам будет проще понять как правильно сделать перед тем, как переходить к массовым запросам в Intruder.
Выводы
В этой статье представлена небольшая инструкция Burp Suite, которая поможет вам освоить программу и проверять свои проекты на наличие проблем с безопасностью. Но не используйте программу в противозаконных целях! Если у вас остались вопросы, спрашивайте в комментариях!
Статья [1] Burp Suite: Знакомство с основным инструментарием
Всем привет! Перед вами вторая статья и цикла Burp Suite . Тестирование web-приложений на проникновение.
- Oracle VirtualBox
- Mozilla Firefox Browser
- 7-Zip file archiver
- Burp Suite — Community or Professional
- Oracle Java
- OWASP BWA VM
- Подготовка Burp Suite к работе.
- Прослушивание HTTP трафика.
- Знакомство с инструментами Burp Suite.
- Если вы используете редакцию Community, вы сможете создать только временный проект. Если вы используете Professional версию, создайте новый проект на диске, сохраняя его в соответствующем месте для вас.
Мой Professional немного ограничен (думает, что система x32), как вы видите в предупреждении, но это не страшно — позже исправим.
Далее, используем настройки по умолчанию и стартуем Burp. Позже, мы научимся сохранять файлы настроек и возвращаться к ним по мере необходимости.
Прослушивание HTTP трафика:
Burp Suite — описывается, как перехватывающий прокси. Это означает, что Burp находится между веб-браузером пользователя и веб-сервером приложения и перехватывает или задерживает весь поток трафика.
Этот тип поведения обычно называется прокси-сервисом.
Пентестеры используют перехватывающие прокси для захвата трафика, проходящего между веб-браузером и веб-приложением для анализа и манипулирования трафиком и запросами.
Например, тестер может приостановить любой HTTP-запрос, для изменения параметров перед отправкой запроса к веб-серверу.
Перехватывающие прокси, такие как Burp, позволяют тестировщикам перехватывать как HTTP-запросы, так и HTTP ответы. Это позволяет им наблюдать за поведением веб-приложения в разных условиях.
Чтобы увидеть Burp в действии, нам нужно настроить сетевые параметры нашего браузера Firefox так, чтобы они указывали на запущенный экземпляр Burp. Это позволит ему захватывать весь HTTP-трафик, проходящий между вашим браузером и целевым веб-приложением.
- Откройте браузер Firefox и перейдите в Параметры.
- На вкладке «Общие» прокрутите вниз до раздела «Сетевой прокси» и нажмите «Настройки».
- В настройках подключения выберите «Настройка прокси-сервера вручную» и введите IP-адрес 127.0.0.1 с портом 8080. Выберите «Использовать этот прокси-сервер для всех».
Запускаем OWASP BWA и Burp Suite, переходим во вкладку Proxy, чтобы убедиться, что трафик успешно проходит через наш прокси:
Активация функции Intercept , позволит задержать и отредактировать запрос перед его отправкой на web – сервер:
- В данном выше примере, адрес 192.168.0.114 принадлежит OWASP BWA, я сделал несколько кликов по сайту, чтобы посмотреть на запросы.
- Включенная функция Intercept, не позволит запросам проходить между браузером и приложением.
Burp Suite , OWASP BWA и Firefox подготовлены, переходим к следующей части.
- Понимание работы Message Editor
- Знакомство с Repeater
- Работа с Decoder
Настройка Target Site Map :
Теперь, когда мы оперируем трафиком, проходящим между браузером, Burp и виртуальной машиной OWASP BWA, мы можем приступить к настройке области наших тестов в разделе OWASP Mutillidae II.
- [your ip]/mutillidae/
После добавления папки mutillidae в вашу область может появиться диалоговое окно ведения журнала истории прокси, как показано ниже. Вы можете отказаться от сбора сообщений, нажав Да. Или же вы можете продолжить, чтобы таблица HTTP прокси-сервера продолжала собирать любые сообщения, проходящие через Burp, даже если эти сообщения выходят за пределы указанной вами области. Для наших целей мы выберем Да:
Область нашего исследования выглядит следующим образом:
Message Editor.
- Raw
- Headers
- Hex
- Raw
- Headers
- Hex
- HTML (иногда)
- Render (иногда)
Вот, как это выглядит на примере:
Работа с Repeater .
Repeater позволяет вносить изменения в запрос, мы его видим в левом окне. Каждое сообщение из перехваченного нами трафика, можно модифицировать в Repeater и отправить повторно, что и понятно из названия инструмента.
Кнопка Go отправляет запрос приложению, а ответ отображается в правом окне.
Request включает в себя Raw, Params (для запросов с параметрами или файлами cookie), Headers и Hex.
Детали, относящиеся к HTTP-ответу, включают в себя стандартные Raw, Headers, Hex, а иногда и HTML и Render.
Внизу каждой панели находится текстовое поле поиска, позволяющее тестеру быстро найти значение, присутствующее в сообщении.
Работа с Decoder .
Burp Decoder — это инструмент, который позволяет тестеру преобразовывать необработанные данные в закодированные данные или извлекать закодированные данные и преобразовывать их обратно в обычный текст.
Декодер поддерживает несколько форматов, включая URL-кодирование, HTML-кодирование, кодирование Base64, двоичный код, хэшированные данные и другие. Декодер также включает в себя встроенный шестнадцатеричный редактор.
По ходу проведения тестирования на проникновение, тестировщику часто могут попадаться закодированные значения. Декодер знатно упрощает в этом плане, нам жизнь, позволяя отправлять в него закодированное значение и использовать различные функции декодирования.
Попробуем декодировать значение токена сеанса PHPSESSID, найденного в приложении OWASP Mutillidae II.
- [your ip]/mutillidae/
Можем декодировать и кодировать данные, как нам заблагорассудится, в рамках предоставленного инструментария:
На этом, пока, остановимся, можно потренироваться с редактированием запросов, освоится в работе Burp и посмотреть примеры работы с этими инструментами, дополнительно в сети.
В следующей части, продолжим осваивать основные инструменты Burp Suite, а затем перейдем к практическому их применению.
Специально для CODE BY. NET
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
Burp Suite
Описание Burp Suite
Burp Suite – это интегрированная платформа для выполнения тестов по безопасности веб-приложений. Её различные инструменты эффективно работают вместе для поддержки всего процесса тестирования, от составления карты сайта и анализа поверхности атаки приложения до поиска и эксплуатации уязвимостей безопасности.
Burp даёт вам полный контроль, позволяет комбинировать продвинутые ручные техники с доведённым до искусства автоматизмом, это делает вашу работу быстрее, более эффективной и более приятной.
Burp Suite содержит следующие ключевые компоненты:
- Перехватывающий прокси, который позволяет вам инспектировать и модифицировать траффик между вашим браузером и целевым приложением.
- Паук для приложений для обхода контента и функциональности.
- Продвинутый сканер веб-приложений для автоматизированного выявления ряда типов уязвимостей.
- Инструмент Intruder для выполнения мощный пользовательских атак для поиска и эксплуатирования необычных уязвимостей.
- Инструмент Repeater для манипуляций и повторной отправки индивидуальных запросов.
- Инструмент Sequencer для тестирования хаотичных сессионных токенов (маркеров).
- Возможность сохранять вашу работу и возобновлять рабочий процесс позже.
- Расширяемость, позволяющая вам легко писать ваши собственные плагины, для выполнения комплексных и высоко настраиваемых задач внутри Burp.
Burp прост и интуитивен, позволяет новичкам начать работу прямо сейчас. Burp также очень гибкий в настройке, содержит ряд мощных функций для помощи самым опытным тестером в их работе.