
أداة للشبكات والاستطلاع والأمن الهجومي لنظام لينكس.
Hawk هي أداة للشبكات واختبار الاختراق قمت بتطويرها لكي أتمكن من تنفيذ أنواع مختلفة من المهام باستخدام نفس الحزمة، بدلاً من التنقل بين أداة وأخرى.
حالياً، يمكن لهذا السكربت تنفيذ مجموعة متنوعة من المهام مثل ifconfig، ping، traceroute، فحوصات المنافذ (بما في ذلك SYN وTCP وUDP وACK والفحص الشامل)، اكتشاف الأجهزة (فحص الأجهزة النشطة على الشبكة المحلية)، كشف عنوان MAC (الحصول على عنوان MAC لعنوان IP لمضيف على الشبكة المحلية)، التقاط اللافتات (banner grabbing)، فحوصات DNS (مع معلومات تحديد الموقع الجغرافي)، WHOIS، تعداد النطاقات الفرعية، الاستطلاع بحثاً عن الثغرات، التقاط الحزم، انتحال MAC، انتحال IP، فيضان SYN، هجوم deauth وهجوم القوة العمياء (نسخة تجريبية).
لا تزال ميزات أخرى قيد التنفيذ. قد تتضمن التطبيقات المستقبلية كشف جدار حماية تطبيقات الويب (WAF)، تعداد DNS، تحليل حركة المرور، ماسح ثغرات XSS، تسميم ذاكرة التخزين المؤقت ARP، تسميم ذاكرة التخزين المؤقت DNS، فيضان MAC، ping of death، هجوم فصل الشبكة (وليس هجوم deauth)، استخبارات المصادر المفتوحة (OSINT)، انتحال البريد الإلكتروني، الاستغلالات (exploits)، بعض المهام الآلية وأخرى.

لاحظ أن هذا السكربت يعمل بشكل جيد على لينكس فقط حالياً. إذا جربته على ويندوز أو 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
بعدها، اتبع التعليمات ببساطة. يرجى تجاهل رسائل الخطأ التي تظهر أثناء التثبيت.
مع ذلك، إذا كنت تستخدم أي توزيعة لينكس أخرى بمدير حزم مختلف، يرجى تثبيت الحزم يدوياً باستخدام مدير الحزم الخاص بتوزيعتك. اعتماداً على التوزيعة المستخدمة، قد تكون بعض الحزم المطلوبة لتشغيل هذا السكربت مثبتة بالفعل على جهازك.
إذا كنت ترغب في معرفة الحزم اللازمة، انظر إلى ملف setup.sh.
بعد التثبيت، لتشغيل البرنامج، انتقل ببساطة إلى دليل المشروع وشغّل ملف hawk.py باستخدام بايثون. يُنصح بتشغيل السكربت كجذر (root) للحصول على أداء أفضل وتجنب أخطاء الأذونات. الأمر المستخدم هو التالي:
sudo python3 hawk.py
لإجراء الإعدادات، ما عليك سوى الانتقال إلى ملف الإعدادات في files/conf.py وتعديله.
إذا كنت تريد عرض إعدادات الشبكة TCP/IP الحالية لنظامك، اكتب الأمر التالي:
-ifconfig

لإرسال حزم ICMP إلى مضيف واحد أو أكثر للتحقق من الاتصال، اكتب ببساطة:
-ping <HOST(s) IP/FQDN>

لتشخيص مسارات التوجيه وقياس تأخيرات العبور، استخدم الأمر -traceroute:
-traceroute <HOST IP/FQDN>

يساعد فحص المنافذ في اكتشاف الثغرات الأمنية المحتملة من خلال تحديد المضيفين المتصلين بشبكتك والخدمات قيد التشغيل.
يتم دعم أنواع متعددة من الفحص، بما في ذلك TCP SYN (-scansyn) [المعروف أيضاً باسم الفحص الخفي (stealth scan)]، 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
ثم اكتب الشبكة التي تريد فحصها.

للحصول على عنوان MAC لمضيف واحد أو أكثر نشطين على الشبكة المحلية (LAN)، استخدم الأمر:
-getmac -host <HOST(s) IP>

كشف الإصدار، أو التقاط اللافتات (banner grabbing)، هو أسلوب استطلاع يسترجع معلومات لافتة البرنامج. تحتوي هذه اللافتة عادةً على معلومات مهمة حول خدمة الشبكة، بما في ذلك على سبيل المثال لا الحصر، اسم البرنامج وإصداره. غالباً ما تكشف خوادم FTP وWeb وSSH وSMTP معلومات حيوية عن البرنامج الذي تشغّله في لافتاتها.
يبدأ هجوم اللافتات عادةً بفحص تعداد للعثور على المنافذ المفتوحة. بمجرد تحديد الخدمة التي تريد استهدافها، يمكنك إرسال حزم محددة وفحص حركة المرور بحثاً عن المعلومات المطلوبة.
لتنفيذ التقاط اللافتات، حسب احتياجاتك المحددة، اكتب أحد الأوامر التالية:
-grab -host <HOST(s) IP/FQDN> -p <PORT(s)>
-grab -iprange <START IP> <END IP> -prange <START PORT> <END PORT>
-grab -host <HOST(s) IP/FQDN> -prange <START PORT> <END PORT>
-grab -iprange <START IP> <END IP> -p <PORT(s)>

هذه الميزة مشابهة للأمر المعروف nslookup المستخدم في أنظمة UNIX. إذا كنت تريد إجراء فحص DNS، اكتب التالي:
-ns <HOST(s) IP/FQDN>