
نصوص أدوات متنوعة لاختبار الاختراق والقرصنة.
مشروع أدوات الاختراق المتعددة (Pentesting-Multitool) ينشأ من الحاجة إلى جمع بعض أدوات الاختراق في أداة واحدة. سيتم تطويره باستخدام بايثون 3 مع إضافة بعض المكتبات الخارجية مثل DNSPython و pythonwhois أو scapy.
الوظائف الرئيسية للبرنامج النصي هي جمع المعلومات حول سجلات DNS والنطاق أو الأجهزة الأخرى.
استنساخ (Clone) pentesting-multitool: $ git clone https://github.com/ffmancera/pentesting-multitool.git
مكتبات بايثون: # pip3 install dnspython pythonwhois shodan scapy-python3
ملاحظة: هذا التثبيت يثبت جميع مكتبات بايثون 3 الضرورية، ولكن عليك تثبيت TCPReplay، لذا ابحث عنه في مدير الحزم الخاص بك. أمثلة:
دبيان أو أوبونتو: # apt-get install tcpreply
أرتش لينكس: # pacman -S tcpreply
قبل استخدام pentesting-multitool.py يرجى اتباع هذه الخطوات:
حسنًا، الآن أنت مستعد لاستخدام البرنامج النصي، لذا استمتع به!
الاستخدام: $ python3 pentesting-multitool.py -d <domain> -r <record>
الخيارات: -f <filename>
تحذير: لم يتم تنفيذ جميع سجلات DNS، لذا تحقق من هذا الجدول لمعرفة سجلات DNS المتاحة.
الاستخدام: $ python3 pentesting-multitool.py -w <domain>
الخيارات: -f <filename>
تقوم وظيفة whois بإنشاء قاموس يحتوي على المعلومات، يمكنك كتابة المعلومات في ملف باستخدام الخيار -f أو طباعتها.
أحيانًا تكون المعلومات مخفية، لذا ضع في اعتبارك هذا الاحتمال.
الاستخدام: $ python3 pentesting-multitool.py -s <search query>
الخيارات: -f <filename>, -u (علامة المعلومات الكاملة)
ملاحظة: إذا تم تعيين العلامة -u، فستحصل على معلومات كاملة حول الأجهزة أو الخدمات التي تم العثور عليها. وإلا، فستحصل فقط على عنوان IP.
تستخدم وظيفة بحث Shodan (ssearch) مكتبة Shodan الخارجية لدمج متصفح Shodan في البرنامج النصي الخاص بنا.
ينفذ البرنامج النصي "بحثًا بسيطًا" (بسيط كما تريد)، بالنسبة لمعاملات استعلام البحث سنضع بالضبط نفس ما إذا كنا نبحث باستخدام موقع Shodan ولكن مع فصل الفلاتر باستخدام "-" إليك مثال لاستعلام البحث:
"ip:8.8.8.0/24-ports:22"
الاستخدام: # python3 pentesting-multitool.py -b <ip> -p <ports>
الخيارات: -f <filename>
تقوم وظيفة الحصول على الشعار أولاً بإنشاء مأخذ توصيل (socket) مع عنوان IP والمنفذ المحددين، لذا يمكننا استخدام قائمة من المنافذ (مفصولة بـ :).
تحذير: لم يتم تنفيذ جميع الخدمات، لذا تحقق من هذا الجدول لمعرفة الخدمة المتاحة.
| الخدمة (SERVICE) | الحالة (STATUS) |
|---|---|
| SSH | نشط |
| FTP | نشط |
| SMTP | نشط |
| MARIADB | نشط |
الاستخدام: # python3 pentesting-multitool.py -o <عدد الإرساليات أو الحزم (وضع المولد)> -f <اسم ملف pcap>
الخيارات: -g (علامة وضع المولد)
تحتوي وظيفة الفيضان على خيارين. الخيار الأول هو وضع المولد الذي يقوم بإنشاء ملف PCAP يحتوي على عدد محدد من الحزم واسم. تحتوي تلك الحزم على طبقتين IP و ICMP (طلب صدى Echo request).
بالنسبة لوضع الفيضان، باستخدام TCPReplay، سنقوم بإرسال قائمة الحزم المضمنة في ملف PCAP في حلقة من n تكرار. يُوصى بإضافة 200 حزمة إلى الملف لهجوم الحرمان من الخدمة (DOS) و 100 حزمة لزيادة زمن الاستجابة، ولكن ذلك يختلف بين الشبكات ونقاط الوصول (AP).
الاستخدام: # python3 pentesting-multitool.py -z <عنوان IP الهدف> -ng <عدد الأجيال> -n <عدد الحزم> -l <الطبقة (UDP, TCP, ICMP)> -f <اسم ملف pcap>
ستقوم وظيفة التشويش بتوليد عدد من الحزم العشوائية مع طبقة UDP أو TCP أو ICMP كما هو محدد من قبل المستخدم، n مرة (معامل عدد الأجيال). بعد إرسال الحزمة، ستنتظر ردًا لمدة ثانية واحدة، إذا لم يكن هناك رد، فسيتم إنشاء حزمة افتراضية. سيتم تخزين جميع الحزم في ملف PCAP لاحقًا، حيث تكون الحزمة الأولى هي الحزمة المرسلة والثانية هي الرد على هذه الحزمة.
أيضًا، من الواضح أنه يجب عليك تعيين عنوان IP الهدف لأنه لا فائدة من تعيينه باستخدام وظيفة Scapy RandIP.
الاستخدام: # python3 pentesting-multitool.py -m <الواجهة> -v <عنوان IP الضحية> -a <بوابة نقطة الوصول>
حسنًا، أولاً أود توضيح أنها ليست أداة مصممة للهجوم، بل هي أداة للتحقق مما إذا كانت شبكتنا معرضة لهجوم نمط الرجل في المنتصف (MITM) باستخدام تزييف ARP (ARP Spoofing).
باستخدام تزييف ARP، نشير إلى جهاز التوجيه (router) أن عنوان IP الخاص بالضحية موجود في عنوان MAC الخاص بنا، وفي نفس الوقت نشير إلى الضحية أن عنوان IP الخاص بالبوابة موجود في عنوان MAC الخاص بنا، وبالتالي نعترض كل حركة المرور بين الضحية وجهاز التوجيه.
أود أن أشكر مجموعة SUGUS (مجموعة البرمجيات الحرة) بجامعة إشبيلية و Shodan على مساعدتهم ودعمهم.
من فضلك، إذا كان لديك أي اقتراح بخصوص المشروع، فلا تتردد في تنفيذه وتقديم طلب سحب (pull request)، أو يمكنك الاتصال بي على [email protected]
شكرًا لك على تعاونك.
اختراق سعيد!
| السجلات (RECORDS) | الحالة (STATUS) |
|---|
| A | نشط |
| AAAA | نشط |
| MX | نشط |
| NS | نشط |
| TXT | نشط |
| SOA | نشط |