J'ai un dépotoir de circulation passivement reniflé de client/serveur étaient cryptés avec une suite Cipher
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
Avec une attaque de logjam, j'ai réussi à trouver la clé privée DH.
Comment définir WireShark pour décrypter les paquets?
Comme indiqué dans - ce post , Wireshark prend en charge plusieurs options permettant de fournir des secrets pour activer le décryptage TLS. Dans ce cas, je suggérerais l'utilisation du PMS_CLIENT_RANDOM
Touche qui mappe les octets aléatoires du message Hello client au secret du préMaster (les deux sont codés hexagonaux).
Pour l'échange clé DH, le secret de préMaster est le secret de DH partagé. En utilisant votre valeur DH privée et les paramètres publics et les valeurs du message ServerKeyExchange (voir RFC 5246, page 51 ), vous pouvez calculer le secret partagé. (Cela assume éphémère DH à l'aide de champs finis, pour ECDHE, voir RFC 4492, section 5.4. à la place.)
Ensuite, après avoir calculé le secret partagé, vous devez le coder correctement (voir RFC 5246, section 8.1.2. ):
Un calcul classique Diffie-Hellman est effectué. La clé négociée (Z) est utilisée comme pré_master_secret et est convertie en Master_Secret, comme indiqué ci-dessus. Les principaux octets de Z contenant tous les bits zéro sont dépouillés avant d'être utilisé comme pré_master_secret.
En supposant que vous avez trouvé les secrets, vous pouvez écrire un fichier texte qui ressemble à:
PMS_CLIENT_RANDOM 9c39b93ced5c48db094a502f7ed4ef6b77a1ccb751964c04cac8c7e75837ddc8 2b1f6108824ef0c7e38443dda437c43177d8a1ac73221b6515c9df7d854bc503
puis configurez WIREHARK comme d'habitude via le nom de fichier de journal secret (pré) (PRE) SSL Protocol. Si elle échoue, vous pouvez définir l'option de débogage dans les préférences du protocole SSL et la lire pour obtenir plus de conseils.