Друзья, всем привет!
Первый раз пишу бота для сетевой игры, пакеты завёрнуты в TLS, поставил Wireshark, нашёл пакеты приложения, нашёл обмен сертификатами, но не могу разобраться какие сертификаты нужны чтобы дешифровать пакеты, и как их пристегнуть к Wireshark. С помощью создания переменной среды окружения chrome пишет в keytsllogsfile, но у меня не веб приложение.
Буду признателен за подсказки/ссылки.
Если речь идет о алгоритмах шифров в контексте транспортного протокола TLS/SSL, то подразумевается обычно Cipher Suite.
Cipher Suite - комбинация шифров (шифровальная система) - представляет собой комбинацию алгоритмов, используемых для согласования параметров безопасности во время установления связи SSL / TLS.
bbaggins, мы сейчас говорим с вами о сертифекате безопасности? Если брать клиент и сервер, то на Питоне, это выглядит так:
import ssl
import socket
hostname = "example.com"
port = 443
context = ssl.create_default_context()
with socket.create_connection((hostname, port)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as sslsock:
der_cert = sslsock.getpeercert(True)
# from binary DER format to PEM
pem_cert = ssl.DER_cert_to_PEM_cert(der_cert)
print(pem_cert)
Я так понял скрипт пытается подключится к хосту и попросить у него ключ?
Наверно это не совсем подходит под мою ситуацию. У меня стоит на ПК клиент игры, я по нему цепляюсь к серверу и через wireshark вижу пакеты подключения по tls и пакеты данных. Вот пытаюсь понять как эти пакеты данных расшифровать.
Может есть более "прямой" путь к решению моей задачи? Почему-то через подключение в браузере TLS ключи к сайтам очень легко перехватываются.
Mr.Robot, спасибо, интересная статья. Но в ней описаны методы для http соединения, у меня к сожалению задача не с сайтом.
Посмотрите пожалуйста ниже скриншот, я правильно понимаю, что это ключ для расшифровки сообщений?
Вам нужен pre-master key. Получить проще всего перехватом вызовов библиотеки, которая организует TLS, например https://github.com/drivenet/sslkeylog. Под Windows это вероятно будет SChannel.