Nmap, नेटवर्क मैपर के लिए संक्षिप्त, सबसे अधिक उपयोग किए जाने वाले पोर्टमैपर और नेटवर्क स्कैनिंग टूल में से एक है। हालांकि एक गैर-विशेषाधिकार प्राप्त/सामान्य उपयोगकर्ता के रूप में Nmap के कुछ बुनियादी कार्यों को चलाना संभव है, लेकिन इसकी अधिकांश उन्नत सुविधाओं का उपयोग करने के लिए रूट या sudo विशेषाधिकारों की आवश्यकता होती है।
उदाहरण के लिए, कुछ उन्नत पोर्ट स्कैनिंग सुविधाएँ जैसे NULL, Stealth SYN स्कैन, और कई अन्य केवल रूट विशेषाधिकारों के साथ काम कर सकते हैं क्योंकि Nmap को आपको पर्याप्त/उपयोग योग्य परिणाम देने के लिए कच्चे पैकेट डेटा तक पहुँचने की आवश्यकता होती है।
जब भी आप sudo विशेषाधिकारों के बिना ऐसी उन्नत सुविधाओं को चलाने का प्रयास करते हैं, तो टूल आपको "रूट विशेषाधिकारों की आवश्यकता है" संदेश के साथ संकेत देगा।
दुर्भाग्य से, Nmap चलाने के लिए sudo का उपयोग करना समस्याग्रस्त हो सकता है, खासकर यदि आप sudo समूह में नहीं हैं।
सौभाग्य से, आप बिना रूट या sudo विशेषाधिकारों के Nmap चलाने के लिए क्षमताओं का उपयोग कर सकते हैं।
क्षमताएं क्या हैं?
लिनक्स क्षमताएं लिनक्स कर्नेल विशेषताएँ हैं जो प्रोग्राम और प्रक्रियाओं को रूट उपयोगकर्ता के लिए अन्यथा आरक्षित विशेषाधिकारों का उपयोग करने की अनुमति देती हैं।
संक्षेप में, लिनक्स क्षमताएं रूट उपयोगकर्ता शक्तियों या विशेषाधिकारों को साझा करती हैं, जिससे गैर-विशेषाधिकार प्राप्त प्रक्रियाओं को विशेषाधिकार प्राप्त प्रक्रियाओं के रूप में चलाना संभव हो जाता है, जिसका अर्थ है कि वे अनुमति जांच से नहीं गुजरते हैं।
कई लिनक्स क्षमताएं हैं। आप मैन पेजों में लिनक्स क्षमताओं के बारे में अधिक जान सकते हैं।
इस गाइड का सार आपको तीन क्षमताओं का उपयोग करने का तरीका दिखाना है:CAP_NET_RAW, CAP_NET_ADMIN, और CAP_NET_BIND_SERVICE को Nmap को वे विशेषाधिकार देने के लिए जो रूट उपयोगकर्ता अनुमतियों की जाँच किए बिना इसे चलाने के लिए आवश्यक हैं।
नोट: उन्नत क्षमताओं को सेट करते समय सतर्क रहें, क्योंकि एक दुर्भावनापूर्ण उपयोगकर्ता पूर्ण सूडो विशेषाधिकारों तक पहुंच प्राप्त करने के लिए Nmap के स्क्रिप्टिंग इंजन का फायदा उठा सकता है और स्थानीय होस्ट कमजोरियों का फायदा उठाने के लिए स्क्रिप्ट का उपयोग कर सकता है। इसलिए, इन सेटिंग्स का सावधानी से उपयोग करें या विशिष्ट समूहों तक नैंप की पहुंच को प्रतिबंधित करें।
निम्नलिखित लिनक्स क्षमताएं हैं जिन्हें हम सुडो और रूट अनुमतियों की आवश्यकता को दूर करने के लिए Nmap को प्रदान करते हैं।
- CAP_NET_RAW: इस क्षमता को सेट करने से प्रक्रिया को कच्चे पैकेट डेटा और सॉकेट तक पहुंचने और उपयोग करने की अनुमति मिलती है।
- CAP_NET_ADMIN: यह क्षमता प्रक्रिया को आईपी फ़ायरवॉल व्यवस्थापन, इंटरफ़ेस कॉन्फ़िगरेशन, सेट सेवा प्रकार के टीओएस, रूटिंग टेबल बदलने आदि जैसी विभिन्न नेटवर्क गतिविधियों को करने की क्षमता देती है।
- CAP_NET_BIND_SERVICE: यह क्षमता एक सॉकेट को इंटरनेट डोमेन विशेषाधिकार प्राप्त पोर्ट से जोड़ती है।
लिनक्स क्षमताओं को क्रमशः थ्रेड्स और फाइलों के लिए "प्रभावी," "विरासत योग्य," "अनुमत," और "परिवेश" के सेट में सौंपा गया है। Nmap को रूट या sudo विशेषाधिकारों के बिना चलाने के लिए आवश्यक क्षमताएँ देने के लिए, हम eip
का उपयोग कर रहे हैं , इस प्रकार Nmap को इन क्षमताओं का उपयोग करने की अनुमति देता है, भले ही कोई भी उपयोगकर्ता इसे चलाए।
चरण 1:libcap स्थापित करें
Linux क्षमताओं को सेट करने के लिए, आपको libcap पैकेज स्थापित करने की आवश्यकता है। यह पैकेज आपको सेटकैप कमांड का उपयोग करने की अनुमति देता है। कमांड का प्रयोग करें:
sudo apt-get install libcap2-bin
अब जब हमारे पास libcap स्थापित हो गया है, तो हम setcap
. का उपयोग कर सकते हैं लिनक्स क्षमताओं को संशोधित करने के लिए आदेश।
चरण 2:Nmap क्षमताएं सेट करें
Nmap क्षमताओं को सेट करने के लिए जो इसे रूट उपयोगकर्ता विशेषाधिकारों के बिना चलाने की अनुमति देगा, कमांड निष्पादित करें:
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which nmap)
एक बार जब आप क्षमताओं को सेट कर लेते हैं, तो आप सत्यापित कर सकते हैं कि उन्हें getcap
. का उपयोग करके लागू किया गया है आदेश।
getcap $(which nmap)
नोट: आपके Nmap स्थापना फ़ोल्डर के लिए पूर्ण पथ निर्दिष्ट करना अनिवार्य है।
चरण 3:विशेषाधिकार ध्वज के साथ Nmap चलाएँ
अब जब हमारे पास ये तीन क्षमताएं सेट हैं, तो हम Nmap को यह बताने के लिए विशेषाधिकार ध्वज का उपयोग करके sudo विशेषाधिकारों के बिना Nmap चला सकते हैं कि इसमें ये क्षमताएं हैं। ऐसा करने के लिए, निष्पादित करें:
nmap --privileged -sS 192.168.0.112
नोट :आपको --privileged
. का उपयोग करना होगा विकल्प, अन्यथा Nmap को पता नहीं चलेगा कि उसके पास ये विशेषाधिकार हैं।
यदि आप nmap --privileged
. में टाइप करने में लगने वाले समय को बचाना चाहते हैं तो हर बार ध्वजांकित करें, आप इसमें निर्यात लाइन जोड़कर NMAP_PRIVILEGED पर्यावरण चर को स्थायी रूप से सेट कर सकते हैं:
- ~/.xsessionrc: यह अधिकांश डेस्कटॉप/ग्राफ़िकल परिवेशों के साथ काम करता है और शेल और टर्मिनलों द्वारा इनहेरिट किया जा सकता है।
- ~/.प्रोफ़ाइल: यह उन गोले के लिए काम करता है जिनके लिए लॉगिन की आवश्यकता होती है
- ~/.bashrc: बैश के लिए काम करता है
- ~/.gnomerc: केवल गनोम के लिए काम करता है
रैपिंग अप
अधिकांश Nmap पोर्ट स्कैनिंग और होस्ट डिस्कवरी विधियों के लिए रूट या sudo विशेषाधिकारों की आवश्यकता होती है। जैसा कि ट्यूटोरियल में चर्चा की गई है, आप इस कार्यक्षमता को ओवरराइड कर सकते हैं और बिना रूट या sudoers समूह में Nmap चला सकते हैं। कुछ बेहतरीन लिनक्स पोर्ट स्कैनर देखें जिनका आप उपयोग कर सकते हैं।