AD

वेब एप्लीकेशन सिक्योरिटी ऑडिट: एथिकल हैकर्स के लिए 7-स्टेप Reconnaissance चेकलिस्ट

वेब एप्लीकेशन सिक्योरिटी ऑडिट: एथिकल हैकर्स के लिए 7-स्टेप Reconnaissance चेकलिस्ट

साइबर सिक्योरिटी और एथिकल हैकिंग में Reconnaissance का महत्व

साइबर सुरक्षा की दुनिया में कहावत है कि 'जितनी बेहतर आपकी तैयारी (Reconnaissance) होगी, उतना ही आसान आपका सिक्योरिटी ऑडिट होगा।' एथिकल हैकिंग और वेब एप्लीकेशन पेनेट्रेशन टेस्टिंग (Penetration Testing) में Reconnaissance पहला और सबसे महत्वपूर्ण चरण होता है। इसका मुख्य उद्देश्य टारगेट एप्लीकेशन के बारे में बिना कोई हमला किए अधिक से अधिक जानकारी एकत्र करना है।

यदि आप बग बाउंटी (Bug Bounty) हंटिंग शुरू कर रहे हैं या सिस्टम एडमिनिस्ट्रेटर के रूप में अपनी वेबसाइट का सिक्योरिटी ऑडिट कर रहे हैं, तो यह चेकलिस्ट आपके लिए एक प्रैक्टिकल रोडमैप का काम करेगी। नीचे दी गई एक्शन-ओरिएंटेड चेकलिस्ट का पालन करके आप टारगेट एप्लीकेशन के अटैक सरफेस (Attack Surface) को सटीकता से समझ सकते हैं।

Reconnaissance प्रक्रिया की क्विक समरी टेबल

पेनेट्रेशन टेस्टिंग की प्रक्रिया शुरू करने से पहले, इस पूरी चेकलिस्ट का एक संक्षिप्त विवरण नीचे टेबल में दिया गया है:

स्टेपप्रक्रिया / चरणलोकप्रिय टूल्स (Tools)मुख्य उद्देश्य
1Passive Subdomain EnumerationSublist3r, Amass, CRT.shबिना डायरेक्ट ट्रैफिक भेजे छिपे हुए सब-डोमेन्स खोजना।
2Active DNS AnalysisDig, Nmap, DNSenumDNS रिकॉर्ड्स और ज़ोन ट्रांसफर की खामियों की जांच करना।
3Port Scanning & Service MappingNmap, RustScanओपन पोर्ट्स और उन पर चल रही सेवाओं का पता लगाना।
4Tech Stack FingerprintingWappalyzer, WhatWebसर्वर, CMS, और प्रोग्रामिंग लैंग्वेज की जानकारी लेना।
5Directory & File FuzzingFFuf, Gobusterहिडन पाथ, बैकअप फाइल्स और एडमिन पैनल्स को ढूंढना।
6Parameter & Endpoint DiscoveryParamSpider, Katanaइपुट पैरामीटर्स और एपीआई एंडपॉइंट्स की मैपिंग करना।
7Public Secrets & Git Leaks CheckTrufflehog, GitLeaksपब्लिक कोड रिपॉजिटरी में लीक हुए API keys और पासवर्ड खोजना।

एथिकल हैकिंग के लिए 7-स्टेप Reconnaissance चेकलिस्ट

स्टेप 1: Passive Subdomain Enumeration पूरा करें

टारगेट वेबसाइट के सभी सक्रिय सब-डोमेन्स (जैसे admin.target.com, dev.target.com) की सूची बनाना पहला कदम है। डेवलपर्स अक्सर डेवलपमेंट या टेस्टिंग एनवायरनमेंट को बिना सिक्योरिटी पैच के लाइव छोड़ देते हैं, जो कमजोर कड़ी बन सकते हैं।

  • CRT.sh (SSL/TLS Certificates): सर्च इंजन और सर्टिफिकेट ट्रांसपेरेंसी लॉग्स का उपयोग करके रजिस्टर्ड सब-डोमेन निकालें।
  • Amass और Sublist3r: OSINT (Open Source Intelligence) स्रोतों जैसे Google, Bing, VirusTotal से ऑटोमेटेड तरीके से डेटा एकत्र करें।
  • चेक लिस्ट एक्शन item: सभी खोजे गए सब-डोमेन्स को एक टेक्स्ट फ़ाइल में सेव करें और केवल उन्हीं को अलग करें जो वर्तमान में लाइव हैं।

स्टेप 2: Active DNS Analysis और Zone Transfer की जांच करें

DNS (Domain Name System) सर्वर एप्लीकेशन के इंफ्रास्ट्रक्चर का नक्शा प्रदान करते हैं। गलत तरीके से कॉन्फ़िगर किए गए DNS सर्वर संवेदनशील डेटा लीक कर सकते हैं।

  • DNS Zone Transfer Test: चेक करें कि क्या DNS सर्वर AXFR query की अनुमति दे रहा है। इसके लिए dig axfr @ns1.target.com target.com कमांड का उपयोग करें।
  • DNS Record Lookup: A, AAAA, MX, TXT और CNAME रिकॉर्ड्स का विश्लेषण करें। TXT रिकॉर्ड्स में अक्सर थर्ड-पार्टी सेवाओं (जैसे SPF, DMARC, या सत्यापन टोकन) की जानकारी छिपी होती है।

स्टेप 3: Port Scanning और Service Detection करें

टारगेट सर्वर पर कौन से पोर्ट्स खुले हैं और उन पर कौन से सॉफ़्टवेयर वर्ज़न चल रहे हैं, यह जानना बेहद ज़रूरी है। पुराना या आउटडेटेड सॉफ़्टवेयर सीधा सुरक्षा जोखिम होता है।

  • Nmap बेसिक स्कैन: nmap -sV -sC -p- target.com कमांड चलाकर ओपन पोर्ट्स और सर्विस वर्ज़न्स का पता लगाएं।
  • रैपिड स्कैनिंग: समय बचाने के लिए RustScan या Masscan का उपयोग करें और फिर विस्तृत विश्लेषण के लिए Nmap चलाएं।
  • चेकलिस्ट पॉइंट: केवल मानक पोर्ट्स (80, 443) ही नहीं, बल्कि गैर-मानक पोर्ट्स जैसे 8080, 8443, 22 (SSH), और 3306 (MySQL) पर ध्यान दें।

स्टेप 4: Web Tech Stack Fingerprinting करें

एप्लीकेशन किस टेक्नोलॉजी पर बनी है (उदा. WordPress, React, Node.js, Nginx), यह जानने से आपको विशिष्ट कमजोरियों (Vulnerabilities) की पहचान करने में मदद मिलती है।

  • Browser Extensions: Wappalyzer या BuiltWith का उपयोग करके एक क्लिक में टेक्नोलॉजी स्टैक देखें।
  • Command-Line Tools: whatweb target.com चलाकर HTTP रिस्पॉन्स हेडर, सर्वर बैनर और कुकी स्ट्रक्चर का विश्लेषण करें।
  • सुरक्षा जांच: चेक करें कि क्या HTTP रिस्पॉन्स हेडर में सर्वर वर्ज़न (जैसे Server: Apache/2.4.41) सार्वजनिक रूप से दिखाई दे रहा है।

स्टेप 5: Directory और Hidden File Fuzzing संचालित करें

वेबसाइट पर कई ऐसे फोल्डर या पेजेस होते हैं जो मुख्य मेनू में लिंक नहीं होते, जैसे /backup/, /test/, या /config.php.bak

  • Directory Brute-forcing: FFuf या Gobuster टूल का उपयोग करके वर्डलिस्ट (जैसे SecLists) के साथ यूआरएल फज़िंग करें।
  • कमांड उदाहरण: ffuf -u https://target.com/FUZZ -w /path/to/wordlist.txt
  • महत्वपूर्ण चेक: चेक करें कि क्या robots.txt या sitemap.xml फ़ाइल में किसी संवेदनशील एडमिन पाथ को अनजाने में दिखाया गया है।

स्टेप 6: Parameter Discovery और API Endpoint Mapping

वेब एप्लीकेशन के डेटा इनपुट पॉइंट्स (URL Parameters) ही अक्सर SQL Injection या Cross-Site Scripting (XSS) जैसी कमजोरियों का जरिया बनते हैं।

  • URL Extraction: WayBackURLs या Gau (GetAllUrls) का इस्तेमाल करके वेवेबैक मशीन से टारगेट वेबसाइट के पुराने URLs निकालें।
  • Parameter Fuzzing: ParamSpider का उपयोग करके उन URLs को खोजें जिनमें पैरामीटर्स (जैसे ?id=1 या ?file=about.txt) मौजूद हैं।
  • API Mapping: Swagger UI या GraphQL एंडपॉइंट्स (/graphql, /api/v1/) की उपस्थिति का परीक्षण करें।

स्टेप 7: Public Repository Leaks और GitHub Recon

कई बार डेवलपर्स गलती से कंपनी का सोर्स कोड, पासवर्ड या API Keys public GitHub रिपॉजिटरी पर पुश कर देते हैं।

  • GitHub Dorks: GitHub सर्च बार में "target.com" password या "target.com" api_key जैसे कीवर्ड्स खोजें।
  • Automated Tools: Trufflehog या GitLeaks टूल से Git इतिहास में छुपे हुए सीक्रेट्स और टोकन्स का पता लगाएं।
  • चेकलिस्ट एक्शन item: सुनिश्चित करें कि आपकी संस्था का कोई भी क्रेडेंशियल सार्वजनिक प्लेटफार्मों पर मौजूद न हो।

कानूनी और एथिकल दिशानिर्देश (Legal Disclaimer)

एथिकल हैकिंग और पेनिट्रेशन टेस्टिंग करते समय हमेशा निम्नलिखित नियमों का पालन करें:

  • अनुमति (Authorization): बिना लिखित अनुमति या Bug Bounty Scope के किसी भी टारगेट सिस्टम पर एक्टिव स्कैनिंग न करें।
  • रेस्पोंसिबल डिस्क्लोजर: यदि आपको कोई सुरक्षा खामी मिलती है, तो उसे तुरंत संबंधित संगठन को निजी रूप से रिपोर्ट करें।
  • सिस्टम को नुकसान न पहुंचाएं: स्कैनिंग की स्पीड और थ्रेड्स को नियंत्रित रखें ताकि टारगेट सर्वर डाउन न हो (DoS स्थिति से बचें)।

अक्सर पूछे जाने वाले प्रश्न (FAQs)

1. Passive Recon और Active Recon में क्या अंतर है?

Passive Recon में आप टारगेट सर्वर से सीधे इंटरैक्ट किए बिना (उदा. Google, Certificate Logs) जानकारी जुटाते हैं, जिससे टारगेट को पता नहीं चलता। Active Recon में आप सीधे टारगेट सर्वर को पैकेट्स या रिक्वेस्ट भेजते हैं (उदा. Nmap पोर्ट स्कैन), जिससे सर्वर लॉग्स में आपकी गतिविधि रिकॉर्ड हो सकती है।

2. वेब एप्लीकेशन Reconnaissance के लिए सबसे अच्छा Linux Distro कौन सा है?

Kali Linux और Parrot Security OS सबसे लोकप्रिय विकल्प हैं क्योंकि इनमें Nmap, FFuf, Amass और Sublist3r जैसे सभी प्रमुख टूल्स पहले से इंस्टॉल होते हैं।

3. क्या सब-डोमेन एन्यूमरेशन करना गैर-कानूनी है?

सार्वजनिक रूप से उपलब्ध डेटा (Passive Recon) जैसे DNS रिकॉर्ड्स देखना गैर-कानूनी नहीं है। हालांकि, बिना अनुमति के पोर्ट स्कैनिंग या सिस्टम पर brute-force अटैक चलाना अनधिकृत माना जा सकता है।

4. Reconnaissance के बाद अगला कदम क्या होता है?

Reconnaissance पूरा होने के बाद अगला चरण Vulnerability Analysis होता है, जहाँ आप एकत्र की गई जानकारी और सेवाओं के आधार पर सुरक्षा खामियों की जांच और उन्हें एक्सप्लॉइट (Exploit) करने का प्रयास करते हैं।

Post a Comment

0 Comments