العودة إلى التحديثات
UpdatedJul 15, 2026

discover — Updated!

سكربتات Bash وPython مخصصة تُستخدم لأتمتة مهام اختبار الاختراق المتنوعة بما في ذلك الاستطلاع، والفحص، والتعداد، وإنشاء الحمولات الخبيثة باستخدام Metasploit. للاستخدام مع Ubuntu. دعم محدود لـ Kali Linux.

مشاركة
Custom bash scripts used to automate various penetration testing tasks including recon, scanning, 
enumeration, and malicious payload creation using Metasploit. For use with Kali Linux or Ubuntu.

License: MIT

  • Twitter Follow Lee Baird @discoverscripts
  • Twitter Follow Jay "L1ghtn1ng" Townsend @jay_townsend1
  • Twitter Follow Jason Ashton @ninewires

الإعداد والاستخدام

* اختر **تحديث** (خيار القائمة الرئيسية 16) لتحديث نظام التشغيل وتثبيت التبعيات (`ffuf`, `feroxbuster`, `jq`, إلخ.).
* الماسحات الضوئية للتطوير موجودة تحت `dev/` ويمكن الوصول إليها أيضًا من خيار القائمة الرئيسية **15. Dev**.
* بعض الخيارات ستتطلب بيانات اعتماد الجذر للتشغيل.

### القائمة الرئيسية```
RECON
1.  Domain
2.  Person

SCANNING
3.  Generate target list
4.  CIDR
5.  List
6.  IP, range, or URL
7.  Rerun Nmap scripts and MSF aux

WEB
8.  Insecure direct object reference
9.  Open multiple tabs in Firefox
10. Nikto
11. SSL

MISC
12. Parse XML
13. Generate a malicious payload
14. Start a Metasploit listener
15. Dev
16. Update
17. Exit

Dev submenu (الخيار 15)

ماسحات أمنية بواسطة Yiğit ibrahim (ibrahimsql). السكريبتات موجودة في المجلد dev/ ويمكن تشغيلها مباشرة أيضًا.``` Dev scripts originally by ibrahimsql

  1. API Security
  2. Cloud Security
  3. Container Security
  4. OAuth and JWT Security
  5. Open Redirect Scanner
  6. Sensitive Information
  7. WAF Detection
  8. Web and API Security
  9. Previous menu
[General Options]

في بعض الأحيان قد ترغب في الحصول على خيار ينطبق على جميع الخدمات التي تُعرِّفها، أو على مجموعة منها فقط. هنا يأتي دور استخدام قسم `[General Options]` مع قسم `[GeneralOptionsMatching]`.

من الإعدادات أعلاه يمكنك رؤية قسم `[General Options]` وقسم `[GeneralOptionsMatching]`. يُستخدم قسم `[GeneralOptionsMatching]` لمطابقة أسماء الخدمات التي ينبغي تطبيق قسم `[General Options]` عليها. على سبيل المثال، إذا كان لديك خدمة تُدعى `Service1` وتريد استخدام قسم `[General Options]` لها، يمكنك إضافة `Service1` إلى قسم `[GeneralOptionsMatching]`. ومع ذلك، يمكنك أيضًا استخدام التعابير النمطية (regex) لمطابقة أسماء الخدمات. وهذه هي الطريقة:```
dev/
├── api-scanner.sh
├── cloud-scanner.sh
├── container-scanner.sh
├── oauth-jwt-scanner.sh
├── open-redirect.sh
├── sensitive-scanner.sh
├── waf-detect.sh
├── web-api-scanner.sh
├── data/
│   ├── api-paths.txt
│   ├── openredirect-payloads.txt
│   ├── sensitive-denylist.txt
│   ├── sensitive-patterns.tsv
│   ├── sensitive-skip-paths.txt
│   ├── sensitive-web-paths-quick.txt
│   ├── sensitive-web-paths-full.txt
│   ├── waf-aliases.tsv
│   ├── waf-labels.tsv
│   ├── waf-signatures.tsv
│   ├── web-api-phases.tsv
│   ├── web-api-tech-signatures.tsv
│   └── swagger-paths.txt
└── lib/
    ├── api-scanner/
    │   └── common.sh
    ├── cloud-scanner/
    │   ├── common.sh
    │   ├── aws.sh
    │   ├── azure.sh
    │   └── gcp.sh
    ├── container-scanner/
    │   ├── common.sh
    │   ├── docker.sh
    │   └── k8s.sh
    ├── oauth-jwt-scanner/
    │   ├── common.sh
    │   ├── oauth.sh
    │   └── jwt.sh
    ├── open-redirect-scanner/
    │   ├── common.sh
    │   └── engine.py
    ├── sensitive-scanner/
    │   ├── common.sh
    │   ├── files.sh
    │   ├── web.sh
    │   ├── filescan.py
    │   ├── engine.py
    │   ├── fixtures/
    │   └── run-tests.sh
    ├── waf-detect/
    │   ├── common.sh
    │   ├── probe.sh
    │   ├── fixtures/
    │   └── run-tests.sh
    └── web-api-scanner/
        ├── common.sh
        ├── phases.sh
        ├── waf.sh
        ├── targets.sh
        ├── msf.sh
        ├── msf_parse.py
        ├── probe.sh
        ├── fixtures/
        └── run-tests.sh

استطلاع

المجال```

RECON

  1. Passive

  2. Breaches

  3. Find registered domains

  4. Google dorks

  5. Web search

  6. Import names

  7. Import subdomains

  8. Active

  9. Previous menu

ملاحظة: لا يمكن تشغيل الوضع السلبي والوضع النشط كمستخدم جذر.

الاستطلاع السلبي

يستخدم Amass و ARIN و DNSRecon و dnstwist و Metasploit و subfinder و
sublist3r و theHarvester و Whois ومواقع ويب متعددة.

* احصل على جميع مفاتيح API المجانية للحصول على أقصى النتائج باستخدام theHarvester.
* أضف مفاتيح API إلى $HOME/.theHarvester/api-keys.yaml
* يقوم الوضع السلبي بإنشاء تقرير HTML في $HOME/data/<domain>/.
* العثور على النطاقات المسجلة يقوم بتحديث الصفحات registered-domains.htm في تقرير موجود.
* يستخدم الوضع النشط httpx و whatweb و gowitness؛ مفتاح NVD API الاختياري يسرع إثراء
  CVSS في تقرير الوضع النشط (انظر **مفتاح NVD API** أدناه).

#### استيراد الأسماء (`import-names.sh`)

قم بتشغيله بعد فحص سلبي عندما تريد إضافة أو إثراء جهات الاتصال من البحث اليدوي
(LinkedIn، مواقع الشركات، أدلة الهاتف، إلخ).```
Enter the location of your previous passive scan:
/home/user/data/example.com

Enter manual contacts file (or press Enter for default):
  • حرّر $HOME/data//tools/names-manual.tsv
  • الصيغة: الاسم، المسمى الوظيفي، رقم الهاتف (مفصولة بعلامات تبويب، شخص واحد لكل سطر)
  • الأسطر التي تبدأ بـ # هي تعليقات
  • يمكن ترك المسمى الوظيفي ورقم الهاتف فارغين
  • أعد تشغيل "استيراد الأسماء" كلما أضفت صفوفًا إلى الملف اليدوي

يُدمج "استيراد الأسماء" ثلاثة مصادر، ثم يُحدّث الصفحة pages/names.htm:

  1. tools/names — الأسماء المكتشفة تلقائيًا من الفحص السلبي
  2. pages/names.htm — جدول التقرير الحالي (يحافظ على العمل الموجود بالفعل في الصفحة)
  3. tools/names-manual.tsv — الإدخالات اليدوية؛ تفوز بالمسمى الوظيفي ورقم الهاتف عند ملئهما

يُحفظ ملف TSV المدمج مرة أخرى في tools/names. صفحة الأسماء هي جدول قابل للفرز بثلاثة أعمدة: الاسم، المسمى الوظيفي، رقم الهاتف.

استيراد النطاقات الفرعية (import-subdomains.sh)

شغّل بعد الفحص السلبي عندما تريد إضافة أو إثراء المضيفين من Pentest-Tools أو البحث اليدوي.``` Enter the location of your previous passive scan: /home/user/data/example.com

Enter import file or firefox (or press Enter for default):

الواردات المدعومة:

* `firefox` — سحب مسوحات `pinia/scans` من ملف Firefox الشخصي الخاص بك (مسوحات Pentest-Tools المجانية)
* تصدير `pinia/scans` من Firefox (`pinia-scans.json`)
* JSON الخاص بـ Pentest-Tools (`pentest-tools-<domain>.json`)
* تصدير نصي لـ Pentest-Tools (`pentest-tools.txt`)
* صفوف مضيف/IP مفصولة بعلامات التبويب

* قم بتحرير ملف `$HOME/data/<domain>/tools/subdomains-import.tsv` للإدخالات اليدوية
* التنسيق: نطاق فرعي، IP (مفصولة بعلامة تبويب؛ IP اختياري)
* المضيفون الذين ليس لديهم IP يتم حلها باستخدام `dig` أثناء الاستيراد
* أعد تشغيل استيراد النطاقات الفرعية كلما أضفت صفوفًا أو قمت بتشغيل فحص جديد لـ Pentest-Tools

يقوم استيراد النطاقات الفرعية بالدمج مع `tools/subdomains` الحالي، ويُسند الفئات من
`old/subdomain-categories.tsv`، ويقسم عناوين IP الخاصة إلى `tools/private-subs`، ويحدث
`pages/subdomains.htm` بأعمدة النطاق الفرعي والفئة و IP فقط.
قم بتشغيل **Active** بعد ذلك لملء عمود الحالة، واللقطة، وخادم الويب، والتقنيات.

#### Active (`active.sh`)

الاستطلاع النشط

قم بتشغيله بعد إجراء مسح سلبي (وضمنيًا استيراد النطاقات الفرعية) عندما ترغب في فحص
المضيفين العموميين الذين يستجيبون عبر HTTP/HTTPS، والتعرف على التقنيات المستخدمة، والتقاط
لقطات شاشة.```
Enter the location of your previous passive scan:
/home/user/data/example.com

يتطلب httpx وwhatweb وgowitness وpython3 وChrome أو Chromium (قم بتثبيته عبر Update).

الفئات