The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Использование SystemTap для расшифр..."
Отправлено auto_tips, 12-Июн-18 14:05 
В состав выпуска системы динамической трассировки SystemTap 3.3 [[https://sourceware.org/systemtap/examples/io/capture_ssl_mas... добавлен]] скрипт capture_ssl_master_secrets.stp с  примером захвата сессионных ключей SSL/TLS  от приложений, использующих gnutls (libgnutls.so) или openssl (libssl.so), которые могут использоваться для организации расшифровки перехваченного трафика.

Пример использования в Debian 9:

Включаем SystemTap:

   sudo stap-prep

Устанавливаем отладочные версии библиотек:

   sudo apt-get install libgnutls30-dbgsym libssl1.0.2-dbgsym libssl1.1-dbgsym libssl-dev

Запускаем перехват ключей, генерируемых при вызове обработчиков tls1_generate_master_secret и generate_normal_master в libssl.so и libgnutls.so:

   ./capture_ssl_master_secrets.stp | tee keylog.txt &

Включаем запись дампа трафика в формате pcap:

   sudo tcpdump -s0 -w traffic.pcap -U port 443 &

Формируем тестовые запросы к защищённым сайтам:

   curl https://www.ssllabs.com/curl_secret
   wget https://www.ssllabs.com/wget_secret
   echo "GET /sclient_secret HTTP/1.1\nHost: www.ssllabs.com\n\n" | openssl s_client -connect www.ssllabs.com:443 -servername www.ssllabs.com

Смотрим, какие ключи удалось захватить:
   cat keylog.txt

   # 1509378583063892 process("/usr/lib/x86_64-linux-gnu/libssl.so.1.0.2").function("tls1_generate_master_secret@./ssl/t1_enc.c:1134").return curl (24745)
   CLIENT_RANDOM 92...69000
   # 1509378587558501 process("/usr/lib/x86_64-linux-gnu/libgnutls.so.30.13.1").function("generate_normal_master@./lib/kx.c:131").return wget (24755)
   CLIENT_RANDOM 59f...28a 560...67c8
   # 1509378592611222 process("/usr/lib/x86_64-linux-gnu/libssl.so.1.1").function("tls1_generate_master_secret@../ssl/t1_enc.c:463").return openssl (24757)
   CLIENT_RANDOM aa2...fc93 741...127a

Расшифровываем дамп трафика, используя захваченные ключи:

   $ tshark -o ssl.keylog_file:keylog.txt -d tcp.port==443,ssl -x -r traffic.pcap -V | grep -A1 'Decrypted SSL data' |grep "GET "

   0000  47 45 54 20 2f 63 75 72 6c 5f 73 65 63 72 65 74   GET /curl_secret
   0000  47 45 54 20 2f 77 67 65 74 5f 73 65 63 72 65 74   GET /wget_secret
   0000  47 45 54 20 2f 73 63 6c 69 65 6e 74 5f 73 65 63   GET /sclient_sec

URL: https://sourceware.org/systemtap/examples/io/capture_ssl_mas...
Обсуждается: http://www.opennet.ru/tips/info/3069.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру