Расшифровка трафика SSL / TLS с помощью Wireshark

Расшифровка трафика SSL / TLS с помощью Wireshark

Debian-Lab


Вступление

Интернет с самого начала не был рассчитан на безопасность. Многие протоколы (например, HTTP и DNS ) были разработаны для передачи информации по сети, не тратя времени на безопасность.


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


Проблема с SSL / TLS для профессионалов в области кибербезопасности заключается в том, что он работает. Хотя стандарты шифрования были разработаны для хороших целей, плохие парни тоже их используют. В этой статье мы расскажем, как выполнить расшифровку SSL / TLS в Wireshark.


Что вам понадобится

Wireshark - широко известный и свободно доступный инструмент для сетевого анализа. Первым шагом в использовании его для шифрования TLS / SSL является его загрузка отсюда и установка.


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


В Firefox и Chrome это можно сделать, установив переменную среды под названием SSLKEYLOGFILE. Если эта переменная установлена, оба браузера настроены на сохранение копии секретов клиента в указанном месте файла. В Linux эту переменную можно установить с помощью команды «Экспорт». В Windows это можно настроить, открыв дополнительные параметры системы, выбрав «Переменные среды» и затем добавив новую системную переменную. Пример этой переменной в Windows показан ниже.

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


Расшифровка трафика

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


Прежде чем мы начнем захват, мы должны подготовить его к расшифровке трафика TLS. Для этого нажмите Edit → Preferences. Выберите Протоколы на левой панели и прокрутите вниз до TLS. На этом этапе вы должны увидеть что-то похожее на экран ниже.

Внизу этого экрана есть поле для имени файла журнала (Pre) -Master-Secret. Как показано выше, вам нужно установить это значение в то же место, что и SSLKEYLOGFILE для вашего браузера. Когда закончите, нажмите ОК.


Теперь на главном экране Wireshark отобразится список возможных адаптеров для захвата. В этом примере я буду использовать Wi-Fi 2, так как через него проходит трафик (показано черной линией).

При нажатии на адаптер начнется захват трафика на нем.


На этом этапе вы готовы создать некоторый трафик, зашифрованный TLS. Перейдите в Chrome или Firefox и перейдите на сайт, который использует HTTPS (в этом примере мы использовали Facebook). После загрузки вернитесь в Wireshark и остановите захват (красный квадрат).


Просматривая снимок, вы, вероятно, увидите много трафика. Сейчас мы ищем пакеты, связанные с вашим сеансом просмотра с шифрованием TLS. Один из способов - найти DNS-запрос и отфильтровать по предоставленному IP-адресу (показано ниже). На изображении ниже показан пакет из нашего сеанса просмотра в Facebook.

Как показано, Wireshark показывает несколько разных вкладок внизу окна. В дополнение к вкладке «Фрейм» одна помечена как «Расшифрованный TLS». Глядя на представление пакета в формате ASCII, мы видим сертификат веб-сайта (включая слово Facebook). На данный момент мы успешно расшифровали трафик TLS в Wireshark.

Приложения и ограничения

Расшифровка трафика TLS имеет множество приложений для предприятий. Многие злоумышленники перешли к использованию зашифрованных передач в попытке повысить конфиденциальность своих командных и управляющих сообщений и повысить доверие к своим жертвам. (Люди были обучены доверять зеленому замку.) Используя расшифровку TLS, предприятия могут расшифровать и выполнить глубокую проверку пакетов трафика, проходящего через их предприятие.


Основное ограничение расшифровки TLS в Wireshark заключается в том, что оно требует, чтобы устройство мониторинга имело доступ к секретам, используемым для шифрования. Хотя мы добились этого путем экспорта ключей из Chrome и Firefox, многие предприятия предпочитают реализовать прокси, который разбивает соединение TLS на две половины. Хотя это эффективно для мониторинга, оно имеет серьезные последствия для конфиденциальности и безопасности.


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


Скачать Wireshark

⏳ Наш основной канал - @debian_lab

Report Page