
Perl में कार्यान्वित सरल TCP/UDP हनीपॉट
Perl में कार्यान्वित TCP/UDP हनीपॉट प्रोग्राम
malbait के लिए README, 2/10/17
(वैसे मेरा बिटकॉइन पता है 3A7yuqBcPAcVEM59bNAVQdTCmkxRb5JRgE )
(यहाँ एक विकल्प है, BTC के लिए भी, क्योंकि मुझे कुछ बिटकॉइन वॉलेट्स द्वारा कुछ पतों का समर्थन नहीं करने की रिपोर्ट मिल रही है: 1PEDKUiUTxGNJ3XTPfXCTAjpzVzX1VZAme )
malbait में आपका स्वागत है, आपका एक-स्टॉप, सरल perl हनीपॉट!
Malbait एक हनीपॉट, या "मैलवेयर चारा" प्रोग्राम है। इसे हैकर्स का समय बर्बाद करने और इंटरनेट (या आपके LAN) पर शत्रुतापूर्ण ट्रैफ़िक की निगरानी करने के लिए डिज़ाइन किया गया है।
Malbait चयनित या डिफ़ॉल्ट TCP और, यदि चुना गया हो, UDP पोर्ट्स पर नकली सर्वरों की एक श्रृंखला बनाता है। यदि कोई या कुछ भी उनसे जुड़ता है, तो उनका इनपुट लॉगफ़ाइलों में दर्ज किया जाएगा।
ये पृष्ठभूमि प्रक्रियाओं के रूप में चलते हैं, इसलिए आपको या तो अपना कंप्यूटर बंद करना होगा या उन्हें हटाने के लिए शेल की "kill" (या, बेहतर अभी भी, "skill") कमांड का उपयोग करना होगा। आप उन्हें netstat से मॉनिटर कर सकते हैं। मेरी सलाह है:
sudo netstat -anp|grep perl
यह देखने के लिए कि क्या सुन रहा है, और
sudo skill -9 perl
जब आपका मन भर जाए तो उन्हें खत्म करने के लिए।
नोट: यदि आप इस प्रोग्राम को इंस्टॉल करने के लिए install.sh का उपयोग करते हैं, तो आपको चलाना होगा
sudo skill -9 malbait
इसके बजाय। हालाँकि आप इसे अभी भी मॉनिटर कर सकते हैं: sudo netstat -anp|grep perl
वैकल्पिक रूप से आप केवल मशीन बंद कर सकते हैं। जाहिर है, perl का उपयोग किसी और काम के लिए करते समय malbait का उपयोग न करें! मैं एक समर्पित "चारा" मशीन की सलाह देता हूँ, या तो Raspberry Pi जैसी छोटी चीज़ जो डिफ़ॉल्ट पोर्ट्स पर चल रही हो, या एक बड़ा कंप्यूटर जो उतने पोर्ट्स पर सुन सकता है जितने आप चाहें (अधिमानतः उन सभी पर)।
Malbait डिफ़ॉल्ट रूप से TCP है, लेकिन यह अकेले UDP का समर्थन कर सकता है और दोनों को साथ-साथ चला सकता है।
यह अत्यधिक अनुशंसित है कि आप इस प्रोग्राम को सुपरयूज़र मोड में उपयोग करें, या तो gainroot (sudo gainroot) को लागू करके या इसे sudo करके (sudo malbait)। पहले 1024 पोर्ट्स में से कोई भी खोलने के लिए आपके पास सुपरयूज़र अनुमतियाँ होनी चाहिए।
इसे इस प्रकार चलाया जाता है
malbait -foo
यदि आप इसे बिना पैरामीटर के चलाते हैं तो यह उपयोग को आगे समझाने वाला एक लंबा पाठ उगल देगा। यदि आप "बॉक्स से बाहर" शुरू करना चाहते हैं तो चलाएँ
malbait -defaults
यह इसके डिफ़ॉल्ट पोर्ट खोलेगा और जहाँ संभव हो सर्वर बनाएगा।
Malbait Telnet, FTP, SMTP, POP3, BGP, HTTP (बहुत शानदार नहीं), TR-69 (बहुत शानदार नहीं), imap, systat, echo और पुराने ascii "time" सर्वर के लिए नकली सर्वर बना सकता है। डिफ़ॉल्ट रूप से ये उनके सभी डिफ़ॉल्ट पोर्ट्स पर खोले जाते हैं, लेकिन आप उनके लिए पोर्ट निर्दिष्ट कर सकते हैं।
आप पोर्ट्स की एक श्रृंखला भी खोल सकते हैं, यानी,
malbait -ports:1-1024
पोर्ट 1-1024 ("well-known" या "प्रतिबंधित" पोर्ट) खोलेगा और जहाँ उपयुक्त हो वहाँ नकली सर्वर बनाएगा।
malbait का उपयोग केवल आपके पास उपलब्ध मेमोरी की मात्रा से सीमित है। -trans_proto:tcpudp और -ports: विकल्प आपको हर एक पोर्ट देखने की शक्ति देते हैं, यदि आपके पास पर्याप्त रूप से शक्तिशाली मशीन है; या यदि नहीं है तो आपके कंप्यूटर को क्रैश करने की। मुझे लगता है कि मेरा छोटा Lenovo x200 नोटपैड लगभग 6000 पोर्ट्स को संभाल सकता है, इससे पहले कि वह पागल होने लगे, लेकिन आपकी स्थिति अलग हो सकती है। देखना चाहते हैं कि आपका नया बॉक्स वास्तव में कितना शक्तिशाली है? Malbait एक बेंचमार्क प्रदान कर सकता है - व्यक्तिगत रूप से मैं यह देखना पसंद करूँगा कि एक मशीन पर क्या होता है जो चला रही है
malbait -ports:1-65535 -trans_proto:tcpudp
एक बहुत शक्तिशाली कंप्यूटर पर - मेरे अनुभव में उसके केवल 10% के साथ, वहाँ निश्चित रूप से अधिक दुर्भावनापूर्ण UDP ट्रैफ़िक है (मुख्य रूप से बेवकूफ लोग मुफ्त फोन कॉल्स की ठगी करने की कोशिश कर रहे हैं, ऐसा लगता है), और telnet एक पूर्ण पेट्री डिश है, लेकिन मैं उससे आगे के अनदेखे क्षेत्र का सर्वेक्षण देखना पसंद करूँगा, यदि किसी के पास शक्ति (और अपने फ़ायरवॉल को पूरी तरह से अक्षम करने की क्षमता और हिम्मत) है!
यदि आप, मान लीजिए, FTP सर्वर को UDP मोड में खोलने की कोशिश करते हैं, ( malbait -proto:ftp -trans_proto:udp ) तो यह डिफ़ॉल्ट पोर्ट खोलेगा - लेकिन आपको एक नकली FTP सर्वर नहीं मिलेगा! UDP केवल UDP-संगत सेवाओं के लिए सर्वर बनाएगा, जो हैं asciitime, systat, echo और विशेष "hacktime" और "fuzz" मेटा-प्रोटोकॉल।
Hacktime फिल्म "Kung Fury" से प्रेरित एक मज़ाक है। यह NTP टाइम सर्वर बनाता है, दोनों पुराने ज़माने के और नए, और या तो सभी 1s या सभी FFs प्रसारित करता है, विचार यह है कि Unix मिलेनियम ("hacktime-2036") या एक नई बूट की गई प्रणाली ("hacktime-1900") के लिए रोलओवर तिथि का अनुकरण किया जाए। जाहिर है NTP सर्वर उससे कहीं अधिक जटिल है और यह शायद काम नहीं करेगा, लेकिन यह निश्चित रूप से उन हैकर्स को भ्रमित करेगा जो आप पर हमला करते हैं, यह सोचकर कि आप एक NTP सर्वर हैं!
Fuzz बस यही है - स्वचालित हमलों को उन पर यादृच्छिक कचरा फेंककर गड़बड़ करने का एक प्रयास। फिर से, यह प्रयोगात्मक है और मैं इसे बहुत गंभीरता से नहीं लेता, लेकिन मैंने सोचा कि किसी को यह उपयोगी लग सकता है इसलिए यह बना रहता है।
HTTP सर्वर "webpage.html" नामक फ़ाइल की तलाश करता है। यदि इसे नहीं मिलती है, तो यह इसके बजाय एक सरल 404 पेज उत्पन्न करता है। फिर से, यह शानदार नहीं है - यह प्रोग्राम आपको उन विदेशी, यादृच्छिक क्लाइंट्स की जाँच करने में मदद करने के बारे में अधिक है जो आपसे जुड़ने की कोशिश करते हैं, न कि उबाऊ पुराने वेब स्पाइडरों के बारे में।
ध्यान दें कि यदि आप इसे वेब ब्राउज़र में खोलते हैं तो आपको सामग्री के नीचे बहुत सारे "HTTP/1.1 200 OK" स्ट्रिंग्स दिखाई देंगे; ऐसा इसलिए है क्योंकि इसे वेब ब्राउज़र में खोले जाने के लिए नहीं बनाया गया है, इसे संभावित दुर्भावनापूर्ण वेबक्रॉलिंग बॉट्स को यथासंभव लंबे समय तक लाइन पर रखने के लिए बनाया गया है।
बेशक, डिफ़ॉल्ट webpage.html को अपने स्वयं के साथ बदलने के लिए स्वतंत्र महसूस करें - जबकि आप इसका उपयोग करने के लिए स्वागत करते हैं, यह प्रदर्शन उद्देश्यों के लिए डिज़ाइन किया गया है।
-transblank विकल्प आपको नकली सर्वर निर्माण को ओवरराइड करने की अनुमति देते हैं। इसलिए यदि आप चलाते हैं
malbait.pl -port:23 -proto:transblank
या
malbait.pl -proto:telnet -transblank
malbait ग्राहकों को एक खाली प्रतिक्रिया (एक अकेला कैरिज रिटर्न) के सबसे करीब की चीज़ प्रसारित करेगा, बजाय "Telnet सर्वर" बनाने के।
कंप्यूटर विचित्रताओं के प्रेमियों के लिए विभिन्न विकल्प प्रदान किए गए हैं।
-noloop: लूप नहीं करता है, यानी, एक कनेक्शन के बाद प्रत्येक सर्वर को मार देता है। यदि यह UDP सर्वर है, तो क्लाइंट द्वारा "command" दर्ज करने के बाद इसे मार देता है।
-no_multiplexing: TCP सर्वर को मल्टीप्लेक्सिंग से रोकता है, यानी, चाइल्ड प्रोसेस में सर्वर लॉन्च करना। हालाँकि आप इस तरह बहुत सारी मेमोरी बचा सकते हैं, यह अनुशंसित नहीं है - nmap Malbait के TCP सर्वरों को क्रैश करने के लिए जाना जाता है, और उन्हें चाइल्ड प्रोसेस में रखने का मतलब है कि malbait इस और अन्य दुर्भावनापूर्ण कनेक्शन प्रयासों से उबर सकता है और उन्हें लॉग कर सकता है। इसलिए यदि आप "-no_multiplexing" विकल्प का उपयोग करते हैं, तो मैं गारंटी देता हूँ कि आप अनाथ अस्थायी फ़ाइलों के साथ समाप्त होंगे जो आपके कार्यशील फ़ोल्डर / निर्देशिका में दाने की तरह फैल जाएँगी, और यह आपको बहुत दुखी करेगा; जब वे क्रैश होंगे तो आप सर्वरों को स्थायी रूप से भी खो देंगे। TL;DR: इस विकल्प का उपयोग न करें।
-maxreq:nn आपको एक ही समय में nn TCP सर्वर उत्पन्न करने की संभावना देता है, ताकि आप एक साथ उतने "क्लाइंट्स" की सेवा कर सकें। डिफ़ॉल्ट 2 है।
-noblocking: सर्वरों को "nonblocking" मोड में लॉन्च करता है; इसमें ज्यादा बात नहीं है, हालाँकि यह हमें -no_multiplexing के साथ उपयोग किए जाने पर nmap की गड़बड़ियों के प्रति कम संवेदनशील बना सकता है। लेकिन आप ऐसा क्यों करना चाहेंगे? गंभीरता से, हालाँकि, कुछ क्लाइंट पसंद करते हैं कि आप nonblocking हों, इसलिए यदि आपको समस्या हो रही है, तो इस विकल्प का उपयोग करने का प्रयास करें।
-timeout:nn क्लाइंट्स के लिए टाइमआउट को nn सेकंड पर सेट करें। डिफ़ॉल्ट 30 है - लेकिन यदि आपको बहुत सारे स्वचालित हमले मिल रहे हैं, तो आप इसे कम करना चाह सकते हैं ताकि आप आपके कंप्यूटर से जुड़ने वाले अन्य सभी मैलवेयर को न चूकें।
-report:filename.txt आपको अपनी खुद की रिपोर्ट फ़ाइलों का नाम देने की अनुमति देता है।
-recvbuffer:nn: एक आंतरिक चर सेट करें जो recv (प्राप्त बाइट्स) को मान nn पर बफर करता है। डिफ़ॉल्ट 1024 है, इसलिए यदि आप एक बार में 1k से अधिक गटकना चाहते हैं (एक अनुचित इच्छा नहीं), तो यह वह जगह है जहाँ आप इसे बदलते हैं।
malbait का टेक्स्ट आउटपुट इस समय थोड़ा... अस्त-व्यस्त है। यह डिबगिंग संदेशों और स्थिति जानकारी से भरा हुआ है। जब तक आप डेवलपर या मसोचिस्ट नहीं हैं, आप इसे सुरक्षित रूप से अनदेखा कर सकते हैं। वास्तविक त्रुटि संदेश लॉगफ़ाइल में दर्ज किए जाते हैं।
Malbait तीन प्रकार की लॉग फ़ाइलें बनाता है: एक CSV फ़ाइल जो आपको आपकी मशीन से जुड़े सभी क्लाइंट्स का अवलोकन देती है, एक टेक्स्ट फ़ाइल जिसमें अधिक विस्तृत डेटा और विश्लेषण होता है, और अस्थायी फ़ाइलें (जिनके नाम TEMP-16537 जैसे होते हैं) जो स्वतः हटा दी जाएँगी जब malbait पोर्ट खोलता/बंद करता है और "सर्वर" बनाता/नष्ट करता है।
अस्थायी फ़ाइलों के लिए खेद है, यह सुनिश्चित करने का एकमात्र तरीका था कि सारा ट्रैफ़िक कैप्चर हो जाए, यहाँ तक कि जब यह हमें क्रैश करने की कोशिश करता है! यदि आप कोई इधर-उधर पड़ी हुई देखते हैं, तो कुछ न करें, बस पेज को रीफ्रेश करें और वे शायद गायब हो जाएँगी।
यदि लोग इस प्रोग्राम में रुचि दिखाते हैं और मुझे ईमेल / पैसे / प्रेम पत्र / धमकियाँ भेजते हैं, तो मैं इसे अपडेट और नई सुविधाओं के साथ समर्थन दूँगा - उदाहरण के लिए, मैं आसानी से ICMP समर्थन जोड़ सकता हूँ, और शायद बेहतर वेब क्लाइंट हैंडलिंग भी। मुझे यह लिखने में बहुत मज़ा आया और मुझे पता है कि इसे समर्थन देने में मुझे वास्तव में आनंद आएगा! लेकिन अगर मुझे लोगों से सुनाई नहीं देता है, तो मैं मान लूँगा कि यह उतना उपयोगी नहीं है, और अन्य चीजों की ओर बढ़ जाऊँगा। इसलिए यदि आप और अधिक बेहतरीन सुविधाएँ देखना चाहते हैं, या चाहते हैं कि मैं कष्टप्रद बग X को ठीक करूँ, तो कृपया संपर्क करें!
मेरा ईमेल पता है [email protected] इस प्रोग्राम का बिटकॉइन पता (संकेत, संकेत) है 16P267RxgkLsEDVEKwLGsfnUCJ6bfgyWKR
पढ़ने के लिए धन्यवाद, और कृपया, कृपया मुझे अपने Satoshis भेजें!