Metasploit क्या है? — सरल और व्यावहारिक गाइड (हिंदी)
परिचय
Metasploit एक प्रसिद्ध और बहुत ही उपयोगी ओपन-सोर्स फ़्रेमवर्क है जो पेन-टेस्टिंग (penetration testing), एक्सप्लॉइट डेवलपमेंट और पोस्ट-एक्सप्लॉइटेशन के लिए बनाया गया है। यह सुरक्षा पेशेवरों को वास्तविक दुनिया के कमजोरियों का परीक्षण करने, उन्हें सत्यापित करने और उनसे निपटने में मदद करता है। इस लेख में हम आसान भाषा में Metasploit की समझ, इंस्टॉल करना, बेसिक कमांड्स और एक स्टेप-बाइ-स्टेप प्रयोग (EternalBlue — MS17-010) बताएँगे। याद रखें: इसे केवल उन्हीं सिस्टम्स पर प्रयोग करें जिनके लिए आपको स्पष्ट लिखित अनुमति हो या अपने लैब में।
Metasploit — मुख्य घटक (Simple terms)
-
Exploit मॉड्यूल: ये वे कोड होते हैं जो किसी सॉफ्टवेयर/सर्विस की कमजोरी का फायदा उठाते हैं।
-
Payload: exploit सफल होने पर जो कोड रन होगा — जैसे Meterpreter का रिवर्स शेल।
-
Auxiliary मॉड्यूल: स्कैनिंग, ब्रूट-फोर्स, फिंगरप्रिंटिंग जैसे non-exploit टूल।
-
Post-exploitation मॉड्यूल: जब शेल मिल जाए तो आगे की जानकारी इकट्ठा करना, क्रेडेंशियल्स निकालना आदि।
-
Database / Workspaces: स्कैन रिज़ल्ट, होस्ट, सर्विस और क्रेडेंशियल स्टोर करने के लिए।
ये मॉड्यूल्स मिलकर आपको एक आसान-सा वर्कफ़्लो देते हैं — खोज (recon) → उपयुक्त exploit चुनना → payload सेट करना → चलाना → पोस्ट-एक्शन।
Metasploit कैसे इंस्टॉल करें (सरल तरीके)
(नोट: Kali Linux सीखने के लिए सबसे सुविधाजनक है — Kali में अक्सर पहले से आता है)
Kali / Debian पर:
Ubuntu व कुछ अन्य Linux पर (इंस्टॉलर स्क्रिप्ट):
Windows पर: Rapid7 की वेबसाइट से इंस्टॉलर डाउनलोड करें और Admin के रूप में रन करें। (लोकल एंटीवायरस को इंस्टॉल के दौरान अस्थायी रूप से कॉन्फ़िगर करना पड़ सकता है)
Database init (सुझाव):
DB से आप db_nmap जैसे कमांड से परिणाम स्टोर कर सकते हैं और रिपोर्ट आसानी से बना सकते हैं।
msfconsole — रोज़मर्रा के उपयोगी कमांड्स (Cheat sheet)
-
search <term>— किसी exploit/auxiliary/module की तलाश -
use <module_path>— किसी मॉड्यूल को लोड करना -
show options— मॉड्यूल के सेटिंग्स दिखाना -
set RHOSTS <ip>— लक्षित IP या रेंज सेट करें -
set LHOST <your-ip>— आपका callback IP (जब payload रिवर्स करेगा) -
show payloads— उपलब्ध payloads देखें -
set PAYLOAD <payload_name>— payload चुनें -
exploit/run— मॉड्यूल चलाएँ -
sessions -l— एक्टिव सत्र दिखाएँ -
sessions -i <id>— किसी सत्र से इंटरएक्ट करें -
db_nmap <options>— Nmap चलाएं और परिणाम DB में सेव करें -
workspace -a <name>— नया प्रोजेक्ट workspace बनाएं
ये कमांड रोज़ उपयोग में काम आते हैं और आपको Metasploit वर्कफ़्लो समझने में मदद करते हैं।
Hands-on उदाहरण: EternalBlue (MS17-010) — स्टेप-बाय-स्टेप (लैब में करें)
सावधानी: इस उदाहरण को केवल आपकी टेस्ट लैब पर ही करें — प्रोडक्शन या किसी तीसरे पक्ष के सिस्टम पर बिना अनुमति के करना अवैध है।
-
msfconsole शुरू करें
-
exploit खोजें
-
मॉड्यूल चुनें
-
ऑप्शन्स दिखाएँ और सेट करें
RHOSTS लक्षित मशीन, LHOST आपकी मशीन (जहाँ से listener होगा) है।
-
payload चुनें
-
एक्सप्लॉइट चलाएँ
-
सफल होने पर Meterpreter सत्र में सामान्य कमांड्स
यह पूरा फ्लो reconnaissance → module selection → configuration → execution → post-exploit का क्लासिक उदाहरण है। हमेशा परिणाम रिकॉर्ड करें और बाद में रिपोर्ट बनाएं।
ऑटोमेशन, वर्कस्पेस और इंटीग्रेशन (आसान भाषा)
-
Workspaces: अलग-अलग टेस्ट या क्लाइंट के लिए workspace बनाकर डेटा अलग रखें:
workspace -a ClientA -
Resource स्क्रिप्ट (.rc): बार-बार चलने वाले कमांड्स को एक फ़ाइल में लिखकर
msfconsole -r script.rcसे ऑटो चलाएँ। -
Nmap / Nessus इंटीग्रेशन:
db_nmapसे Nmap के नतीजे सीधे Metasploit DB में आएँगे — इससे सर्विस और वल्नरेबिलिटी मैनेज करना आसान होता है। -
API / स्क्रिप्टिंग: Python की लाइब्रेरीज़ (जैसे pymetasploit3) से प्रोग्रामैटिकली Metasploit चलाया जा सकता है — बड़े ऑटोमेटेड वर्कफ़्लोज के लिए उपयोगी।
पोस्ट-एक्सप्लॉइटेशन (नैतिक और उपयोगी कदम)
जब आपको शेल मिल जाए तब सामान्य काम होते हैं:
-
सिस्टम जानकारी लें (
sysinfo) -
वर्तमान यूज़र पहचानें (
getuid) -
प्रिविलेजेस देखें (
getprivs) -
पासवर्ड हैश निकालने का प्रयास (केवल अधिकार मिलने पर)
-
आगे के लिए persistence या lateral movement पर ध्यान (पर केवल तभी जब इसका रूल-ऑफ-एंगेजमेंट में उल्लेख हो)
हमेशा ध्यान रखें: नुकसान न करें, डेटा न चुराएँ और टेस्ट के बाद क्लीन-अप करें।
नैतिक और कानूनी बातें (सबसे महत्वपूर्ण)
-
Metasploit बहुत शक्तिशाली है — गलत हाथ में इसका दुरुपयोग हो सकता है।
-
हमेशा लिखित अनुमति के साथ ही किसी सिस्टम का परीक्षण करें।
-
प्रोडक्शन सिस्टम पर बिना प्लान और अनुमति के परीक्षण न करें।
-
परिणामों का रेकॉर्ड रखें और रिपोर्ट तैयार करें।
-
क्लीन-अप और आर्टिफैक्ट हटाना आवश्यक है।
निष्कर्ष और अगले कदम
Metasploit सीखना पेन-टेस्टिंग के लिए बुनियादी और आवश्यक कौशल है। ऊपर दिए गए सरल स्टेप्स और हैण्ड्स-ऑन उदाहरण से आप शुरुआत कर सकते हैं — पर अभ्यास हमेशा लैब पर करें।