Une autre chose que vous pourriez faire, qui est peut-être exagérée mais qui est utile dans d'autres scénarios, est d'intercepter la création du secret principal TLS de 48 octets. Pour de nombreuses applications Windows (y compris IE), cela se produit dans lsass.exe
dans la fonction suivante (tirée de Win7 SP1 32 bits):
Appelant: ncrypt! _Tls1ComputeMasterKey @ 32 + 0x57 EIP: ncrypt! _PRF @ 40 + 0x11a
Vous pouvez ensuite décrypter les paquets capturés après coup dans Wireshark en définissant (Pre) -Master-Secret log nom de fichier
dans les préférences SSL à un fichier de fichier qui ressemble à:
RSA session ID: 87492B3586DE289FAE1598B0A19CC7BCCB69371993F2C0DF32438034E06FE3FBMaster-clé: F58C0EFA2BF87602646B318400DFEB0C8CCDE59408C9F13C6D923F6208743BD34EA8BA17BCE02B9BD8DFED5A58036068
La session L'ID ici peut être trouvé dans les en-têtes TLS (non chiffrés) du flux qui vous intéresse. (Ne vous laissez pas berner par le RSA - cela fonctionne pour toutes les connexions TLS quelle que soit la suite de chiffrement utilisée.)
L'avantage de cette méthode est que, puisque vous ne faites pas un homme au milieu, l'application cliente n'a pas à faire confiance à votre CA, qui est particulièrement pratique si vous essayez d'inverser certains logiciels malveillants qui font réellement de la cryptographie.
L'inconvénient est que vous devez pouvoir déboguer lsass.exe
, ce qui peut être rusé; vous trouverez des informations sur la façon de procéder ici.