Merhabalar bu ilk konum bir hata yaparsam kusuruma bakmayın lütfen!
Python scapy ile yerel ağda yakaladığım web isteklerinde http yüklerini çözebiliyorum ancak https yükleri çözmek için tls paketlerinin tam olarak nasıl çalıştığını çözmem gerekiyor ama çözemedim.
Sorunum şu: tls paketlerinde bir birine giden anahtarlar bu paketlerin neresinde bulunuyor ve bu diffie hellman anahtarla ile asıl anahtara ulaşıp nasıl yükü çözebilirim
###[ TLS ]###
type = handshake
version = TLS 1.0
len = 654 [deciphered_len= 654]
iv = b''
\msg \
|###[ TLS Handshake - Client Hello ]###
| msgtype = client_hello
| msglen = 650
| version = TLS 1.2
| gmt_unix_time= Thu, 26 Jul 2063 17:10:28 +0000 (2952695428)
| random_bytes= [random bytes]
| sidlen = 32
| sid = [session id]
| cipherslen= 34
| ciphers = [cipher suites]
| complen = 1
| comp = null
| extlen = 543
| \ext \
| |###[ TLS Extension - Server Name ]###
| | type = server_name
| | len = 19
| | servernameslen= 17
| | servernames= [b'www.example.com']
| |###[ TLS Extension - Extended Master Secret ]###
| | type = extended_master_secret
| | len = 0
| |###[ TLS Extension - Renegotiation Indication ]###
| | type = renegotiation_info
| | len = 1
| | reneg_conn_len= 0
| | renegotiated_connection= ''
| |###[ TLS Extension - Supported Groups ]###
| | type = supported_groups
| | len = 14
| | groupslen = 12
| | groups = [supported groups]
| |###[ TLS Extension - Supported Point Format ]###
| | type = ec_point_formats
| | len = 2
| | ecpllen = 1
| | ecpl = [uncompressed]
| |###[ TLS Extension - Application Layer Protocol Negotiation ]###
| | type = alpn
| | len = 14
| | protocolslen= 12
| | protocols = [b'h2', b'http/1.1']
| |###[ TLS Extension - Certificate Status Request ]###
| | type = status_request
| | len = 5
| | stype = ocsp
| | \req \
| | |###[ OCSPStatusRequest structure ]###
| | | respidlen = 0
| | | \respid \
| | | reqextlen = 0
| | | reqext = ''
| |###[ TLS Extension - Scapy Unknown ]###
| | type = 34
| | len = 10
| | val = '\x00\x08\x04\x03\x05\x03\x06\x03\x02\x03'
******* | |###[ TLS Extension - Key Share (for ClientHello) ]###
| | type = key_share
| | len = 107
| | client_shares_len= 105
| | \client_shares\
| | |###[ Key Share Entry ]###
| | | group = x25519
| | | kxlen = 32
| | | key_exchange= [key exchange data]
| | |###[ Key Share Entry ]###
| | | group = secp256r1
| | | kxlen = 65
| | | key_exchange= [key exchange data]
| |###[ TLS Extension - Early Data ]###
| | type = early_data_indication
| | len = 0
| |###[ TLS Extension - Supported Versions (for ClientHello) ]###
| | type = supported_versions
| | len = 5
| | versionslen= 4
| | versions = [TLS 1.3, TLS 1.2]
| |###[ TLS Extension - Signature Algorithms ]###
| | type = signature_algorithms
| | len = 24
| | sig_algs_len= 22
| | sig_algs = [signature algorithms]
| |###[ TLS Extension - PSK Key Exchange Modes ]###
| | type = psk_key_exchange_modes
| | len = 2
| | kxmodeslen= 1
| | kxmodes = [psk_dhe_ke]
| |###[ TLS Extension - Record Size Limit ]###
| | type = record_size_limit
| | len = 2
| | record_size_limit= 16385
| |###[ TLS Extension - Pre Shared Key (for ClientHello) ]###
| | type = pre_shared_key
| | len = 278
| | identities_len= 241
| | \identities\
| | |###[ PSK Identity ]###
| | | identity_len= 235
| | | \identity \
| | | |###[ Recommended Ticket Construction (from RFC 5077) ]###
| | | | key_name = [key name]
| | | | iv = [initialization vector]
| | | | encstatelen= 13083
| | | | encstate = [encrypted state]
| | | | mac = None
| | | obfuscated_ticket_age= 2959607051
| | binders_len= 33
| | \binders \
| | |###[ PSKBinderEntry ]###
| | | binderlen = 32
| | | binder = [binder]
| |###[ TLS Extension - Key Share (for ClientHello) ]###
| | type = key_share
| | len = 107
| | client_shares_len= 105
| | \client_shares\
| | |###[ Key Share Entry ]###
| | | group = x25519
| | | kxlen = 32
| | | key_exchange= [key exchange data]
| | |###[ Key Share Entry ]###
| | | group = secp256r1
| | | kxlen = 65
| | | key_exchange= [key exchange data]
| |###[ TLS Extension - Early Data ]###
| | type = early_data_indication
| | len = 0
| |###[ TLS Extension - Supported Versions (for ClientHello) ]###
| | type = supported_versions
| | len = 5
| | versionslen= 4
| | versions = [TLS 1.3, TLS 1.2]
| |###[ TLS Extension - Signature Algorithms ]###
| | type = signature_algorithms
| | len = 24
| | sig_algs_len= 22
| | sig_algs = [signature algorithms]
| |###[ TLS Extension - PSK Key Exchange Modes ]###
| | type = psk_key_exchange_modes
| | len = 2
| | kxmodeslen= 1
| | kxmodes = [psk_dhe_ke]
| |###[ TLS Extension - Record Size Limit ]###
| | type = record_size_limit
| | len = 2
| | record_size_limit= 16385
| |###[ TLS Extension - Pre Shared Key (for ClientHello) ]###
| | type = pre_shared_key
| | len = 278
| | identities_len= 241
| | \identities\
| | |###[ PSK Identity ]###
| | | identity_len= 235
| | | \identity \
| | | |###[ Recommended Ticket Construction (from RFC 5077) ]###
| | | | key_name = [key name]
| | | | iv = [initialization vector]
| | | | encstatelen= 13083
| | | | encstate = [encrypted state]
| | | | mac = None
| | | obfuscated_ticket_age= 2959607051
| | binders_len= 33
| | \binders \
| | |###[ PSKBinderEntry ]###
| | | binderlen = 32
| | | binder = [binder]