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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2015-3306-lab — प्रतिलिपि-योग्य Docker लैब + CVE-2015-3306 (ProFTPD mod_copy प्री-ऑथ मनमाना फ़ाइल कॉपी) के लिए raw-socket एक्सप्लॉइट — एक पैच-डिफिंग सीखने का अभ्यास | Kitploit
उपकरण/GitHubGitHub/diegslva/cve-2015-3306-lab
शोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubdiegslva/cve-2015-3306-lab

cve-2015-3306-lab

प्रतिलिपि-योग्य Docker लैब + CVE-2015-3306 (ProFTPD mod_copy प्री-ऑथ मनमाना फ़ाइल कॉपी) के लिए raw-socket एक्सप्लॉइट — एक पैच-डिफिंग सीखने का अभ्यास

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

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

सभी देखें →

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

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

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

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

CVE-2015-3306 — ProFTPD mod_copy प्री-ऑथ अनियंत्रित फ़ाइल कॉपी

CVE-2015-3306 के लिए एक पूर्णतः पुनरुत्पादनीय लैब और हाथ से लिखा गया एक्सप्लॉइट — भेद्यता अनुसंधान में सीखने के अभ्यास के रूप में निर्मित: पैच डिफिंग, मैनुअल ट्रिगरिंग, और रॉ-सॉकेट एक्सप्लॉइट विकास।

बग

ProFTPD का mod_copy मॉड्यूल SITE CPFR / SITE CPTO कमांड जोड़ी लागू करता है, जो फ़ाइलों को सर्वर साइड पर कॉपी करता है बिना डेटा को क्लाइंट को स्थानांतरित किए।

संस्करण 1.3.5 में, किसी भी हैंडलर ने यह जाँच नहीं की कि सत्र प्रमाणित था या नहीं। मॉड्यूल ने केवल यह मान लिया "कोई भी लॉगिन करने से पहले SITE कमांड नहीं भेजेगा" — एक टूटी हुई धारणा जो CVE बन गई। कोई भी अप्रमाणित क्लाइंट सर्वर प्रक्रिया द्वारा पठनीय किसी भी फ़ाइल को कॉपी कर सकता था उसके द्वारा लिखने योग्य किसी भी स्थान पर।

पैच

फिक्स (कमिट 212d54271f, 1.3.5a में जारी) दो काम करता है:

  1. copy_cpfr और copy_cpto के शीर्ष पर एक प्रमाणीकरण गेट जोड़ता है:
root@kitploit:~
authenticated = get_param_ptr(cmd->server->conf, "authenticated", FALSE);
if (authenticated == NULL || *authenticated == FALSE) {
  pr_response_add_err(R_530, _("Please login with USER and PASS"));
  errno = EPERM;
  return PR_ERROR(cmd);
}
  • एक CopyEngine on|off निर्देश जोड़ता है — पहले मॉड्यूल को उन बिल्ड्स में अक्षम भी नहीं किया जा सकता था जिनमें यह शामिल था।
  • पूरा यूनिफाइड डिफ patch.diff में है। पैच पढ़ना ही कौशल है: फिक्स आपको बताता है कि घाव कहाँ था।

    लैब

    Dockerfile आधिकारिक स्रोत टारबॉल से ProFTPD 1.3.5 (अंतिम भेद्य रिलीज़) को mod_copy सक्षम के साथ संकलित करता है:

    root@kitploit:~
    docker build -t proftpd-135 .
    docker run -d --name lab135 -p 127.0.0.1:2121:21 -p 127.0.0.1:30000-30010:30000-30010 proftpd-135
    docker exec lab135 chmod 777 /home/ftp
    

    proftpd.conf में PassivePorts डेटा चैनल को पिन करता है — FTP की दो-चैनल वास्तुकला (नियंत्रण + गतिशील डेटा) वह कारण है जिससे भोले कंटेनर मैपिंग विफल होते हैं: नियंत्रण पोर्ट काम करता है, डेटा पोर्ट नहीं।

    एक्सप्लॉइट

    exploit.py रॉ सॉकेट का उपयोग करता है — कोई ftplib नहीं, क्योंकि लाइब्रेरीज़ प्रोटोकॉल को छिपाती हैं, और प्रोटोकॉल को छिपाना ही वह चीज़ है जिससे हम लड़ रहे हैं:

    root@kitploit:~
    SITE CPFR /etc/segredo.txt   -> 350  (कोई USER/PASS नहीं भेजा गया: यही बग है)
    SITE CPTO /home/ftp/...      -> 250  (अनियंत्रित कॉपी निष्पादित)
    USER ftp / PASS ...          -> 230  (लॉगिन केवल एक्सफिल पथ है)
    PASV / RETR                  -> 150 -> 226  (फ़्लैग कैप्चर किया गया)
    DELE                         -> 250  (सफाई: कोई IOC पीछे नहीं छोड़ा गया)
    

    सीखे गए पाठ (इस रेपो का वास्तविक उद्देश्य)

    • बैनर != सत्य। Debian संस्करण बढ़ाए बिना फिक्स बैकपोर्ट करता है; हनीपॉट्स (Dionaea आदि) जानबूझकर भेद्य बैनर की नकल करते हैं।
    • शोषण योग्य बग != स्वचालित एक्सप्लॉइट। पर्यावरण (फ़ाइलसिस्टम अनुमतियाँ, AllowOverwrite, पोर्ट मैपिंग) अंतिम प्रभाव तय करता है।
    • आइडेम्पोटेंसी मायने रखती है। एक अच्छा एक्सप्लॉइट लगातार दो बार चलता है — अद्वितीय गंतव्य नाम (time.time_ns(), time.time() नहीं), और बचे हुए स्टेट पर कोई निर्भरता नहीं।
    • FTP उत्तरों में एक स्टेट मशीन होती है। 1xx प्रारंभिक है (और अधिक की उम्मीद करें), 2xx पूर्ण, 3xx मध्यवर्ती, 5xx त्रुटि। RETR दो बार उत्तर देता है: 150, फिर 226। अगले कमांड से पहले दोनों को ड्रेन करें।
    • लक्ष्य के लॉग ग्राउंड ट्रुथ हैं। जब क्लाइंट "550" कहता है और आप नहीं जानते क्यों, सर्वर का डिबग लॉग (-d10) आपको ठीक-ठीक बताता है कि कौन सी जाँच चालू हुई।
    • सफाई OPSEC है। एक एक्सप्लॉइट जो फ़ाइलें पीछे छोड़ता है, वह एक एक्सप्लॉइट है जो सबूत पीछे छोड़ता है।

    संदर्भ

    • फिक्स कमिट: https://github.com/proftpd/proftpd/commit/212d54271f
    • CVE: https://nvd.nist.gov/vuln/detail/CVE-2015-3306

    अस्वीकरण

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

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