Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/notkmhn/cve-2022-21449-tls-poc
भेद्यता विश्लेषणशोषणवेब सुरक्षाक्रिप्टोग्राफीपेनिट्रेशन टेस्टिंग
GitHubnotkmhn/cve-2022-21449-tls-poc

CVE-2022-21449-TLS-PoC

CVE-2022-21449 प्रूफ ऑफ कॉन्सेप्ट जो कमजोर Java संस्करण पर चलने वाले क्लाइंट और एक दुर्भावनापूर्ण TLS सर्वर के साथ इसके उपयोग का प्रदर्शन करता है

रिपॉजिटरी देखें
1212425 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2022-21449-TLS-PoC

CVE-2022-21449 (नील मैडन की भेद्यता राइटअप में इसे साइकिक सिग्नेचर भी कहा गया है) एक प्रूफ ऑफ कॉन्सेप्ट है जो एक भेद्य क्लाइंट और एक दुर्भावनापूर्ण TLS सर्वर के साथ इसके उपयोग को प्रदर्शित करता है।

दुर्भावनापूर्ण सर्वर www.google.com के लिए एक वैध (2022-04-20 तक) प्रमाणपत्र श्रृंखला प्रस्तुत करता है, जिसमें एक ECDSA सार्वजनिक कुंजी (secp256r1) होती है। हालाँकि, crypto/ecdsa पैकेज को r = s = 0 के साथ एक अमान्य हस्ताक्षर प्रस्तुत करने के लिए संशोधित किया गया है। भेद्य क्लाइंट इस अमान्य हस्ताक्षर को स्वीकार कर लेता है, जिससे शेष TLS हैंडशेक जारी रह पाता है।

निर्माण और अन्वेषण के दौरान हटाई गई *_test.go फ़ाइलों के अलावा, दुर्भावनापूर्ण TLS सर्वर के लिए golang क्रिप्टो लाइब्रेरी में ये संशोधन आवश्यक थे। इन्हें go/src निर्देशिका में CVE-2022-21449 खोज/ग्रेप करके भी पाया जा सकता है।

निर्माण

किसी मौजूदा golang इंस्टॉलेशन के साथ-साथ maven की आवश्यकता होती है, फिर ./build.sh चलाएँ।

OpenJDK 16.0.1 (build 16.0.1+9-Ubuntu-120.04, 2021-04-20) के साथ Ubuntu 20.04.4 LTS (WSL2) पर परीक्षण किया गया।

डेमो

https://user-images.githubusercontent.com/7225227/164332612-832b046b-cd2e-46e8-b3d6-1da36e290992.mp4

golang क्रिप्टो लाइब्रेरी में संशोधन

crypto/ecdsa/ecdsa.go में, signGeneric फ़ंक्शन को मूल रूप से इस प्रकार संशोधित किया गया था:

root@kitploit:~
func signGeneric(priv *PrivateKey, csprng *cipher.StreamReader, c elliptic.Curve, hash []byte) (r, s *big.Int, err error) {
        // SEC 1, Version 2.0, Section 4.1.3
        // CVE-2022-21449 - Modified and removed all calculations. Return r = s = 0
        r = new(big.Int)
        s = new(big.Int)
        return
}

और crypto/tls/tls.go में, X509KeyPair फ़ंक्शन को ECDSA सार्वजनिक कुंजियों के लिए यह सत्यापन जाँच अक्षम करने के लिए बदला गया है कि दी गई निजी कुंजी X.509 प्रमाणपत्र की सार्वजनिक कुंजी से मेल खाती है:

root@kitploit:~
// X509KeyPair parses a public/private key pair from a pair of
// PEM encoded data. On successful return, Certificate.Leaf will be nil because
// the parsed form of the certificate is not retained.
func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (Certificate, error) {
        fail := func(err error) (Certificate, error) { return Certificate{}, err }
        ...
        switch pub := x509Cert.PublicKey.(type) {
        ...
        case *ecdsa.PublicKey:
                // CVE-2022-21449: Modified checks away
                _, ok := cert.PrivateKey.(*ecdsa.PrivateKey)
                if !ok {
                        return fail(errors.New("tls: private key type does not match public key type"))
                }
                /*if pub.X.Cmp(priv.X) != 0 || pub.Y.Cmp(priv.Y) != 0 {
                        return fail(errors.New("tls: private key does not match public key"))
                }*/
         ...
}

श्रेय

  • नील मैडन: CVE-2022-21449 की खोज और प्रकटीकरण, जैसा कि उनके उत्कृष्ट राइटअप में विस्तार से बताया गया है।
  • खालिद नासर: यह PoC।
टूल डाउनलोड करें