
प्रमाण अवधारणा जो PuTTy CVE-2024-31497 का शोषण करता है।
यह भेद्यता ecc-ssh.c फ़ाइल में पक्षपाती ECDSA नॉनस जनरेशन का शोषण करती है। नॉनस $sha512(ID\ ||\ sha512(privKey)\ ||\ sha1(data))\ mod\ q$ के साथ उत्पन्न होता है जिससे शीर्ष 9 बिट शून्य हो जाते हैं। निजी कुंजी को पुनर्प्राप्त करने के लिए हमें 60 हस्ताक्षरों की आवश्यकता है लेकिन 58 के साथ भी हमारे पास सफलता की 50% संभावना है।
भेद्यता का पता Bäumer और Marcus Brinkmann ने लगाया।
इस एक्सप्लॉइट का उपयोग करने के लिए आपके पास sagemath और requirements.txt में सूचीबद्ध पायथन निर्भरताएँ स्थापित होनी चाहिए।
PuTTy या TortoiseGit का उपयोग करके कमिट सामग्री पर हस्ताक्षर करने वाले 60 सत्यापित GitHub कमिट से ECDSA हस्ताक्षर निकालें।
एक अन्य संभावित हमला एक दुष्ट SSH सर्वर स्थापित करना है जहाँ पीड़ित (PuTTY या Pageant का उपयोग करके) कनेक्ट होते हैं और कई कनेक्शनों के बाद आप निजी कुंजी पुनर्प्राप्त करने के लिए 60 हस्ताक्षर प्राप्त कर सकते हैं।
हस्ताक्षर फ़ाइल में संदेश हैश, एक स्थान और r तथा s के मान जोड़े गए होने चाहिए।
pubkey फ़ाइल इनपुट, raw, PEM, DER या OpenSSH प्रारूप में हो सकता है।
यह poc malb द्वारा लागू किए गए पेपर On Bounded Distance Decoding with Predicate: Breaking the "Lattice Barrier" for the Hidden Number Problem के एक भाग का उपयोग करता है।