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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/silasspringer/cve-2018-10933
भेद्यता विश्लेषणशोषणCTFलर्निंग और शिक्षाबाइनरी शोषणलैब और अभ्यास
GitHubsilasspringer/cve-2018-10933

CVE-2018-10933

CVE-2018-10933 libSSH प्रमाणीकरण बायपास का शोषण करने वाली CTF चुनौती। इसमें Docker सेटअप, शोषण स्क्रिप्ट, और प्रतीकात्मक लिंक के माध्यम से छिपे हुए फ्लैग्स की खोज के लिए वॉकथ्रू शामिल हैं।

रिपॉजिटरी देखें
3 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

अवधारणा प्रमाण CTF चुनौती

सिलास स्प्रिंगर द्वारा

CVE-2018-10933 पर आधारित

पृष्ठभूमि

CVE-2018-10933 एक कमजोरी है जो libSSH के चुनिंदा संस्करणों में खोजी गई है, जो संभावित रूप से असीमित मशीन एक्सेस की अनुमति दे सकती है। यह कमजोरी प्रमाणीकरण प्रक्रिया के दौरान पैकेट हेडर्स के अनुचित हैंडलिंग से उत्पन्न होती है, जहाँ MSG_USERAUTH_SUCCESS बाइट के साथ एक तैयार पैकेट भेजने से कोई भी प्रमाणीकरण को बायपास कर सकता है। फिर उनके पास मशीन तक पूर्ण पहुंच होती है।

इस चुनौती का आधार, तब, प्रतियोगियों को प्रदान की गई डॉकर इमेज में चारों ओर देखने, इस कमजोरी की खोज करने, पहुंच प्राप्त करने के लिए इसका शोषण करने, और फिर मशीन पर एक सिमलिंक में छिपी कुंजी खोजने की आवश्यकता है।

उदाहरण CTF चुनौती विवरण

root@kitploit:~
Someone got into my machine via port 22...
It looks like they didnt even know my credentials.

Anyways, they made a file with an odd name, but it's gone now, 
I wonder if there's still some trace of the filename - 
it might be something symbolic of the attacker...

Can you figure out how they got in and help me find the filename?

समाधान

निम्नलिखित इच्छित समाधान का विस्तृत मार्गदर्शन है:

चुनौती विवरण से ध्यान दें कि हमलावर ने पोर्ट 22 के माध्यम से पहुंच प्राप्त की, जो आमतौर पर SSH के लिए आरक्षित पोर्ट है। यह भी ध्यान दें कि हमलावर ने पहुंच प्राप्त करने के लिए क्रेडेंशियल्स का उपयोग नहीं किया।

इससे, यदि आप क्रेडेंशियल्स के बिना SSH के माध्यम से मशीन तक पहुंच प्राप्त करने के पिछले बग्स के बारे में देखते हैं, तो MSG_USERAUTH_SUCCESS बाइट के साथ समस्या काफी संभावित है। वैकल्पिक रूप से, पोर्ट 22 पर कनेक्शन शुरू करके, कोई यह निर्धारित कर सकता है कि libSSH का कौन सा संस्करण चल रहा है, और फिर उस संस्करण के लिए सामान्य शोषण खोज सकता है।

विवरण से कोई यह भी देख सकता है कि वे जिस फ़ाइल नाम की तलाश कर रहे हैं (फ़्लैग) केवल एक प्रतीकात्मक लिंक के लक्ष्य के रूप में मौजूद है।

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

इस स्क्रिप्ट को चलाने और मशीन से फ़्लैग प्राप्त करने के लिए, डेमो इमेज के मामले में, कोई निम्नलिखित के समान एक कमांड चला सकता है:

root@kitploit:~
./libsshauthbypass.py --host localhost -p 1337 -c 'find / -type l -exec stat {} + | grep "File:" | sed -E "s/.*\-> (.*)$/\1/g" | grep "definitelyarealCTF"'
-- ध्यान दें कि यह मानता है कि इमेज स्थानीय रूप से चल रही है, या चल रहे कंटेनर के लिए एक टनल localhost:1337 के माध्यम से स्थापित की गई है।

जो तब इसके समान आउटपुट देता है

root@kitploit:~
sspringer-fedora-CVE: ./libsshauthbypass.py --host localhost -p 1337 -c 'find / -type l -exec stat {} + | grep "File:" | sed -E "s/.*\-> (.*)$/\1/g" | grep "definitelyarealCTF"'
INFO:paramiko.transport:Connected (version 2.0, client libssh_0.8.1)
definitelyarealCTF{totally_a_REAL_flag}

पुनः उपयोग

अपने स्वयं के CTF के लिए इस चुनौती के एक संस्करण का उपयोग करने के लिए, यह अत्यधिक अनुशंसा की जाती है कि Dockerfile को डिफ़ॉल्ट प्रदान किए गए से भिन्न पथ का उपयोग करने के लिए बदलें, flag.txt में फ़्लैग बदलें (हालांकि यह अभी भी एक पंक्ति होना चाहिए), और फिर इमेज को पुनर्निर्माण करें। ध्यान दें कि प्रत्येक कनेक्शन प्रयास के लिए एक नया कंटेनर होस्ट करना आवश्यक हो सकता है ताकि किसी को विनाशकारी कमांड चलाने और सभी प्रतियोगियों को प्रभावित करने से रोका जा सके।

नए फ़्लैग (और इसका परीक्षण) के साथ डॉकर इमेज को पुनर्निर्माण करने के लिए

  • नए फ़्लैग के साथ flag.txt अपडेट करें
  • ./build_run <image name>[:<version number] <port number> चलाएँ
  • सही पेलोड और आप जो कमांड चलाना चाहते हैं, उसके साथ कंटेनर से संपर्क करने के लिए ./libsshauthbypass.py या अपने स्वयं के स्क्रिप्ट का उपयोग करें
  • build_run स्क्रिप्ट द्वारा प्रदान किए गए शेल से exit करने पर, कंटेनर बंद और हटा दिया जाएगा, लेकिन इमेज बनी रहेगी और <image name> के रूप में टैग की जाएगी

वीडियो

Proof of Concept: https://youtu.be/ELrOBm02ANg

Walkthrough of challenge https://youtu.be/Ii121piSZR0

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