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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-2825 — CVE-2025-2825 के लिए विस्तृत विश्लेषण और PoC एक्सप्लॉइट, जो CrushFTP में एक प्रमाणीकरण बाईपास है। इसमें nuclei टेम्पलेट, मल्टी-थ्रेडेड स्कैनर, और पैठ परीक्षण के लिए उपयोगकर्ता निर्माण स्क्रिप्ट शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/iteride/cve-2025-2825
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंट
GitHubiteride/cve-2025-2825

CVE-2025-2825

CVE-2025-2825 के लिए विस्तृत विश्लेषण और PoC एक्सप्लॉइट, जो CrushFTP में एक प्रमाणीकरण बाईपास है। इसमें nuclei टेम्पलेट, मल्टी-थ्रेडेड स्कैनर, और पैठ परीक्षण के लिए उपयोगकर्ता निर्माण स्क्रिप्ट शामिल हैं।

रिपॉजिटरी देखें
110 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2025-2825/CVE-2025-31161

परिचय

इस दस्तावेज़ में CrushFTP के सर्वर घटक को प्रभावित करने वाली भेद्यता CVE-2025-2825 का शोध प्रस्तुत किया गया है - जो फ़ाइल स्थानांतरण और भंडारण (FTP, SFTP, HTTP/S, S3-जैसे इंटरफ़ेस आदि) के लिए एक वाणिज्यिक समाधान है।

दोष को प्रमाणीकरण बाईपास के रूप में वर्गीकृत किया गया है, जो दूरस्थ अप्रमाणित हमलावर को व्यवस्थापक अधिकार प्राप्त करने की अनुमति देता है। सफल शोषण crushadmin विशेषाधिकारों तक पहुँच, फ़ाइलों को देखने और संशोधित करने, खातों का प्रबंधन करने और CrushFTP वेब इंटरफ़ेस और API के माध्यम से व्यवस्थापकीय संचालन करने की अनुमति देता है।

रिपोर्ट किए गए प्रभावित संस्करण (सार्वजनिक सलाहकार और शोधकर्ताओं की रिपोर्ट के अनुसार):

  • CrushFTP 10.0.0 — 10.8.3
  • CrushFTP 11.0.0 — 11.3.0

⚠️ नोट: कुछ प्रकाशनों में CVE पहचानकर्ताओं के डुप्लिकेट और ओवरलैप हैं (जैसे, CVE-2025-31161)।


रिपोर्ट का उद्देश्य

भेद्यता का चरण-दर-चरण विश्लेषण करना और अनुसंधान का पूरा चक्र प्रदर्शित करना, जिसमें शामिल हैं:

  1. सामग्री का संग्रह और विश्लेषण — CVE-2025-2825 पर सलाहकार, PoC, तकनीकी विश्लेषण और प्रकाशनों का व्यवस्थितकरण; दोष के सार और इसके प्रभाव का सूत्रीकरण।
  2. CPE और शर्तों का निर्धारण — प्रासंगिक CPE/संस्करणों और कॉन्फ़िगरेशन की सूची जिनके तहत भेद्यता पुन: प्रस्तुत की जा सकती है (वेब इंटरफ़ेस, S3-संगत एंडपॉइंट आदि)।
  3. PoC/Exploit का विकास — नियंत्रित परीक्षण वातावरण पर पुन: प्रस्तुत करने योग्य PoC तैयार करना; आर्किटेक्चर और नुकसान को कम करने के उपायों का विवरण।
  4. बड़े पैमाने पर जांच के तरीके — कमजोर होस्ट की सुरक्षित खोज के तीन दृष्टिकोण:
    • सक्रिय nuclei स्कैन;
    • निष्क्रिय nuclei (बिना शोषण के संस्करणों और अप्रत्यक्ष संकेतों के आधार पर);
    • नियंत्रित जांच के लिए कस्टम स्क्रिप्ट (Python/Go)।
  5. सिफारिशें और शमन — पहचान, पैचिंग और इंस्टेंस की सुरक्षा के लिए व्यावहारिक सुझाव।
  6. सुरक्षित परीक्षण अभ्यास — केवल अधिकृत वातावरण में परीक्षण आयोजित करने के लिए चेकलिस्ट।

व्यावहारिक प्रभाव

सार्वजनिक रिपोर्टों के अनुसार, भेद्यता का महत्वपूर्ण जोखिम है:

  • शोषण CrushFTP इंस्टेंस तक व्यवस्थापकीय पहुँच प्रदान करता है।
  • परिणाम: फ़ाइलों की चोरी/संशोधन, उपयोगकर्ता निर्माण/हटाना, बैकडोर स्थापित करना, आगे के हमलों के लिए सर्वर का उपयोग।
  • CVSS को क्रिटिकल (लगभग 9.8) के रूप में मूल्यांकित किया गया है।
  • समुदाय में PoC और 'जंगली में' शोषण के संकेत दर्ज किए गए हैं।

लक्षित CPE / कॉन्फ़िगरेशन

निम्नलिखित संकेतों वाले इंस्टेंस महत्वपूर्ण हैं:

  • उत्पाद: CrushFTP (वेब इंटरफ़ेस वाला कोई भी संस्करण)।
  • संस्करण: 10.0.0 — 10.8.3, 11.0.0 — 11.3.0।
  • उच्च जोखिम वाली कॉन्फ़िगरेशन:
    • सार्वजनिक वेब प्रशासनिक इंटरफ़ेस (HTTP/S) सक्षम।
    • S3-संगत API एंडपॉइंट सक्रिय।
    • अतिरिक्त सुरक्षा उपायों (IP फ़िल्टरिंग, 2FA) का अभाव।
    • प्रॉक्सी/लोड बैलेंसर की गलत सेटिंग्स, जो आंतरिक एंडपॉइंट को बाहरी रूप से सुलभ बनाती हैं।

भेद्यता को समझना

CrushFTP S3-जैसे API के लिए समर्थन लागू करता है। प्रमाणीकरण के लिए Authorization हेडर का उपयोग किया जाता है:

root@kitploit:~
Authorization: AWS4-HMAC-SHA256 Credential=<AccessKey>/<Date>/<Region>/s3/aws4_request, SignedHeaders=<Headers>, Signature=<Signature>

सर्वर क्रेडेंशियल से AccessKey निकालता है और हस्ताक्षर सत्यापित करना चाहिए। हालाँकि, कोड में lookup_user_pass फ़्लैग के साथ काम करते समय एक त्रुटि हुई:

  • कमजोर कोड (सरलीकृत टुकड़ा):
root@kitploit:~
// ServerSessionHTTP.java, method loginCheckHeaderAuth()
if (this.headerLookup.containsKey("AUTHORIZATION") &&
    this.headerLookup.getProperty("AUTHORIZATION").trim().startsWith("AWS4-HMAC")) {
    
    boolean lookup_user_pass = true;   // ← महत्वपूर्ण त्रुटि
    
    if (s3_username3.indexOf("~") >= 0) {
        user_pass = user_name.substring(user_name.indexOf("~") + 1);
        user_name = user_name.substring(0, user_name.indexOf("~"));
        lookup_user_pass = false;
    }
    
    if (this.thisSession.login_user_pass(
            lookup_user_pass,
            false,
            user_name,
            lookup_user_pass ? "" : user_pass)) {
        // सफल प्रमाणीकरण
    }
}
  • आगे का तर्क:

फ़्लैग lookup_user_pass सीधे anyPass के रूप में पारित किया जाता है:

root@kitploit:~
if (anyPass && user.getProperty("username").equalsIgnoreCase(the_user)) {
    return user;  // पासवर्ड सत्यापन के बिना प्रमाणीकरण
}

इस प्रकार:

  • यदि उपयोगकर्ता नाम ~ प्रतीक के बिना निर्दिष्ट है, तो फ़्लैग true रहता है।
  • पासवर्ड सत्यापन नहीं किया जाता है।
  • हमलावर केवल मौजूदा उपयोगकर्ता नाम (जैसे, crushadmin) निर्दिष्ट करके प्रमाणीकरण पास कर सकता है।
  • एक औपचारिक रूप से मान्य CrushAuth कुकी और c2f पैरामीटर के साथ, यह प्रमाणीकरण को बायपास करने और व्यवस्थापकीय पहुँच प्राप्त करने की अनुमति देता है।

सुधार

संस्करण 11.3.1 और उसके बाद में डेवलपर्स ने:

  • पैरामीटर s3_auth_lookup_password_supported (डिफ़ॉल्ट false) जोड़ा, जो कमजोर परिदृश्य को अवरुद्ध करता है।
  • ~ के साथ उपयोगकर्ता नाम की प्रारंभिक जाँच शुरू की।
  • फ़्लैग तर्क को विभाजित किया, जिससे lookup_user_pass → anyPass का प्रतिस्थापन समाप्त हुआ।
  • अनुशंसा: CrushFTP को तुरंत 11.3.1+ में अपडेट करें या s3_auth_lookup_password_supported को बंद करके वर्कअराउंड लागू करें।

PoC/शोषण

CVE-2025-2825 का शोषण काफी सरल है और जटिल तैयारी की आवश्यकता नहीं है। हमलावर को केवल एक विशेष रूप से तैयार HTTP अनुरोध भेजने की आवश्यकता है जिसमें दो प्रमुख तत्व मौजूद हों:

  • AWS S3 प्रारूप में Authorization हेडर, जिसमें मौजूदा उपयोगकर्ता का सही नाम हो (Credential फ़ील्ड में AccessKey/username)।
  • CrushAuth कुकी अपेक्षित प्रारूप में और URL/अनुरोध बॉडी में c2f पैरामीटर, जिनके मान तार्किक रूप से मेल खाते हों (कुकी प्रारूप सर्वर द्वारा अपेक्षित संरचना के अनुरूप होना चाहिए)।

यदि सर्वर कमजोर है (संस्करण रेंज 10.0.0—10.8.3 या 11.0.0—11.3.0 और सुधारात्मक पैच लागू नहीं किया गया है), तो ऐसा संयोजन प्रमाणीकरण हैंडलर को कमजोर पथ पर जाने का कारण बनता है, जहाँ पासवर्ड खोज फ़्लैग (lookup_user_pass) को 'कोई भी पासवर्ड स्वीकार्य' के रूप में व्याख्यायित किया जाता है, और उपयोगकर्ता बिना पासवर्ड सत्यापन के केवल नाम से प्रमाणित हो जाता है।

महत्वपूर्ण नोट:

इस भेद्यता के शोषण के लिए आमतौर पर दो क्रमिक अनुरोध भेजने की आवश्यकता होती है। पहला, तथाकथित 'वार्म-अप' अनुरोध, सर्वर पर कमजोर प्रमाणीकरण प्रक्रिया शुरू करता है। सर्वर के सही स्थिति में प्रवेश करने का विशिष्ट संकेत प्रतिक्रिया में 502 Bad Gateway त्रुटि प्राप्त करना या बस टाइमआउट होना है। इसके तुरंत बाद दूसरा, मुख्य अनुरोध भेजा जाता है, जो उपयोगी कार्रवाई (जैसे, उपयोगकर्ता बनाना) करता है, जबकि सर्वर हमले के लिए कमजोर स्थिति में होता है।

root@kitploit:~
GET /WebInterface/function/?command=getUserList&serverGroup=MainUsers&c2f=1111 HTTP/1.1
Host: target-server:8080
Cookie: CrushAuth=1743113839553_vD96EZ70ONL6xAd1DAJhXMZYMn1111
Authorization: AWS4-HMAC-SHA256 Credential=crushadmin/

परीक्षण के लिए, मैंने HTB पर हाल ही में जारी लैब—Soulmate ली, जहाँ वास्तव में CrushFTP के शोषण की आवश्यकता है।

crush

आगे की प्रगति:

इस भेद्यता के कारण, setUserItem कमांड का उपयोग करके एडमिन अधिकारों वाला एक नया उपयोगकर्ता जोड़ा जा सकता है। ऐसा करने के लिए new_user.py चलाएँ:

root@kitploit:~
python3 new_user.py --target_host http://ftp.soulmate.htb/ --port 80 --target_user crushadmin --new_user literide --password literide

यह क्यों काम करता है

  1. Authorization हेडर का पार्सिंग: जब सर्वर S3-जैसे प्रारूप (AWS4-HMAC...) में प्राधिकरण हेडर देखता है, तो वह क्रेडेंशियल फ़ील्ड से क्लाइंट आइडेंटिफ़ायर (AccessKey / username) निकालता है। इस चरण पर, सर्वर को एक स्ट्रिंग मिलती है जिसे वह उपयोगकर्ता नाम मानता है—यह पहचान मान है जिसका उपयोग प्रमाणीकरण तर्क में आगे किया जाता है।

  2. lookup_user_pass फ़्लैग और इसकी भूमिका:

कोड में एक बूलियन फ़्लैग lookup_user_pass है, जो इंगित करना चाहिए कि सत्यापन के दौरान पासवर्ड कहाँ से लेना है:

  • सामान्य परिदृश्य में, फ़्लैग यह तय करने में मदद करता है: अनुरोध में पारित पासवर्ड का उपयोग करना है या उपयोगकर्ता भंडार से पासवर्ड खींचना है;
  • हालाँकि, कार्यान्वयन त्रुटि के कारण, यही फ़्लैग सत्यापन फ़ंक्शन में आगे पारित होता है और वहाँ अलग ढंग से व्याख्यायित होता है—पासवर्ड सत्यापन को छोड़ने की अनुमति देने वाले संकेत के रूप में (मूलतः: 'anyPass')।
  1. कॉल श्रृंखला के माध्यम से फ़्लैग का स्थानांतरण: अनुमानित पथ: ServerSessionHTTP.loginCheckHeaderAuth() → Session.login_user_pass(...) → UserTools.ut.verify_user(...)। इनपुट पर फ़्लैग व्यवहार को परिभाषित करता है, और verify_user में यह नाम मेल खाने पर पासवर्ड तुलना के बिना पाए गए उपयोगकर्ता ऑब्जेक्ट की शीघ्र वापसी की ओर ले जाता है। यही प्रमाणीकरण जाँच को बायपास करता है—सर्वर उपयोगकर्ता को नाम से 'पहचानता' है और उसे प्रमाणित मानता है।

  2. संबंधित तत्व (cookie / c2f): सार्वजनिक विश्लेषणों में यह बताया गया है कि हैंडलर अनुरोध को सत्र/संदर्भ से मिलाने के उद्देश्य से कुकी/पैरामीटर के सही प्रारूप की अपेक्षा करता है। हालाँकि, मुख्य दोष lookup_user_pass के प्रसंस्करण में तार्किक त्रुटि है; अन्य तत्व केवल अनुरोध को प्रसंस्करण की मानक शाखाओं से गुज़रने में मदद करते हैं।

मुख्य कारण:

  • फ़्लैग के अर्थ का ओवरलोड: जो फ़्लैग यह तय करने वाला था कि 'पासवर्ड कहाँ से लेना है', उसका उपयोग 'किसी भी पासवर्ड की अनुमति दें' के रूप में किया गया। यह Credential के सरलीकृत पार्सिंग के साथ मिलकर यह सुनिश्चित करता था कि सही उपयोगकर्ता नाम की उपस्थिति पासवर्ड सत्यापन के बिना उपयोगकर्ता क्रेडेंशियल प्राप्त करने के लिए पर्याप्त थी।

Nuclei टेम्पलेट

  • निष्क्रिय टेम्पलेट:

    चूंकि अधिकांश वेब सेवाओं में Crushftp के सटीक संस्करण का निर्धारण संभव नहीं है, यह टेम्पलेट केवल यह जाँचता है कि सेवा Crushftp का उपयोग कर रही है या नहीं।

    सक्रिय टेम्पलेट के साथ संयोजन में उपयोग करना सबसे अच्छा है passive_nuclei

  • सक्रिय टेम्पलेट:

    सक्रिय टेम्पलेट जाँचता है कि getUserList कमांड संभव है या नहीं।

    active_nuclei

  • मल्टीथ्रेडेड स्क्रिप्ट

    स्क्रिप्ट लगभग सक्रिय टेम्पलेट की तरह ही काम करती है, लेकिन बहुत तेज़ है और एक साथ कई होस्ट की जाँच करने की क्षमता का समर्थन करती है।

    root@kitploit:~
    python3 scan.py -t http://ftp.soulmate.htb/ -p 80 -u crushadmin
    

    scan


निवारण और सुरक्षा के लिए सिफारिशें

CVE-2025-31161 से जुड़े जोखिमों को कम करने के लिए, निम्नलिखित कदम उठाने की अनुशंसा की जाती है:

  1. तत्काल अद्यतन:

    • सभी CrushFTP इंस्टेंस को संस्करण 11.3.1 या उससे नए में अपडेट करें। यह भेद्यता को पूरी तरह से समाप्त करने का सबसे विश्वसनीय तरीका है।
  2. कार्यसमाधान लागू करना (यदि अद्यतन संभव नहीं है):

    • सर्वर कॉन्फ़िगरेशन में पैरामीटर s3_auth_lookup_password_supported को false पर सेट करें। यह पूरे उत्पाद को अपडेट किए बिना कमजोर प्रमाणीकरण तर्क को अक्षम कर देगा।
  3. जोखिम कम करने के उपाय:

    • पहुँच प्रतिबंधित करें: CrushFTP वेब इंटरफ़ेस तक पहुँच को केवल विश्वसनीय IP पतों (जैसे, कॉर्पोरेट नेटवर्क या VPN से) तक सीमित करने के लिए फ़ायरवॉल या रिवर्स प्रॉक्सी (NGINX, Caddy) का उपयोग करें।
    • लॉग मॉनिटरिंग: नियमित रूप से CrushFTP एक्सेस लॉग का विश्लेषण करें ताकि Authorization हेडर में AWS4-HMAC-SHA256 वाले संदिग्ध अनुरोधों का पता लगाया जा सके, विशेषकर यदि आप S3 एकीकरण का उपयोग नहीं कर रहे हैं।
    • वेब एप्लिकेशन फ़ायरवॉल (WAF) का उपयोग करें: S3 API के लिए अभिप्रेत नहीं एंडपॉइंट पर असामान्य Authorization हेडर वाले अनुरोधों को अवरुद्ध करने के लिए WAF कॉन्फ़िगर करें।

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