Как я могу расшифровать обмен данными STARTTLS через SMTP при захвате пакета (если у меня есть закрытый ключ)?

В целях устранения неполадок мне нужно посмотреть, как выглядит электронное письмо, когда оно отправляется на мой сервер sendmail через SMTP. Вышестоящему серверу требуется SMTP-соединение для использования STARTTLS, поэтому при захвате пакетов мне отображаются только зашифрованные данные.

Есть ли способ использовать wirehark для расшифровки передачи и просмотра? При условии, конечно, что у меня есть закрытый ключ, используемый на моем сервере sendmail?

Я вижу несколько процедур, доступных в Интернете, которые ссылаются на функцию RSA key lists в wirehark (например: https://support.citrix.com/article/CTX116557 ). Но это все еще не работает для меня.

Связано ли это с прямой секретностью? Могу я просто не делать этого на более новых протоколах / шифрах?

7
задан 11 August 2017 в 20:29
2 ответа

Знания секретного ключа RSA достаточно, только если обмен ключами RSA выполнен. Вместо этого современные системы используют обмен ключами Диффи-Хельмана (шифры DHE *, ECDHE *) для обеспечения прямой секретности. В этом случае закрытый ключ используется только для аутентификации сервера, но не для обмена ключами, и, следовательно, знание закрытого ключа не помогает в получении ключей шифрования.

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

Что касается вашей конкретной проблемы, я бы вместо этого попробовал "атаковать" человека посередине, который регистрирует весь трафик в обычном режиме, даже если клиент получает зашифрованный трафик. Это работает аналогично man в средних прокси для HTTPS, только поддерживает исходное простое соединение и понимает, что STARTTLS обновляется до TLS. При быстром поиске я обнаружил starttls-mitm и что sslsplit имеет некоторую бета-поддержку для этого. Конечно, клиенту необходимо подключиться к человеку на среднем прокси-сервере и доверять полученному сертификату, который может быть исходным сертификатом сервера, поскольку у вас, похоже, есть доступ к нему.

Другой вариант - включить отладку в конкретном MTA в случае, если это предоставляет достаточно подробную информацию для вашей конкретной проблемы.

2
ответ дан 2 December 2019 в 23:46

Возможно, анализатор протокола SMTP wirehark не знает, как обрабатывать TLS / SSL. Но, возможно, вы можете вместо этого использовать парсер протокола HTTP. Перейдите в редактирование-> настройки-> протоколы-> HTTP и добавьте порт к портам SSL / TLS

2
ответ дан 2 December 2019 в 23:46

Теги

Похожие вопросы