A l’import d’un certificat (ou d’une clé privée), une option permettant d’activer la « protection renforcée de clés privées » est disponible…
En positionnant le niveau sur « moyen », un popup de confirmation apparaitra à chaque utilisation de la clé, et bien sur lors de l’export…
Le niveau « moyen » ne représente donc aucun intérêt…, l’apparition de ce popup est implémenté dans la méthode CryptUnprotectData
de la librairie crypt32
.text:761889DA test al, 3 .text:761889DC jnz loc_76198EE9
Un JNZ ne servant ici pas à grand chose, NOP…
Il aurait provoqué :
.text:76198EFB call _I_CryptUIProtect@24 ; I_CryptUIProtect(x,x,x,x,x,x)
Par contre, en positionnant le niveau sur « haut » lors de l’import, un mot de passe servira à décoder la clé pour chaque utilisation de celle ci, ou de son export…, cette fois ci, pas de by-pass aussi simple…
Astuce disponible dans mimikatz !