Linux के लिए नेटवर्क, recon और offensive-security उपकरण।
Hawk एक नेटवर्क और पेंटेस्ट उपयोगिता है जिसे मैंने इसलिए विकसित किया है ताकि मैं एक ही सुइट का उपयोग करके विभिन्न प्रकार के कार्य कर सकूं, बजाय एक उपकरण से दूसरे उपकरण पर जाने के।
वर्तमान में, यह स्क्रिप्ट विभिन्न प्रकार के कार्य कर सकती है जैसे ifconfig, ping, traceroute, पोर्ट स्कैन (जिसमें SYN, TCP, UDP, ACK, व्यापक स्कैन, होस्ट डिस्कवरी (स्थानीय नेटवर्क पर चालू डिवाइसों को स्कैन करना), MAC पता पहचान (स्थानीय नेटवर्क पर होस्ट IP का MAC पता प्राप्त करना), बैनर ग्रैबिंग, DNS जाँच (भौगोलिक स्थान जानकारी के साथ), WHOIS, सबडोमेन एन्यूमरेशन, भेद्यता टोही, पैकेट स्निफिंग, MAC स्पूफिंग, IP स्पूफिंग, SYN फ्लडिंग, डीऑथ अटैक और ब्रूट-फोर्स अटैक (बीटा) शामिल हैं।
अन्य सुविधाएँ अभी भी लागू की जा रही हैं। भविष्य के कार्यान्वयन में WAF पहचान, DNS एन्यूमरेशन, ट्रैफ़िक विश्लेषण, XSS भेद्यता स्कैनर, ARP कैश पॉइज़निंग, DNS कैश पॉइज़निंग, MAC फ्लडिंग, पिंग ऑफ़ डेथ, नेटवर्क डिसअसोसिएशन अटैक (डीऑथ अटैक नहीं), OSINT, ईमेल स्पूफिंग, एक्सप्लॉइट, कुछ स्वचालित कार्य और अन्य शामिल हो सकते हैं।

ध्यान दें कि वर्तमान में, यह स्क्रिप्ट केवल Linux पर अच्छी तरह चलती है। यदि आप इसे Windows या macOS पर आज़माते हैं, तो यह चल सकती है, लेकिन कई त्रुटियाँ दिखाई देंगी।
यह स्क्रिप्ट इन पर परीक्षण की गई है:
आवश्यक पैकेज स्थापित करने के लिए ताकि स्क्रिप्ट बिना किसी समस्या के चल सके, बस रूट विशेषाधिकारों के साथ setup.sh स्क्रिप्ट चलाएँ। वर्तमान में, यह स्थापना स्क्रिप्ट केवल Debian, Red Hat और Arch आधारित डिस्ट्रो पर समर्थित है जिनमें क्रमशः apt, dnf और pacman पैकेज मैनेजर है (Ubuntu, Kali Linux, Parrot OS, Debian, Pop!_OS, Linux Mint, Deepin, Zorin OS, MX Linux, Elementary OS, Fedora, CentOS, Red Hat Enterprise Linux, Rocky Linux, AlmaLinux, Oracle Linux, ClearOS, Arch, Black Arch, Manjaro, आदि)। अधिकांश सिस्टम पर, Hawk स्थापित करने के लिए बस निम्न कमांड चलाएँ:
git clone https://github.com/medpaf/hawk.git
cd hawk
sudo sh setup.sh
फिर, बस निर्देशों का पालन करें। कृपया स्थापना के दौरान दिखाई देने वाले त्रुटि संदेशों को अनदेखा करें।
हालाँकि, यदि आप किसी अन्य Linux डिस्ट्रो का उपयोग कर रहे हैं जिसमें अलग पैकेज मैनेजर है, तो कृपया अपने डिस्ट्रो के पैकेज मैनेजर का उपयोग करके पैकेजों को मैन्युअल रूप से स्थापित करें। उपयोग किए गए विशिष्ट डिस्ट्रो के आधार पर, इस स्क्रिप्ट को चलाने के लिए आवश्यक कुछ पैकेज आपकी मशीन पर पहले से स्थापित हो सकते हैं। यदि आप आवश्यक पैकेज जानना चाहते हैं, तो setup.sh फ़ाइल देखें।
स्थापना के बाद, प्रोग्राम चलाने के लिए, बस प्रोजेक्ट की निर्देशिका में जाएँ और python का उपयोग करके hawk.py फ़ाइल चलाएँ। बेहतर प्रदर्शन और अनुमति त्रुटियों से बचने के लिए स्क्रिप्ट को रूट के रूप में चलाने की अनुशंसा की जाती है। उपयोग की गई कमांड निम्नलिखित है:
sudo python3 hawk.py
कॉन्फ़िगरेशन करने के लिए, बस files/conf.py पर कॉन्फ़िगरेशन फ़ाइल में जाएँ और उसे संपादित करें।
यदि आप अपने सिस्टम का वर्तमान TCP/IP नेटवर्क कॉन्फ़िगरेशन प्रदर्शित करना चाहते हैं, तो निम्न कमांड टाइप करें:
-ifconfig

कनेक्टिविटी जाँचने के लिए एक या अधिक होस्ट को ICMP पैकेट भेजने के लिए, बस टाइप करें:
-ping <HOST(s) IP/FQDN>

रूट पथों का निदान करने और ट्रांज़िट देरी को मापने के लिए, -traceroute कमांड का उपयोग करें:
-traceroute <HOST IP/FQDN>

पोर्ट स्कैन करने से आपके नेटवर्क से जुड़े होस्ट और चल रही सेवाओं की पहचान करके संभावित सुरक्षा उल्लंघनों का पता लगाने में मदद मिलती है।
कई स्कैन प्रकार समर्थित हैं, जिनमें TCP SYN (-scansyn) [जिसे स्टील्थ स्कैन भी कहा जाता है], TCP Connect (-scantcp), UDP (-scanudp), TCP ACK (-scanack) और व्यापक स्कैन (-scan) शामिल हैं।
-scan -host <HOST(s) IP/FQDN>
-scan -host <HOST(s) IP/FQDN> -p <PORT(s)>
यदि आप एक IP रेंज और/या पोर्ट रेंज स्कैन करना चाहते हैं, तो निम्न में से किसी एक कमांड का उपयोग करें:
-scan -host <HOST(s) IP/FQDN> -prange <START PORT> <END PORT>
-scan -iprange <START IP> <END IP> -p <PORT(s)>
-scan -iprange <START IP> <END IP> -prange <START PORT> <END PORT>

इस स्कैन के बाद, यह देखना संभव है कि 22 (SSH) और 80 (HTTP) दोनों पोर्ट खुले हैं।
किसी दिए गए नेटवर्क पर वर्तमान में चालू डिवाइसों को खोजने के लिए निम्न कमांड टाइप करें:
-scanlan
फिर उस नेटवर्क को टाइप करें जिसे आप स्कैन करना चाहते हैं।

LAN पर एक या अधिक सक्रिय होस्ट का MAC पता प्राप्त करने के लिए, कमांड का उपयोग करें:
-getmac -host <HOST(s) IP>

संस्करण पहचान, या बैनर ग्रैबिंग, एक टोही तकनीक है जो सॉफ़्टवेयर बैनर जानकारी प्राप्त करती है। यह बैनर आमतौर पर नेटवर्क सेवा के बारे में महत्वपूर्ण जानकारी रखता है, जिसमें इसका सॉफ़्टवेयर नाम और संस्करण शामिल है, लेकिन यह इन्हीं तक सीमित नहीं है। FTP, वेब, SSH और SMTP सर्वर अक्सर अपने बैनर में चल रहे सॉफ़्टवेयर के बारे में महत्वपूर्ण जानकारी उजागर करते हैं।
एक बैनर हमला आमतौर पर खुले पोर्ट खोजने के लिए एन्यूमरेशन स्कैन से शुरू होता है। एक बार जब आप किसी ऐसी सेवा की पहचान कर लेते हैं जिसे आप लक्षित करना चाहते हैं, तो आप विशिष्ट पैकेट भेज सकते हैं और निर्दिष्ट जानकारी के लिए ट्रैफ़िक का निरीक्षण कर सकते हैं।
बैनर ग्रैबिंग करने के लिए, अपनी विशिष्ट आवश्यकताओं के आधार पर, निम्न में से एक कमांड टाइप करें: