2049 - Pentesting NFS Service
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
NFS एक ऐसा सिस्टम है जो क्लाइंट/सर्वर के लिए डिज़ाइन किया गया है, जो उपयोगकर्ताओं को नेटवर्क के माध्यम से फ़ाइलों तक सहजता से पहुँचने की अनुमति देता है जैसे कि ये फ़ाइलें स्थानीय निर्देशिका में स्थित हैं।
इस प्रोटोकॉल का एक महत्वपूर्ण पहलू इसकी अंतर्निहित प्रमाणीकरण या अधिकार प्रबंधन तंत्र की कमी है। इसके बजाय, अधिकार फ़ाइल सिस्टम जानकारी पर निर्भर करता है, जिसमें सर्वर को क्लाइंट-प्रदानित उपयोगकर्ता जानकारी को फ़ाइल सिस्टम के आवश्यक अधिकार प्रारूप में सटीक रूप से अनुवादित करने का कार्य सौंपा गया है, जो मुख्य रूप से UNIX सिंटैक्स का पालन करता है।
प्रमाणीकरण आमतौर पर UNIX UID
/GID
पहचानकर्ताओं और समूह सदस्यताओं पर निर्भर करता है। हालाँकि, एक चुनौती तब उत्पन्न होती है जब क्लाइंट और सर्वर के बीच UID
/GID
मैपिंग में संभावित असंगति होती है, जिससे सर्वर द्वारा अतिरिक्त सत्यापन के लिए कोई स्थान नहीं बचता। इसलिए, यह प्रोटोकॉल विश्वसनीय नेटवर्कों के भीतर उपयोग के लिए सबसे उपयुक्त है, क्योंकि यह इस प्रमाणीकरण विधि पर निर्भर करता है।
डिफ़ॉल्ट पोर्ट: 2049/TCP/UDP (संस्करण 4 को छोड़कर, इसे केवल TCP या UDP की आवश्यकता होती है)।
NFSv2: यह संस्करण विभिन्न प्रणालियों के साथ इसकी व्यापक संगतता के लिए पहचाना जाता है, जो इसके महत्व को UDP के माध्यम से प्रारंभिक संचालन के साथ चिह्नित करता है। श्रृंखला में सबसे पुराना होने के नाते, इसने भविष्य के विकास के लिए आधार तैयार किया।
NFSv3: कई सुधारों के साथ पेश किया गया, NFSv3 ने अपने पूर्ववर्ती पर विस्तार किया, जिसमें परिवर्तनशील फ़ाइल आकार का समर्थन और बेहतर त्रुटि रिपोर्टिंग तंत्र प्रदान किया गया। इसके विकास के बावजूद, इसे NFSv2 क्लाइंट के साथ पूर्ण पूर्ववर्ती संगतता में सीमाओं का सामना करना पड़ा।
NFSv4: NFS श्रृंखला में एक महत्वपूर्ण संस्करण, NFSv4 ने नेटवर्क के बीच फ़ाइल साझा करने को आधुनिक बनाने के लिए डिज़ाइन की गई सुविधाओं का एक सेट पेश किया। उल्लेखनीय सुधारों में उच्च सुरक्षा के लिए Kerberos का एकीकरण, फ़ायरवॉल को पार करने और बिना पोर्टमैपर्स की आवश्यकता के इंटरनेट पर संचालन करने की क्षमता, एक्सेस कंट्रोल सूचियों (ACLs) का समर्थन, और स्थिति-आधारित संचालन का परिचय शामिल है। इसके प्रदर्शन में सुधार और स्थिति-आधारित प्रोटोकॉल को अपनाने ने NFSv4 को नेटवर्क फ़ाइल साझा करने की तकनीकों में एक महत्वपूर्ण प्रगति के रूप में अलग किया है।
NFS के प्रत्येक संस्करण को नेटवर्क वातावरण की विकसित आवश्यकताओं को संबोधित करने के इरादे से विकसित किया गया है, सुरक्षा, संगतता और प्रदर्शन को क्रमिक रूप से बढ़ाते हुए।
यह जानने के लिए कि कौन सा फ़ोल्डर सर्वर उपलब्ध है, आप इसे पूछ सकते हैं:
फिर इसे माउंट करें:
आपको संस्करण 2 का उपयोग करने के लिए निर्धारित करना चाहिए क्योंकि इसमें कोई प्रमाणीकरण या अधिकार नहीं है।
उदाहरण:
यदि आप एक फ़ोल्डर को माउंट करते हैं जिसमें फाइलें या फ़ोल्डर केवल कुछ उपयोगकर्ता द्वारा एक्सेस किए जा सकते हैं (द्वारा UID)। आप स्थानीय रूप से उस UID के साथ एक उपयोगकर्ता बना सकते हैं और उस उपयोगकर्ता का उपयोग करके आप फ़ाइल/फ़ोल्डर को एक्सेस कर सकेंगे।
फाइलों तक पहुँच प्राप्त करने के लिए UID और GID को आसानी से सूचीबद्ध, माउंट और बदलने के लिए आप nfsshell का उपयोग कर सकते हैं।
Read and Write Permissions (rw
): यह सेटिंग फ़ाइल सिस्टम से पढ़ने और लिखने की अनुमति देती है। इतनी व्यापक पहुँच देने के परिणामों पर विचार करना आवश्यक है।
Use of Insecure Ports (insecure
): जब सक्षम किया जाता है, तो यह सिस्टम को 1024 से ऊपर के पोर्ट का उपयोग करने की अनुमति देता है। इस रेंज के ऊपर के पोर्ट की सुरक्षा कम सख्त हो सकती है, जिससे जोखिम बढ़ता है।
Visibility of Nested File Systems (nohide
): यह कॉन्फ़िगरेशन निर्देशिकाओं को दृश्यमान बनाता है, भले ही एक अन्य फ़ाइल सिस्टम एक निर्यातित निर्देशिका के नीचे माउंट किया गया हो। प्रत्येक निर्देशिका के लिए उचित प्रबंधन के लिए अपनी निर्यात प्रविष्टि की आवश्यकता होती है।
Root Files Ownership (no_root_squash
): इस सेटिंग के साथ, रूट उपयोगकर्ता द्वारा बनाए गए फ़ाइलें अपनी मूल UID/GID 0 बनाए रखती हैं, न्यूनतम विशेषाधिकार के सिद्धांत की अनदेखी करते हुए और संभावित रूप से अत्यधिक अनुमतियाँ प्रदान करती हैं।
Non-Squashing of All Users (no_all_squash
): यह विकल्प सुनिश्चित करता है कि उपयोगकर्ता पहचान प्रणाली में संरक्षित रहती है, जो यदि सही तरीके से प्रबंधित नहीं की गई तो अनुमति और पहुँच नियंत्रण समस्याओं का कारण बन सकती है।
NFS no_root_squash and no_all_squash privilege escalation
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)