आर्टिकल डाउनलोड करें
आर्टिकल डाउनलोड करें
मूलतः, हैकिंग का इस्तेमाल "पुराने दिनों में" आम तौर पर सिस्टम और आईटी के बारे में जानकारी लीक करने के लिए किया जाता था। पिछले कुछ सालों में, कुछ खलनायकों के कारण, हैकिंग का इस्तेमाल बुरे अर्थ में होने लगा है। इसके विपरीत, अपने सिस्टमों की क्षमता और कमजोरी जाँचने के लिए अनेक कार्पोरेशन, हैकर्स को अपने यहाँ काम पर रखते हैं। इन हैकर्स को पता होता है कि उनकी सीमाएं क्या हैं, और उनका पॉज़िटिव ट्रस्ट ही उन्हें बढ़िया वेतन दिलवाता है। अगर आप आगे बढ़ कर यह कला सीखना चाहते हैं तब यह लेख आपको शुरुआत करने केलिए कुछ टिप्स देगा।
चरण
-
कोई प्रोग्रामिंग लैंगवेज सीखिये: आपको किसी खास लैंगवेज तक अपने को सीमित नहीं करना चाहिए, मगर कुछ गाइडलाइन्स हैं। प्रोग्रामिंग लैंगवेज सीखने में समय लग सकता है, इसलिए आपको धीरज रखना होगा।
- C तथा C++ वे लैंगवेजेज़ हैं जिनसे Linux और Windows बने थे। यह (assembly लैंगवेज के साथ) ऐसा कुछ सिखाता है जो कि हैकिंग के लिए बहुत महत्वपूर्ण है: मेमोरी कैसे काम करती है।
- Python तथा Ruby वे हाइ लेवल की शक्तिशाली स्क्रिप्टिंग लैंगवेजेज़ हैं जिनसे अनेक चीज़ें ऑटोमेट हो सकती हैं।
- Perl भी इस क्षेत्र में एक रीज़नेबल (reasonable) चॉइस हो सकती है, जबकि PHP इसलिए सीखने योग्य है क्योंकि अधिकांश वेब एप्लीकेशनों में PHP का इस्तेमाल होता है।
- Bash स्क्रिप्टिंग तो आवश्यक है। इसीके सहारे Unix/Linux सिस्टमों को आसानी से मैनीपुलेट किया जा सकता है – स्क्रिप्ट लिखना, जो आपके लिए अधिकांश काम करेंगे।
- Assembly लैंगवेज को तो जानना ही चाहिए। यह वह बेसिक लैंगवेज है जो आपका प्रोसेसर समझता है, और उसके अनेक वेरिएशन भी होते हैं। अगर आपको assembly नहीं पता होगी तब आप वास्तव में उस प्रोग्राम का लाभ नहीं उठा पाएंगे।
-
अपने टार्गेट को जानिए: टार्गेट के बारे में इन्फॉर्मेशन इकट्ठा करने के प्रोसेस को एन्यूमेरेशन (enumeration) कहते हैं।
-
कमांड्स के लिए *nix टर्मिनल का इस्तेमाल करें: Window यूज़र्स के लिए Cygwin *nix को एमुलेट करने में मदद करेगा। Nmap खास तौर पर Windows के लिए WinPCap का इस्तेमाल करता है और इसे Cygwin की ज़रूरत नहीं पड़ती। वैसे रॉ सौकेट्स की कमी के कारण Nmap, Windows सिस्टम्स पर अच्छी तरह काम नहीं करता। आपको Linux या BSD में से किसी एक का इस्तेमाल करना चाहिए, क्योंकि वे दोनों अधिक फ़्लेक्सिबल (flexible) होते हैं। अधिकांश Linux डिस्ट्रिब्यूशन बहुत से प्री-इन्स्टाल्ड उपयोगी टूल्स के साथ आते हैं।
- इसके स्थान पर, Windows 10 Fall Creators Update और उसके बाद, किसी Windows Store से *nix टर्मिनल लीजिये। Windows Linux Subsystem के कारण Linux कमांड-लाइन्स को Windows के द्वारा एमुलेट किया जा सकता है।
-
पहले अपनी मशीन सिक्योर कर लीजिये: सुनिश्चित कर लीजिये कि आपने अपनी सुरक्षा के लिए सभी सामान्य तकनीकें समझ ली हैं। बेसिक्स से शुरू करिए: मगर यह सुनिश्चित कर लीजिये कि आपके पास टार्गेट पर आक्रमण करने का औथोराइज़ेशन (authorization) है: या तो अपने ही नेटवर्क पर अटैक करिए, लिखित अनुमति मांगिए, या वर्चुअल मशीनों से अपनी ही लैबोरेटरी बनाइये। किसी सिस्टम पर अटैक करना, चाहे उसका कंटेन्ट जो भी हो, अवैध है और आपको मुसीबत में डाल ही देगा।
-
टार्गेट को टेस्ट करिए: क्या आप रिमोट सिस्टम तक पहुँच सकते हैं? हालांकि, यह जानने के लिए कि आपका टार्गेट एक्टिव है या नहीं, आप पिंग यूटिलिटी का इस्तेमाल कर सकते हैं, मगर उसके नतीजे हमेशा विश्वसनीय नहीं होते – वह ICMP प्रोटोकॉल पर आधारित होता है, जिसे पैरानॉयड (paranoid) सिस्टम एडमिनिस्ट्रेटरों द्वारा आसानी से बंद किया जा सकता है।
-
ऑपरेटिंग सिस्टम पता लगाइए: पोर्ट्स को स्कैन करिए और पोर्ट स्कैन के लिए pOf, या nmap का इस्तेमाल करिए। इससे आपको वो पोर्ट, वह OS, और यहाँ तक कि वह फ़ायरवाल या राउटर भी दिख जाएगा जो मशीन में खुला होगा, ताकि आप यह तय कर सकें कि क्या करना है। आप O switch के इस्तेमाल से nmap में OS डिटेक्शन एक्टिवेट कर सकते हैं।
-
सिस्टम में पाथ या ओपेन पोर्ट खोजिए: FTP (21) और HTTP (80) जैसे सामान्य पोर्ट अक्सर बहुत अच्छी तरह से प्रोटेकटेड होते हैं और संभवतः अभी उन्हें आघात पहुंचाने के तरीके पता नहीं चले हैं।
- उन TCP और UDP पोर्ट्स को देखिये जिनको भूल गए हों, जैसे Telnet या अन्य UDP पोर्ट्स जिन्हें LAN गेमिंग के लिए खुला छोड़ा गया हो।
- ओपेन पोर्ट 22 आम तौर पर टार्गेट पर रन करने वाली SSH (secure shell) सर्विस होती है, जिसके साथ कभी कभी ब्रूट फ़ोर्स लगाया जा सकता है।
-
पासवर्ड या औथेंटिकेशन प्रोसेस को क्रैक करिए: पासवर्ड क्रैक करने के बहुत तरीके होते हैं, जिनमें ब्रूट फ़ोर्स भी शामिल है। किसी पास वर्ड पर ब्रूट फ़ोर्स लगाना वह कोशिश होती है जिसमें ब्रूट फ़ोर्स सॉफ्टवेयर की प्री-डिफ़ाइंड डिक्शनरी के सभी संभव पासवर्ड ट्राई करने की कोशिश की जाती है।
- यूज़र्स को आम तौर पर कमज़ोर पासवर्ड इस्तेमाल करने से डिसकरेज (discourage) किया जाता है, इसलिए ब्रूट फ़ोर्स में बहुत समय लग सकता है। हालांकि, ब्रूट फ़ोर्स तकनीकों में महत्वपूर्ण सुधार हो चुके हैं।
- अधिकांश हैशिंग अलगोरिद्म कमज़ोर होते हैं, और आप इस कमजोरी का लाभ उठा कर क्रैकिंग स्पीड बहुत सुधार (जैसे कि MD5 अलगोरिद्म को ¼ कर सकते हैं, जिससे स्पीड बहुत बढ़ जाएगी) कर सकते हैं।
- नई तकनीकों में ग्राफ़िक कार्ड का इस्तेमाल अन्य प्रोसेसर की तरह किया जाता है – और यह हजारों गुना अधिक तेज़ होता है।
- पासवर्ड्स को सबसे जल्दी क्रैक करने के लिए आप रेनबो टेबल्स का इस्तेमाल कर सकते हैं। ध्यान रहे की पासवर्ड क्रैक करना अच्छी तकनीक केवल तभी होगा, जबकि आपको पासवर्ड का कुछ अंदाज़ा हो।
- रिमोट मशीन पर लॉगइन करने के लिए सभी संभव पासवर्डों का इस्तेमाल अच्छी बात नहीं होगी क्योंकि इंट्रूज़न डिटेक्शन सिस्टम (intrusion detection systems) द्वारा उसका पता जल्दी ही चल जाएगा, सिस्टम लॉग पॉल्यूट हो जाएँगे, और उसे पूरा होने में सालों लग सकते हैं।
- आप एक रूटेड टैबलेट भी ले सकते हैं, टीसीपी स्कैन इन्स्टाल कर सकते हैं और उसे सिक्योर साइट पर अपलोड करने के लिए सिग्नल पा सकते हैं। तब आईपी एड्रेस खुल जाएगा जिससे पासवर्ड आपकी प्रौक्सी पर दिखेगा।
- अक्सर पासवर्ड क्रैक करने की तुलना में कोई और रास्ता ढूँढना कहीं आसान तरीका होता है।
-
सुपर यूज़र प्रिविलेजेज़ प्राप्त करिए: अगर आपका लक्ष्य कोई *nix machine हो तब रूट प्रिविलेज प्राप्त करने का प्रयास करिए, या विंडोज़ सिस्टम के मामले में एडमिनिस्ट्रेटर प्रिविलेजेज़ प्राप्त करिए।
- अधिकांश महत्वपूर्ण जानकारियाँ सुरक्षित होंगी और उन्हें पाने के लिए आपको एक निश्चित स्तर का औथेंटिकेशन चाहिए होगा। किसी कंप्यूटर की सभी फ़ाइलों को देखने के लिए आपको सुपर-यूज़र प्रिविलेजेज़ की आवश्यकता होगी – एक यूज़र अकाउंट जिसे वे सभी प्रिविलेज मिलते हैं जो Linux और BSD ऑप्रेटिंग सिस्टम में "root" यूज़र को मिलते हैं।
- राउटरों के लिए, डिफ़ौल्ट रूप में यह "admin" अकाउंट होता है (बशर्ते की इसे बदल न दिया गया हो); विंडोज़ के लिए, यह एडमिनिस्ट्रेटर अकाउंट होता है।
- किसी कनेक्शन की एक्सेस मिलने का यह अर्थ नहीं है कि आप कहीं भी एक्सेस कर सकते हैं। केवल कोई सुपर यूज़र, एडमिनिस्ट्रेटर अकाउंट या, रूट अकाउंट ही यह कर सकता है।
-
विभिन्न ट्रिक्स का इस्तेमाल करिए: अक्सर, सुपर-यूज़र स्टेटस पाने के लिए आपको ऐसी कोई ट्रिक इस्तेमाल करनी होती है, जैसे कि बफ़र ओवरफ़्लो, जिससे कि मेमोरी डंप होती है जिससे आप कोई कोड इंजेक्ट कर सकते हैं या अपने नॉर्मल औथोराइज़ेशन से ऊंचे स्तर का कोई टास्क परफॉर्म (perform) कर सकते हैं।
- यूनिक्स जैसे सिस्टमों में यह तब होगा अगर बग किए गए सॉफ्टवेयर में setuid bit set होगा, ताकि प्रोग्राम अलग यूज़र (जैसे कि सुपर यूज़र) की तरह एक्ज़ीक्यूट हो।
- आपको यह करने की अनुमति तभी मिलेगी जब आप उनकी मशीन पर कोई इन्सिक्योर प्रोग्राम लिख सकें या पा सकें।
-
एक पिछला दरवाज़ा बनाइये: जब आपको पूरा नियंत्रण मिल जाये, तब अच्छा यही होगा कि आप अगली बार आने के लिए रास्ता बना लें। यह एसएसएच सर्वर जैसी किसी महत्वपूर्ण सिस्टम सर्विस में backdooring करके किया जा सकता है। हालांकि अगले सिस्टम अपग्रेड में आपका बैकडोर हटाया भी जा सकता है। कोई अनुभवी हैकर, कंपाइलर को ही बैकडोर बना लेता है ताकि हर कंपाइल्ड सॉफ्टवेयर वापस आने का संभावित रास्ता बना रहे।
-
अपने ट्रैक कवर कर लीजिये: एडमिनिस्ट्रेटर को पता मत चलने दीजिये कि उसका सिस्टम कंप्रोमाइज़ (compromise) हुआ है। वेबसाइट (यदि हो) मत बदलिए, और न ही ज़रूरत से ज़्यादा फाइलें बनाइए। कोई अतिरिक्त यूज़र्स भी मत बनाइये। जितनी जल्दी हो सके उतनी जल्दी कर डालिए। यदि आपने एसएसएचडी जैसे किसी सर्वर को पैच किया हो, तब यह सुनिश्चित करिए कि आपका सीक्रेट पासवर्ड हार्ड कोडेड हो। अगर कोई इस पासवर्ड से लॉग इन करने की कोशिश करेगा, सर्वर उनको अंदर तो आने देगा, मगर कोई महत्वपूर्ण जानकारी नहीं होगी।
सलाह
- यदि आप एक्सपर्ट या प्रोफ़ेशनल हैकर नहीं हैं, तब इन तरकीबों का इस्तेमाल लोकप्रिय कॉर्पोरेट या सरकारी कंप्यूटर पर करना, मुसीबत को निमंत्रण देना है। ध्यान रहे कि आपसे कुछ अधिक ज्ञानी लोग भी होते हैं जिनका पेशा इन सिस्टमों की सुरक्षा करना ही है। एक बार पता लग जाने पर, कभी कभी वे घुसपैठियों को मॉनिटर करते हैं ताकि कानूनी कार्यवाही करने से पहले वे उन्हें ख़ुद को फँसाने का मौका दे सकें। इसका अर्थ है कि आपको लगेगा कि किसी सिस्टम को हैक करने के बाद आप उसमें आसानी से जा सकते हैं, जबकि वास्तव में, आप पर नज़र रखी जा रही होती है, और आपको कभी भी रोका जा सकता है।
- हैकर्स वे हैं जिन्होंने इन्टरनेट का निर्माण किया, Linux बनाया, और जो ओपेन सोर्स सॉफ्टवेयर पर काम करते हैं। यह सलाह दी जा सकती है कि हैकिंग को ऐसी नज़र से देखा जाये कि वह सम्मानीय है और जिसके लिए वास्तविक वातावरण में कुछ गंभीर काम करने को बहुत प्रोफ़ेशनल जानकारी की ज़रूरत होती है।
- ध्यान रहे, यदि आपका टार्गेट आपको बाहर रखने के लिए पूरा प्रयास नहीं कर रहा है, आप कभी बढ़िया नहीं बन पाएंगे। बेशक, घमंड मत करिए, और अपने आपको सर्वश्रेष्ठ कभी मत समझिए। अपना लक्ष्य यह बनाइये: आपको और बेहतर बनना है। हर दिन जब आप कुछ नया नहीं सीखते, व्यर्थ हो जाता है। सब कुछ आप पर ही निर्भर है। किसी भी कीमत पर सर्वश्रेष्ठ बनिए। आधे मन से करने से कुछ नहीं होगा, आपको जो करना है वह पूरी तरह करना ही होगा। जैसा योडा ने कहा है, "करो या मत करो। जो भी करो वह विश्वास से करो, केवल प्रयास नहीं।"
- हालांकि अच्छी बात यह है कि किसी के लिए भी अनेक वैध, सुरक्षित, प्रशिक्षण के तरीके उपलब्ध हैं, मगर अफ़सोस इस बात का है कि आप तब तक मामूली भी नहीं बनेंगे, जब तक संभावित ग़ैरकानूनी काम नहीं करेंगे। आप तब तक कुछ खास नहीं बन सकते जब तक कि आप वास्तविक सिस्टमों में, पकड़े जाने के वास्तविक खतरों को नहीं उठाएंगे। यह ध्यान रखिएगा।
- याद रखिए कि हैकिंग का मतलब कंप्यूटरों में घुसना, बहुत वेतन वाली नौकरी पाना, ब्लैक मार्केट में अपनी उपलब्धियों को बेचना, या किसी को मशीनें सिक्योर करने में मदद करना नहीं है। आप यहाँ एडमिन को उसके काम में मदद करने के लिए "नहीं" हैं। आप यहाँ सर्वश्रेष्ठ बनने के लिए हैं।
- TCP/IP नेटवर्किंग की चर्चा वाली पुस्तकें पढ़िये।
- हैकर और क्रैकर में बड़ा फ़र्क होता है। क्रैकर के प्रेरक दुर्भावनापूर्ण (अर्थात: पैसे कमाना) कारण होते हैं, जबकि हैकर का प्रयास होता है खोज करके ("सुरक्षा को बाईपास करके"), किसी भी कीमत पर चाहे वह सदैव वैध न भी हो, ज्ञान पाना।
- पहले अपने कंप्यूटर पर हैकिंग का अभ्यास करिए।
चेतावनी
- हालांकि शायद आपने इसके विपरीत सुना हो, मगर किसी की भी उनके प्रोग्रामों को या सिस्टम को पैच करने में मदद मत करिए। इसे बहुत ही असंतोषजनक माना जाता है और इसके कारण उसे हैकिंग कम्युनिटीज़ से निकाला भी जा सकता है, और अगर किसी को पता चला कि आपने उसकी निजी खोज को सार्वजनिक कर दिया है, तब वह व्यक्ति आपका दुश्मन भी बन सकता है। यह आदमी शायद आपसे बेहतर भी हो।
- सम्पूर्ण लॉगफ़ाइलों को मत डिलीट करिए, उसकी जगह, फ़ाइल से केवल फँसाने वाली एंट्रीज़ हटाइए। दूसरा सवाल है, कि क्या कोई बैकअप लॉग फ़ाइल भी है? क्या होगा, अगर वे अंतर पता लगा कर जान लेंगे कि आपने क्या मिटाया है? जो भी करिए उसके बारे में हमेशा सोचिए। सबसे बढ़िया यह होगा कि लॉग में से रैंडम लाइनों को डिलीट कर दिया जाये, जिनमें आपकी भी शामिल हों।
- अगर आपको कोई बहुत आसान क्रैक या सिक्यूरिटी मैनेजमेंट में कोई बहुत फूहड़ ग़लती मिल जाये तो बहुत सावधान हो जाइए। कोई सिक्यूरिटी प्रोफ़ेशनल शायद आपके साथ चाल चाल रहा है या आपके लिए हनीपॉट सेटअप कर रहा है।
- कभी मज़े के लिए कुछ मत करिए। याद रखिए कि किसी नेटवर्क को हैक करना खेल नहीं है, बल्कि उसमें दुनिया बदलने की ताकत है। इसे बचकानी हरकतों पर बरबाद न करें।
- किसी और के सिस्टम में हैककरना ग़ैरकानूनी होता है, इसलिए तब तक यह मत करिए जब तक कि आप यकीन न हो कि जिस सिस्टम को हैक करने की कोशिश कर रहे हैं उसके मालिक की अनुमति आपको प्राप्त है या आपको यकीन हो कि वह इस लायक है और आप पकड़े जाएँगे।
- यदि आपको अपनी कुशलता पर विश्वास न हो तब कॉर्पोरेट, सरकारी, या सैन्य नेटवर्कों में सेंध मत लगाइएगा। चाहे उनकी सिक्यूरिटी कमज़ोर ही क्यों न हो, आपको खोजने और पकड़ने के लिए उनके पास बहुत पैसा हो सकता है। अगर आपको इन नेटवर्कों में कोई कमी मिलती भी है, तब भी सबसे बढ़िया यही होगा कि आप इसे किसी अनुभवी हैकर को सौंप दें जिस पर आपको विश्वास हो जो इन सिस्टमों का अच्छा इस्तेमाल कर सकता हो।
- इस जानकारी का ग़लत इस्तेमाल आपराधिक काम माना जा सकता है। इस लेख का उद्देश्य सूचना देना है और इसका उपयोग नैतिक – और वैध – उद्देश्यों के लिए किया जाना चाहिए।
चीजें जिनकी आपको आवश्यकता होगी
- इन्टरनेट कनेक्शन के साथ एक (तेज़ ऑपरेट करने वाला) पीसी या लैपटॉप
- एक प्रोक्सी (वैकल्पिक)
- एक आईपी स्कैनर