LINUX.ORG.RU
ФорумAdmin

Помогите расшифровать https трафик со своего сервера.

 , , ,


1

3

Есть у меня https сервер с nginx, который проксирует все на бэкэенд томкат.
Есть два мобильных устройства. С одного из них наблюдается проблема.
Запустил на сервере

 tcpdump -n -vvv -s0 -i eno16780032 'host ip_mob_dev' -w dump.dmp
Запустил wireshark, дал ему ключ от сертификата и открыл dump.dmp.
Проблема: все что я вижу, все еще зашифровано.
Что я делаю не так ?
Я понимаю что при handshake выдается ключ, с которым все дальше и шифруется, но куда вписать его в wireshark - не понял.

★★★★★

Последнее исправление: dada (всего исправлений: 1)

на хабре была статейка.

( Наличие дампа + приватный ключ ) & RSA = декодирование

vel ★★★★★
()
Ответ на: комментарий от vel

( Наличие дампа + приватный ключ ) & RSA = декодирование

у меня есть все три. просто не могу найти правильный инструмент или не могу правильно пользоваться ими.

dada ★★★★★
() автор топика
Ответ на: комментарий от ZeroNight

Или у меня руки кривые или глаза не там где надо, но эта вкладка «Decrypted SSL Data» не появляется.

dada ★★★★★
() автор топика
Ответ на: комментарий от dada

Не всё так просто. Какой согласовался Cipher Suite? В Server Hello пакете его видно. Если не видно, скиньте дамп без RSA ключа, я подскажу. Некоторые современные Cipher Suite нельзя открыть даже с RSA ключом, я попался на этом год назад.

Выход есть - на клиенте ограничить список Cipher Suites до тех, которые точно можно открыть RSA ключом.

zuzzas
()
Ответ на: комментарий от Deleted

если используется DHE/ECDHE, то его точно не расшифровать без сессионных ключей которых у ТС нет.

vel ★★★★★
()
Ответ на: комментарий от zuzzas

Выход есть - на клиенте ограничить список Cipher Suites до тех, которые точно можно открыть RSA ключом.

не, так не получится. у меня все по pcidss.

dada ★★★★★
() автор топика
Ответ на: комментарий от vel

как нет ?
я и клиент, я и сервер.
я так понимаю ты про ключ, который после handshake передается.
проблема в том, что я не знаю как их скормить акуле.

dada ★★★★★
() автор топика
Ответ на: комментарий от dada

Что вообще эта фраза означает? Сделай, значит, чтобы не было по PCI DSS, пока диагностируешь.

zuzzas
()

Как тут уже написали, есть Forward secrecy. Суть в том, что ключ шифрования согласуется сторонами для каждой сессии и его нельзя узнать только прослушивая трафик (нужно в него вклиниваться по типу MiTM). Более того, насколько я понимаю, все не Forward secrecy протоколы из последнего стандарта TLS убрали. Так что не факт, что у тебя получится расшифровать дамп.

anonymous
()

Что я делаю не так?

Как уже верно отметили, в случае Perfect Forward Secrecy одного приватного ключа недостаточно. Для декодирования TLS потребуются сессионные ключи. Есть несколько путей:

- При наличии доступа к отладке приложения на устройстве, возможно, есть способы логировать сессионные ключи (по аналогии с переменной окружений SSLKEYLOGFILE для Firefox и Chrome) в формате Wireshark.

- Изучить экзотические способы извлечения/логирования сессионных ключей на стороне веб-сервера (например, с помощью gdb или LD_PRELOAD). Штатного механизма в NGINX нет.

- На время отладки включить non-DH и дешифровать трафик приватным ключом.

С одного из них наблюдается проблема.

Всё же какую проблему вы пытаетесь решить? Для диагностики проблем на уровне SSL/TLS достаточно «сырого» дампа. Если проблема проявляется уже после согласования TLS на уровне HTTP, то NGINX покрывается логированием. Поведение NGINX удобно изучать со включенным режимом отладки (--with-debug).

gongled
()
Ответ на: комментарий от gongled

- При наличии доступа к отладке приложения на устройстве, возможно, есть способы логировать сессионные ключи (по аналогии с переменной окружений SSLKEYLOGFILE для Firefox и Chrome) в формате Wireshark.

У меня есть сессионые ключи, они записываются в файл(как на хабре).
Есть и ключ сертификата, установленного на сервере.
Вопрос в том как отдать wireshark и sesionkeys и key от сертификата.

dada ★★★★★
() автор топика
23 января 2018 г.

Оффтоп

Добрый день. Пардон за оффтоп. Хотел с Вами связаться и ничего лучше в голову не пришло. Можете, пожалуйста, написать мне на почту rfhusv@gmail.com? Буду очень признателен. Спасибо.

Touka
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.