tls que protocolo informatica funciona descifrar como encryption ssl wireshark

encryption - que - ¿Cómo ver la clave cifrada en wireshark, durante el intercambio de clave ssl?



protocolo ssl (3)

Hasta hace poco, la disección de ClientKeyExchange era así (versión 1.6 y siguientes):

TLSv1 Record Layer: Handshake Protocol: Client Key Exchange Content Type: Handshake (22) Version: TLS 1.0 (0x0301) Length: 134 Handshake Protocol: Client Key Exchange Handshake Type: Client Key Exchange (16) Length: 130

Pero si usa esta versión (1.7.2 hacia arriba), la disección clave será así:

TLSv1 Record Layer: Handshake Protocol: Client Key Exchange Content Type: Handshake (22) Version: TLS 1.0 (0x0301) Length: 134 Handshake Protocol: Client Key Exchange Handshake Type: Client Key Exchange (16) Length: 130 RSA Encrypted PreMaster Secret Encrypted PreMaster length: 128 Encrypted PreMaster: 761b1beac35e59de9a3bb9f74ebf9109b738e8ad346


Puedes ver el premaster maestro encriptado :)

En wireshark, puedo ver los datos encriptados desde y hacia mi PC. No utiliza diffie hellman algorihm para intercambio de claves porque solo veo el paquete de Client Key Exchange pero no hay ningún paquete de Server Key Exchange . Eso significa que el navegador está enviando la clave encriptada al servidor (encriptada usando la clave pública del servidor).
Pero no veo ningún dato encriptado en ese paquete ("Intercambio de clave de cliente"). ¿Cómo ver la clave encriptada?


No verá la clave compartida encriptada, no se intercambiará. Puede ver el secreto premaster maestro cifrado al usar el intercambio de claves autenticado por RSA . (Tenga en cuenta que el uso de Ephemeral Diffie-Hellman no es la única razón para no ver un mensaje de intercambio de clave de servidor: también podría usar un DH_RSA cifrado DH_DSS o DH_RSA , pero esto es inusual por lo que sé).

Si sigue las instrucciones sobre descifrado de SSL con Wireshark , use la opción "Archivo de depuración SSL" para almacenar los registros en un archivo. (Tenga en cuenta que la interfaz de usuario ha cambiado ligeramente en las versiones más nuevas de Wireshark, en la forma en que configura la clave privada).

Los archivos de registro contendrán el secreto premaster y las claves compartidas.

(Por cierto, necesitas la clave privada del servidor para hacer esto, por supuesto).

Con los datos de muestra proporcionados en la página de Wireshark, obtienes:

pre master encrypted[128]: 65 51 2d a6 d4 a7 38 df ac 79 1f 0b d9 b2 61 7d 73 88 32 d9 f2 62 3a 8b 11 04 75 ca 42 ff 4e d9 cc b9 fa 86 f3 16 2f 09 73 51 66 aa 29 cd 80 61 0f e8 13 ce 5b 8e 0a 23 f8 91 5e 5f 54 70 80 8e 7b 28 ef b6 69 b2 59 85 74 98 e2 7e d8 cc 76 80 e1 b6 45 4d c7 cd 84 ce b4 52 79 74 cd e6 d7 d1 9c ad ef 63 6c 0f f7 05 e4 4d 1a d3 cb 9c d2 51 b5 61 cb ff 7c ee c7 bc 5e 15 a3 f2 52 0f bb 32 pre master secret[48]: 03 00 ff 84 56 6d a0 fb cc fd c6 c8 20 d5 f0 65 18 87 b0 44 45 9c e3 92 f0 4d 32 cd 41 85 10 24 cb 7a b3 01 36 3d 93 27 12 a4 7e 00 29 96 59 d8 master secret[48]: 1e db 35 95 b8 18 b3 52 58 f3 07 3f e6 af 8a a6 ab c3 a4 ed 66 3a 46 86 b6 e5 49 2a 7c f7 8c c2 ac 22 bb 13 15 0f d8 62 a2 39 23 7b c2 ff 28 fb key expansion[136]: 11 60 e4 e1 74 e9 a1 cf 67 f9 b7 bc ef bc a7 c7 b3 f7 33 aa b2 42 d0 1c a6 4e fb e9 9b 13 dd 29 63 aa 17 1f 47 71 95 71 08 e0 4b 8e e1 da 7b 4a 5a f3 c2 32 bd e0 a5 82 6d 14 44 3a d6 cb 2d c0 7d 57 be a8 37 de 5d d9 a1 07 fd 1b 22 71 b9 4b 7a 1e 0f 70 37 14 97 0a f0 db 98 3b 7b 74 e3 2d 51 66 2e 31 68 90 ac 6f e6 53 3c c9 5e 48 0c 05 bc 9f 92 e7 f9 91 98 f5 95 1c c4 bf d9 cb 26 ef 35 70 5e ad 21 22 3e f6 Client MAC key[20]: 11 60 e4 e1 74 e9 a1 cf 67 f9 b7 bc ef bc a7 c7 b3 f7 33 aa Server MAC key[20]: b2 42 d0 1c a6 4e fb e9 9b 13 dd 29 63 aa 17 1f 47 71 95 71 Client Write key[32]: 08 e0 4b 8e e1 da 7b 4a 5a f3 c2 32 bd e0 a5 82 6d 14 44 3a d6 cb 2d c0 7d 57 be a8 37 de 5d d9 Server Write key[32]: a1 07 fd 1b 22 71 b9 4b 7a 1e 0f 70 37 14 97 0a f0 db 98 3b 7b 74 e3 2d 51 66 2e 31 68 90 ac 6f Client Write IV[16]: e6 53 3c c9 5e 48 0c 05 bc 9f 92 e7 f9 91 98 f5 Server Write IV[16]: 95 1c c4 bf d9 cb 26 ef 35 70 5e ad 21 22 3e f6


Impresionante escribir aquí explicando cómo funciona SSL, fíjate en ningún momento durante este apretón de manos es la clave privada enviada por cable.

http://4orensics.wordpress.com/2011/10/21/ssl-in-a-nutshell/

Para resumir, no hay forma de descifrar las transmisiones SSL sin la clave privada del servidor (a menos que trabaje para la NSA o algo así); sin embargo, tal vez quiera buscar entrar entre el servidor y el cliente durante el saludo y si el usuario no lo hace compruebe la validez del certificado que se le presenta que está en el negocio.

Aquí hay una herramienta que puede hacer eso para usted, entre muchos otros

http://mitmproxy.org/

De nota recomiendo encarecidamente el sans artículo de la sala de lectura sobre SSL Mitm (Man in the Middle).