☂ Перехват HTTPS-трафика с помощью Burp Suite — Information Security Squad

☂ Перехват HTTPS-трафика с помощью Burp Suite

Вступление

Прокси, подобные тому, что включены в Burp Suite, предназначены для перехвата трафика.

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

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

В этой статье мы обсудим, как использовать Burp Suite для перехвата веб-трафика, как зашифрованного, так и незашифрованного. Мы начнем с незашифрованного трафика (HTTP), а затем рассмотрим изменения, необходимые для HTTPS.

Перехват HTTP-трафика

Первым шагом к перехвату веб-трафика с помощью Burp Suite является его установка в вашей системе.

Выпуск Burp Suite Community Edition доступен от PortSwigger.

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

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

Как показано на приведенном выше экране, эта информация находится в разделе «Proxy» в первом ряду вкладок и «Options» во втором ряду.

Обратите внимание, что прокси-сервер Burp по умолчанию работает на 127.0.0.1:8080.

Если прокси-сервер работает, следующим шагом является настройка веб-браузера для использования прокси.

В этом примере мы используем Chrome, поэтому эти настройки можно найти, открыв Параметры и выполнив поиск прокси, как показано ниже.

Нажатие на кнопку «Настройки прокси-сервера» на приведенном выше экране открывает настройки Интернета на компьютере.

Как показано на экране ниже, мы используем Windows для этого примера.

На приведенном выше экране нажмите кнопку настроек локальной сети, которая откроет приведенный ниже экран.

Внизу этого экрана находятся настройки прокси-сервера компьютера.

Как показано выше, мы установили параметры прокси-сервера для компьютера по умолчанию адрес и порт Burp Proxy (127.0.0.1 и 8080).

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

По завершении нажмите кнопку ОК и попытайтесь перейти на веб-сайт.

Для этого примера мы использовали сайт HTTPS.

В результате мы видим предупреждение, как показано ниже.

Нажатие «Дополнительно» и «Перейти на сайт» позволяет нам фактически посетить этот сайт.

На этом этапе взгляните на Burp Proxy.

На вкладке Proxy → Intercept вы можете видеть запросы по мере их прохождения.

Как показано ниже, мы видим запрос GET для запрошенного веб-сайта.

Пересылка запросов в Burp в конечном итоге позволяет загружать веб-страницу (как показано ниже).

Однако, как показано в адресной строке, сайт не считается безопасным.

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

Поскольку сертификат Burp самоподписаный и не пользуется доверием браузера, Chrome дает понять пользователю, что это не безопасное соединение.

Но что, если мы попытаемся посетить сайт, используя HTTPS Strict Transport Security (HSTS), где сайт требует, чтобы между сервером и клиентом было установлено безопасное соединение?

На рисунке ниже показана попытка поиска в Google, пока Burp выполняет перехват.

Как показано на экране выше, Chrome не дает возможности перейти на ненадежный сайт.

Поскольку Burp предоставляет свой собственный (ненадежный) сертификат клиенту, соединение полностью ненадежно и не может продолжаться.

Чтобы посетить Google, нам нужно, чтобы Chrome доверял сертификату Burp Proxy.

Делаем прыжок к HTTPS

Burp Proxy генерирует свой собственный самоподписанный сертификат для каждого экземпляра.

Чтобы получить копию сертификата Burp CA, перейдите по адресу 127.0.0.1:8080 (или там, где работает ваш экземпляр Burp Proxy).

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

На приведенном выше экране нажмите сертификат CA в правом верхнем углу.

Это позволит вам сохранить копию сертификата CA на ваш компьютер.

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

В Chrome этот параметр находится в разделе «Настройки» → «Дополнительные настройки» → «Конфиденциальность и безопасность».

Внизу экрана ниже есть опция для управления сертификатами.

Нажатие на «Управление сертификатами» откроет окно для локального управления сертификатами на вашем компьютере.

В Windows вы увидите экран подобный тому, что показан ниже.

Чтобы заставить Chrome доверять сертификату Burp, перейдите на вкладку Trusted Root Certification Authorities и нажмите «Import».

Нажмите на подсказки и укажите его как недавно загруженный сертификат.

Как только вы получили сообщение об успехе, перезапустите Burp и ваш браузер.

Просматривая наш сайт на itsecforu.ru, мы больше не получаем сообщение об ошибке о недоверенном сертификате.

Изучая сертификат (показанный ниже), мы видим, что Chrome совершенно счастлив принять сертификат, подписанный PortSwigger CA, который является компанией, которая производит Burp Suite.

На данный момент мы способны перехватывать любой веб-трафик с помощью Burp Proxy.

Вывод: приложения и ограничения перехвата HTTPS

Как уже упоминалось выше, перехват HTTPS-трафика полезен как для доброкачественных, так и для злонамеренных целей.

Киберзащитник, который может развернуть шифрование, предоставляемое TLS, может обнаруживать и устранять заражения вредоносными программами или вторжения в систему угроз в корпоративной сети.

Однако злоумышленник с такими же возможностями представляет собой серьезную угрозу для конфиденциальности и безопасности пользователей в сети.

Тот факт, что пользователь должен доверять доверенному сертификату Burp, может раздражать защитника, но является значительным бонусом при работе со злоумышленниками. Организация может навязать доверие к Burp CA (и многие из них имеют аналогичные политики для сертификатов корневого CA организации для глубокой проверки пакетов), но это требует надлежащей защиты экземпляра прокси Burp.

Любой, кто имеет доступ к закрытому ключу, соответствующему самоподписанному сертификату Burp, может читать любые данные, отправленные браузерами с использованием прокси.

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40