
स्व-शिक्षित हैकर के लिए रोडमैप
हैकिंग चीज़ों का इस्तेमाल अनपेक्षित तरीकों से करने की कला है। उदाहरण के लिए, अगर किसी सॉफ़्टवेयर का ट्रायल खत्म होने वाला है, तो आप अपने कंप्यूटर की तारीख पिछले हफ्ते करके उसे बढ़ा सकते हैं। यही हैकिंग है।
हैकिंग सीखने का कोई 'एक सही तरीका' नहीं है क्योंकि यह बहुत व्यापक शब्द है। इसीलिए इस गाइड का उद्देश्य एक रोडमैप के बजाय एक दिशा प्रदान करना है।
अगर आपको लगता है कि कुछ जोड़ा/सुधारा जाना चाहिए, तो कृपया एक issue बनाएँ।
मेरा मानना है कि अपनी जड़ों को जानना महत्वपूर्ण है, तो चलिए उत्पत्ति का अधिक विश्लेषण किए बिना उनके बारे में बात करते हैं।
1960 के दशक में, टेलीफोन नेटवर्क फोन कॉल को प्रोसेस करने के लिए ध्वनियों के एक सेट का उपयोग करते थे। लोगों के एक समूह ने समझ लिया कि यह सब कैसे काम करता है और इन नेटवर्कों द्वारा उपयोग की जाने वाली 2600Hz फ्रीक्वेंसी की ध्वनियों को दोहराने में सफल रहे। उन्होंने यह कैसे किया? अनाज के साथ मुफ्त में मिलने वाली सीटी में फूंक मारकर। इस कृत्य को phreaking कहा गया और इसे करने वाले लोगों को phreaks कहा गया।
डेनी टेरेसी, जो phreaks में से एक थे, ने एक इंटरव्यू में कहा:
"यह सिर्फ टेलीफोन कंपनी को ठगने के लिए नहीं था, यह तकनीकी चुनौती थी - कि क्या हम इसे कर पाएंगे।"
उन्होंने ऐसा इसलिए किया क्योंकि यह उनके लिए हल करने के लिए एक आकर्षक समस्या थी और वे देखना चाहते थे कि क्या वे इसे हल कर सकते हैं। यही हैकिंग संस्कृति है, आज भी।
अगर आप दवाइयाँ बेचना चाहते हैं, तो आपको केवल दवाइयों को रखने की जगह चाहिए और जो भी ग्राहक को चाहिए, उसे सौंप दें। दूसरी ओर, अगर आप बीमारियों के इलाज बनाना चाहते हैं, तो आपको यह जानना होगा कि मानव शरीर और बाकी सब कुछ कैसे काम करता है। समझ में आता है ना? यही बात हैकिंग पर भी लागू होती है। अगर आप किसी चीज़ को हैक करने और ऐसा करने के लिए नई तकनीकें बनाने में वास्तव में अच्छे बनना चाहते हैं, तो आपको समझना होगा कि यह कैसे काम करती है।
अगर आपके पास कुछ जानकारी है जो आपको लगता है कि दूसरे लोगों के लिए मददगार हो सकती है, तो इसे सोशल मीडिया, फ़ोरम या ब्लॉग के माध्यम से साझा करें। इससे आपको कई तरह से लाभ होगा:
जिज्ञासु बनो, बहुत प्रयोग करो, मस्त काम करो, यही पूरी बात है, इसी तरह यह सब शुरू हुआ। अगर आप अपना जीवन दूसरे लोगों द्वारा विकसित तकनीकों और उपकरणों का उपयोग करने में बिताते हैं, तो ऐसा बढ़िया रास्ता चुनने का क्या मतलब है?
रोडमैप में कुछ अच्छे संसाधनों के साथ-साथ कुछ विषय भी शामिल हैं जिन्हें आपको खुद गूगल करके पढ़ना होगा। यह केवल एक 'स्टेप-बाय-स्टेप गाइड' या संसाधनों का संग्रह नहीं है।
चीज़ें पढ़ें/देखें, जिन शब्दों को आप नहीं समझते उन्हें नोट करें, उन्हें गूगल करें और कम से कम 3 अलग-अलग स्रोतों से उनके बारे में सीखें, फिर से उन शब्दों को नोट करें जिन्हें आप नहीं समझते और इस प्रक्रिया को दोहराते रहें। कम से कम 3 स्रोत क्यों? क्योंकि 1 निर्माता द्वारा दी गई जानकारी उनके ज्ञान तक सीमित होगी, इसे 3 अलग-अलग निर्माताओं से प्राप्त करने से आपको विषय की विभिन्न दृष्टिकोणों से बेहतर समझ मिलेगी।
मैं इस पद्धति को पूरे गाइड में 'रिकर्सिव लर्निंग' के रूप में संदर्भित करूंगा।
हैकिंग के कई क्षेत्र हैं जैसे रिवर्स इंजीनियरिंग, वेब हैकिंग, कार हैकिंग, आदि, लेकिन कुछ चीज़ें क्षेत्र चाहे जो भी हो, मददगार होती हैं, तो चलिए पहले उनके बारे में बात करते हैं।
यह आपको उस मशीन की गहरी समझ हासिल करने में मदद करेगा जिसका आप हर दिन घंटों उपयोग करेंगे, साथ ही एक मूल्यवान दृष्टिकोण प्राप्त करने में भी मदद करेगा जिसे मैं वास्तव में शब्दों में समझा नहीं सकता।
याद रखें, आपको केवल मूल बातें जानने की जरूरत है क्योंकि यह ज्ञान विकसित होता रहेगा यदि आप ऐसे सवाल पूछकर जिज्ञासु रहेंगे जैसे "जब आप कोई फ़ाइल डिलीट करते हैं तो क्या होता है? अगर वे डिवाइस पर रहती हैं, तो स्पेस कैसे खाली होता है? अगर वे वास्तव में चली गई हैं, तो रिकवरी सॉफ़्टवेयर उन्हें कैसे रिकवर करते हैं?"
संसाधन:
यह समझना कि इंटरनेट (और अन्य नेटवर्क) कैसे काम करते हैं, यह आवश्यक है क्योंकि नेटवर्क हर जगह हैं।
रिकर्सिव लर्निंग शुरू करने के लिए विषय:
IP address, MAC address, port, client & server, dns, tcp, udp, proxy, tls/ssl, vpn
संसाधन:
आप टर्मिनल में बहुत समय बिताएंगे, चाहे वह प्रोग्राम चलाना हो या रिमोट सर्वर तक पहुँचना। आप किसी भी ऑपरेटिंग सिस्टम का उपयोग कर सकते हैं, लेकिन मेरा सुझाव है कि Linux-आधारित ऑपरेटिंग सिस्टम का उपयोग करें क्योंकि आप इसके बारे में सब कुछ संशोधित कर सकते हैं जो हैकिंग का सार है। Ubuntu शुरुआती लोगों के लिए एक बेहतरीन लिनक्स डिस्ट्रीब्यूशन है।
यह समझने के लिए कि दिया गया सॉफ़्टवेयर कैसे काम करता है (जिससे इसे हैक करना आसान हो जाता है) और हैकिंग तथा अन्य कार्यों के लिए अपना खुद का सॉफ़्टवेयर बनाने के लिए।
बहुत सारी प्रोग्रामिंग भाषाएँ हैं, लेकिन मैं सुझाव दूंगा कि आप Python से शुरू करें क्योंकि यह आसान है और फेस डिटेक्टर बनाने से लेकर वेबसाइट बनाने तक लगभग सब कुछ कर सकती है।
मैंने शुरुआत कैसे करें, इसके बारे में एक लेख लिखा है, इसे देखें।
कुछ अवधारणाएँ हैं जो आपको हर दूसरे साइबर सुरक्षा-संबंधित लेख में मिलेंगी और वे ज़्यादातर क्षेत्रों में काम आती हैं।