В этой статье мы настроим Linux и перехватим HTTPS (Безопасный протокол передачи гипертекста) пакеты в Wireshark. Затем мы попробуем расшифровать шифрование SSL (Secure Socket Layer).
Обратите внимание: расшифровка SSL / TLS может работать некорректно через Wireshark. Это всего лишь испытание, чтобы увидеть, что возможно, а что нет.
Что такое SSL, HTTPS и TLS?
Собственно, все эти три технических термина взаимосвязаны. Когда мы используем только HTTP (Протокол передачи гипертекста), то безопасность транспортного уровня не используется, и мы можем легко увидеть содержимое любого пакета. Но когда используется HTTPS, мы видим TLS (Безопасность транспортного уровня) используется для шифрования данных.
Мы можем просто сказать.
HTTP + (через) TLS / SSL = HTTPS
Примечание: HTTP отправляет данные через порт 80, но HTTPS использует порт 443.
Снимок экрана для данных HTTP:
Снимок экрана для данных HTTPS:
Настройте Linux для описания пакета SSL
Шаг 1
Добавьте ниже переменную среды внутри .bashrc файл. Открой .bashrc и добавьте строку ниже в конец файла. Сохраните и закройте файл.
Теперь выполните приведенную ниже команду, чтобы получить эффект от нее.
источник ~ /.bashrcТеперь попробуйте следующую команду, чтобы получить значение «SSLKEYLOGFILE »
echo $ SSLKEYLOGFILEВот скриншот для всех вышеперечисленных шагов
Шаг 2
Вышеупомянутый файл журнала отсутствует в Linux. Создайте указанный выше файл журнала в Linux. Используйте команду ниже, чтобы создать файл журнала.
Шаг 3
Запустите установленный по умолчанию Firefox и откройте любой https-сайт, например Linuxhint или Upwork.
Здесь я взял первый пример как апворк.ком.
После открытия веб-сайта upwork в Firefox проверьте содержимое этого файла журнала.
Команда:
кошка ~ /.ssl-ключ.бревноЕсли этот файл пуст, значит Firefox не использует этот файл журнала. Закройте Firefox.
Следуйте приведенным ниже командам, чтобы установить Firefox.
Команды:
sudo add-apt-репозиторий PPA: ubuntu-mozilla-daily / firefox-aurorasudo apt-get update
sudo apt-get установить firefox
Теперь запустите Firefox и проверьте содержимое этого файла журнала
Команда:
кошка ~ /.ssl-ключ.бревноТеперь мы можем видеть огромную информацию, как на скриншоте ниже. Мы готовы идти.
Шаг 4
Теперь нам нужно добавить этот файл журнала в Wireshark. Следуйте нижеприведенному пути:
Wireshark-> Edit-> Preferences-> Protocol-> SSL -> "Здесь укажите путь к вашему главному секретному файлу журнала".
Следуйте приведенным ниже скриншотам для визуального понимания.
После выполнения всех этих настроек сделайте ОК и запустите Wireshark на требуемых интерфейсах.
Теперь установка готова для проверки расшифровки SSL.
Анализ Wireshark
После того, как Wireshark начнет захват, установите фильтр как «ssl», Чтобы в Wireshark фильтровались только пакеты SSL.
Посмотрите на приведенный ниже снимок экрана, здесь мы видим, что HTTP2 (HTTPS) открыт для некоторых пакетов, которые ранее были шифрованием SSL / TLS.
Теперь мы видим вкладку «Расшифрованный SSL» в Wireshark, а протоколы HTTP2 открыты видимыми. На приведенном ниже снимке экрана показаны указатели.
Давайте посмотрим на различия между «До включения файла журнала SSL» и «После включения файла журнала SSL» для https: // linuxhint.ком
Вот скриншот для пакетов Linuxhint, когда «журнал SSL не был включен»
Вот скриншот для пакетов Linuxhint, когда «журнал SSL был включен»
Мы легко видим различия. На втором снимке экрана мы четко видим URL-адрес, запрошенный пользователем.
https: // linuxhint.com / bash_scripting_tutorial_beginners / \ r \ n
Теперь мы можем попробовать другие сайты и посмотреть, работают ли эти методы или нет.
Заключение
Вышеупомянутые шаги показывают, как настроить Linux для расшифровки шифрования SSL / TLS. Мы видим, что он работал хорошо, но некоторые пакеты по-прежнему зашифрованы SSL / TLS. Как я уже упоминал ранее, он может работать не для всех пакетов или полностью. Тем не менее, полезно узнать о расшифровке SSL / TLS.