Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
waymore — اعثر على المزيد بكثير من Wayback Machine و Common Crawl و Alien Vault OTX و URLScan و VirusTotal و GhostArchive و Intelligence X! | Kitploit
أدوات/GitHubGitHub/xnl-h4ck3r/waymore
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعجمع المعلوماتأمن الويبتعداد النطاقات الفرعيةزاحف الويب
GitHubxnl-h4ck3r/waymore

waymore

اعثر على المزيد بكثير من Wayback Machine و Common Crawl و Alien Vault OTX و URLScan و VirusTotal و GhostArchive و Intelligence X!

عرض المستودع
2.7k293منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

حول - v8.9

الفكرة وراء waymore هي العثور على المزيد من الروابط من Wayback Machine (بالإضافة إلى مصادر أخرى) أكثر من الأدوات الحالية الأخرى.

👉 الفرق الأكبر بين waymore والأدوات الأخرى هو أنه يمكنه أيضًا تنزيل الردود المؤرشفة لعناوين URL الموجودة على wayback machine (و URLScan) بحيث يمكنك بعد ذلك البحث فيها عن المزيد من الروابط، تعليقات المطورين، معاملات إضافية، إلخ. 👉 أيضًا، الأدوات الأخرى لا تتعامل حاليًا مع تحديد المعدل الذي تفرضه المصادر الآن، وغالبًا ما تتوقف بنتائج غير مكتملة دون إعلامك بذلك.

أي شخص يمارس صيد الثغرات (bug bounty) قد استخدم على الأرجح الأداة الرائعة waybackurls من @TomNomNoms. هذه الأداة تحصل على عناوين URL من web.archive.org وروابط إضافية (إن وجدت) من إحدى مجموعات الفهرسة على index.commoncrawl.org. ربما استخدمت أيضًا الأداة الرائعة gau من @hacker_ والتي تجد أيضًا عناوين URL من أرشيف wayback، و Common Crawl، وكذلك من Alien Vault و URLScan و Virus Total و Intelligence X. الآن waymore يحصل على عناوين URL من كل هذه المصادر أيضًا (مع إمكانية التصفية للحصول على ما تريد):

  • Wayback Machine (web.archive.org)
  • Common Crawl (index.commoncrawl.org)
  • Alien Vault OTX (otx.alienvault.com)
  • URLScan (urlscan.io)
  • Virus Total (virustotal.com)
  • GhostArchive (ghostarchive.org)
  • Intelligence X (intelx.io) - فقط للطبقات الأكاديمية أو المدفوعة

👉 إنها نقطة يغفل عنها الكثيرون، لذا سأكررها مرة أخرى 😊 ... الفرق الأكبر بين waymore والأدوات الأخرى هو أنه يمكنه أيضًا تنزيل الردود المؤرشفة لعناوين URL على wayback machine بحيث يمكنك بعد ذلك البحث فيها عن المزيد من الروابط، تعليقات المطورين، معاملات إضافية، إلخ.

👉 يرجى قراءة جميع المعلومات الموجودة في هذه الصفحة للاستفادة القصوى من هذه الأداة، وخاصة قبل رفع أي مشاكل 🤘

👉 هذه الأداة يمكن أن تكون بطيئة جدًا، لكنها مصممة للتغطية وليس السرعة

⚠️ من الأخطاء الشائعة تمرير ملف من النطاقات الفرعية للحصول على كل شيء لنطاق معين. لا تفعل ذلك! فقط مرر النطاق الرئيسي للحصول على جميع النطاقات الفرعية لذلك النطاق. سيكون الأمر أسرع بكثير، ولن يفوتك أي شيء.

التثبيت

ملاحظة: إذا كان لديك بالفعل ملف config.yml، فلن يتم استبداله. سيتم إنشاء الملف config.yml.NEW في نفس الدليل. إذا كنت بحاجة إلى الإعدادات الجديدة، فاحذف config.yml وأعد تسمية config.yml.NEW إلى config.yml.

يدعم waymore Python 3.7+ (مطلوب Python 3.7 أو أعلى لدعم async/await).

قم بتثبيت waymore في بيئة Python الافتراضية (العالمية).```bash pip install waymore

root@kitploit:~
أو```bash
pip install git+https://github.com/xnl-h4ck3r/waymore.git -v

يمكنك الترقية باستخدام```bash pip install --upgrade waymore

root@kitploit:~
### pipx

إعداد سريع في بيئة بايثون معزولة باستخدام [pipx](https://pypa.github.io/pipx/)```bash
pipx install git+https://github.com/xnl-h4ck3r/waymore.git

الاستخدام| الوسيطة | الوسيطة الطويلة | الوصف |

| ------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -i | --input | النطاق المستهدف (أو ملف النطاقات) للبحث عن الروابط. يمكن أن يكون نطاقًا فقط، أو نطاقًا بمسار محدد. إذا كان نطاقًا فقط للحصول على كل شيء لهذا النطاق، فلا تسبقه بـ www.. يمكنك أيضًا تحديد نطاق المستوى الأعلى فقط عن طريق تسبيته بنقطة، على سبيل المثال .mil، والذي سيجلب كل النطاقات الفرعية لجميع النطاقات بهذا النطاق الأعلى (ملاحظة: مصدر Alien Vault OTX مستبعد إذا كان البحث عن نطاق أعلى لأنه يتطلب نطاقًا كاملاً). ملاحظة: أي مخطط، رقم منفذ، سلسلة استعلام، أو جزء عنوان URL سيتم إزالته من قيم الإدخال. ومع ذلك، إذا قدمت مسارًا، فسيتم البحث عنه تحديدًا، مما سيحد من نتائجك. | | -mode | | الوضع للتشغيل: U (استرداد عناوين URL فقط)، R (تنزيل الردود فقط) أو B (كليهما). إذا كان -i نطاقًا فقط، فسيتم تعيين -mode افتراضيًا على B. إذا كان -i نطاقًا بمسار فسيتم تعيين افتراضيًا على . | | -oU | --output-urls | الملف لحفظ مخرجات الروابط فيه، بما في ذلك المسار إذا لزم الأمر. إذا لم يتم تمرير وسيطة ، فسيتم إنشاء دليل في المسار المحدد بواسطة مفتاح في ملف (عادةً ما يكون افتراضيًا على ). داخله، سيتم إنشاء دليل باسم النطاق المستهدف (أو النطاق بالمسار) الذي تم تمريره مع (أو لكل سطر من ملف تم تمريره مع ). على سبيل المثال: | | -oR | --output-responses | الدليل لحفظ ملفات مخرجات الردود فيه، بما في ذلك المسار إذا لزم الأمر. إذا لم يتم تمرير الوسيطة، فسيتم إنشاء دليل في المسار المحدد بواسطة مفتاح في ملف (عادةً ما يكون افتراضيًا على ). داخله، سيتم إنشاء دليل باسم النطاق المستهدف (أو النطاق بالمسار) الذي تم تمريره مع (أو لكل سطر من ملف تم تمريره مع ). على سبيل المثال: | | -n | --no-subs | لا تقم بتضمين النطاقات الفرعية للنطاق المستهدف (يُستخدم فقط إذا لم يكن الإدخال نطاقًا بمسار محدد). | | -f | --filter-responses-only | لن يتم تصفية الروابط الأولية من المصادر، فقط الردود التي تم تنزيلها، على سبيل المثال قد يكون مفيدًا لرؤية جميع المسارات المتاحة من الروابط، حتى لو كنت لا ترغب في التحقق من المحتوى. | | -fc | | تصفية رموز حالة HTTP لعناوين URL والردود المستردة. قائمة مفصولة بفواصل من الرموز (الافتراضي: قيم من ). تمرير هذه الوسيطة سيتجاوز القيمة من . | | -ft | | تصفية أنواع MIME لعناوين URL والردود المستردة. قائمة مفصولة بفواصل من أنواع MIME (الافتراضي: قيم من ). تمرير هذه الوسيطة سيتجاوز القيمة من . | | -mc | | فقط طابق رموز حالة HTTP لعناوين URL والردود المستردة. قائمة مفصولة بفواصل من الرموز. تمرير هذه الوسيطة يتجاوز إعدادات و . | | -mt | | أنواع MIME فقط لعناوين URL والردود المستردة. قائمة مفصولة بفواصل من أنواع MIME. تمرير هذه الوسيطة يتجاوز إعدادات و . | | -l | --limit | كم عدد الردود التي سيتم حفظها (إذا تم تمرير أو ). قيمة موجبة ستحصل على من النتائج، قيمة سالبة ستحصل على من النتائج. قيمة 0 ستحصل على الردود (الافتراضي: 5000) | | -from | --from-date | ما التاريخ الذي سيتم جلب البيانات منه. إذا لم يتم تحديده، فسيتم الجلب من أقرب النتائج الممكنة. يمكن تمرير قيمة جزئية، على سبيل المثال ، ، إلخ. | | -to | --to-date | ما التاريخ الذي سيتم جلب البيانات إليه. إذا لم يتم تحديده، فسيتم الجلب إلى أحدث النتائج الممكنة. يمكن تمرير قيمة جزئية، على سبيل المثال ، ، إلخ. | | -ci | --capture-interval | يقوم بتصفية البحث على archive.org للحصول على لقطة واحدة على الأكثر لكل ساعة () أو يوم () أو شهر (). هذا الفلتر يُستخدم فقط للردود. الافتراضي هو ولكن يمكن أيضًا تعيينه على لعدم تصفية أي شيء والحصول على جميع الردود. | | -ra | --regex-after | تعبير منتظم لأغراض التصفية ضد الروابط الموجودة من جميع مصادر عناوين URL والردود التي تم تنزيلها. | | -url-filename | | قم بتعيين اسم ملف الردود التي تم تنزيلها إلى عنوان URL الذي أنشأ الرد، وإلا سيتم تعيينه إلى قيمة التجزئة للرد. استخدام قيمة التجزئة يعني أن عناوين URL المتعددة التي أنشأت نفس الرد ستؤدي فقط إلى حفظ ملف واحد لذلك الرد. | | -xwm | | استبعاد التحقق من الروابط من Wayback Machine (archive.org) | | -xcc | | استبعاد التحقق من الروابط من commoncrawl.org | | -xav | | استبعاد التحقق من الروابط من alienvault.com | | -xus | | استبعاد التحقق من الروابط من urlscan.io | | -xvt | | استبعاد التحقق من الروابط من virustotal.com | | -xix | | استبعاد التحقق من الروابط من Intelligence X.com | | -xga | | استبعاد التحقق من الروابط من ghostarchive.org | | -lcc | | تحديد عدد مجموعات فهرس Common Crawl التي سيتم البحث فيها، على سبيل المثال سيبحث فقط في أحدث مجموعات (الافتراضي: 1). اعتبارًا من نوفمبر 2024 يوجد حاليًا 106 مجموعة. تعيينها على سيبحث في المجموعات. إذا كنت لا ترغب في البحث في Common Crawl على الإطلاق، استخدم الخيار . | | -t | --timeout | هذا فقط للردود المؤرشفة! كم ثانية للانتظار حتى يرسل الخادم البيانات قبل الاستسلام (الافتراضي: 30) | | -p | --processes | يتم تنفيذ تعدد مؤشرات الترابط الأساسي عند الحصول على طلبات لملف عناوين URL. تحدد هذه الوسيطة عدد العمليات (الخيوط) المستخدمة (الافتراضي: 2) | | -r | --retries | عدد مرات إعادة المحاولة للطلبات التي تحصل على خطأ اتصال أو معدل محدود (الافتراضي: 1). | | -sip | --source-ip OR --bind-ip | ربط طلبات HTTP/HTTPS الصادرة بعنوان IP المصدر هذا (مفيد على المضيفين متعددي الشبكات). تمرير هذه الوسيطة يتجاوز قيمة في ملف . | | -m | --memory-threshold | نسبة عتبة الذاكرة. إذا تجاوزت ذاكرة الجهاز العتبة، سيتم إيقاف البرنامج وإنهاؤه بلطف قبل نفاد الذاكرة (الافتراضي: 95) | | -ko | --keywords-only | إرجاع فقط الروابط والردود التي تحتوي على كلمات رئيسية تهتم بها. يمكن أن يقلل هذا من الوقت المستغرق للحصول على النتائج. إذا قدمت العلامة بدون قيمة، يتم أخذ الكلمات الرئيسية من القائمة المفصولة بفواصل في ملف (عادةً في ) باستخدام مفتاح ، وإلا يمكنك تمرير قيمة Regex محددة لاستخدامها، على سبيل المثال للحصول فقط على الروابط التي تحتوي على الكلمة ، أو للحصول فقط على ملفات JS. التحقق من Regex لا يتحسس حالة الأحرف. | | -lr | --limit-requests | حدد عدد الطلبات التي سيتم إجراؤها عند الحصول على الروابط من مصدر (لا ينطبق هذا على Common Crawl). يمكن لبعض الأهداف إرجاع كمية هائلة من الطلبات المطلوبة التي لا يمكن الحصول عليها، لذا يمكن استخدام هذا لإدارة تلك الحالة. الافتراضي هو 0 (صفر) مما يعني عدم وجود حد. | | -ow | --output-overwrite | إذا كان ملف مخرجات URL (الافتراضي ، أو المحدد بواسطة ) موجودًا بالفعل، فسيتم استبداله بدلاً من الإلحاق به. | | -nlf | --new-links-file | إذا تم تمرير هذه الوسيطة، فسيتم أيضًا كتابة ملف (أو إذا تم استخدام سيكون اسم ذلك الملف مع لاحقة ) وسيحتوي على روابط لأحدث تشغيل. يمكن استخدام هذا للمراقبة المستمرة لهدف (فقط لـ ، وليس ). | | | --stream | إخراج عناوين URL إلى STDOUT بمجرد العثور عليها (سيتم عرض التكرارات). يعمل فقط مع . يتم كتم جميع المخرجات الأخرى، لذا استخدم لرؤية أي أخطاء. استخدم لحفظ النتائج صراحةً في ملف (سيتم إزالة التكرارات). | | -c | --config | المسار إلى ملف تكوين YML. إذا لم يتم تمريره، فإنه يبحث عن ملف في الدليل الافتراضي، عادةً . | | -wrlr | --wayback-rate-limit-retry | عدد الدقائق التي يريد المستخدم الانتظارها لتوقف مؤقت لمعدل الطلب على Wayback Machine (archive.org) بدلاً من التوقف مع خطأ (الافتراضي: 3). | | -urlr | --urlscan-rate-limit-retry | عدد الدقائق التي يريد المستخدم الانتظارها لتوقف مؤقت لمعدل الطلب على URLScan.io بدلاً من التوقف مع خطأ (الافتراضي: 1). | | -co | --check-only | سيقوم هذا بإجراء بعض الطلبات البسيطة لتظهر لك عدد الطلبات، وكم من الوقت قد يستغرق تقريبًا، للحصول على عناوين URL من المصادر والردود التي تم تنزيلها من Wayback Machine (لسوء الحظ، من غير الممكن التحقق من المدة التي سيستغرقها تنزيل الردود من URLScan). | | -nd | --notify-discord | سواء لإرسال إشعار إلى Discord عند اكتمال waymore. يتطلب توفير في ملف . | | -nt | --notify-telegram | سواء لإرسال إشعار إلى Telegram عند اكتمال waymore. يتطلب توفير و في ملف . | | -oijs | --output-inline-js | سواء لحفظ جافا سكريبت المضمن المدمج لجميع الملفات ذات الصلة في دليل الردود عند استخدام (أو ). يتم حفظ الملفات بالاسم حيث هو رقم الملف، مع حفظ 1000 نص برمجي فريد لكل ملف. سيتم أيضًا إنشاء الملف ، الذي يحتوي على قيمة لجميع النصوص البرمجية الخارجية المشار إليها في الملفات. | | -v | --verbose | مخرجات مفصلة | | | --version | عرض رقم الإصدار الحالي. | | -h | --help | عرض رسالة المساعدة والخروج. |## التشغيل باستخدام docker

تثبيت docker```bash git clone https://github.com/xnl-h4ck3r/waymore.git cd waymore

root@kitploit:~
بناء الصورة:```bash
docker build -t waymore .

شغل waymore باستخدام هذا الأمر:```bash docker run -it --rm -v $PWD/results:/app/results waymore:latest -i example.com -oU example.com.links -oR results/example.com/

root@kitploit:~
## الإدخال والوضع

يمكن أن يكون الإدخال `-i` إما نطاقًا فقط، مثل `redbull.com` أو نطاقًا ومسارًا محددين، مثل `redbull.com/robots.txt`. يمكنك أيضًا تمرير ملف من النطاقات/عناوين URL للمعالجة (أو تمرير القيم عن طريق التوجيه من برنامج آخر في سطر الأوامر). **ملاحظة: سيتم إزالة أي مخطط (scheme) أو رقم منفذ (port number) أو سلسلة استعلام (query string) أو جزء URL (fragment) من قيم الإدخال. ومع ذلك، إذا قمت بتوفير مسار، فسيتم البحث عنه بشكل محدد، مما سيحد من نتائجك.**

هناك أوضاع مختلفة يمكن تشغيلها لـ waymore. يمكن أن تأخذ الوسيطة `-mode` 3 قيم مختلفة:

- `U` - سيتم استرداد عناوين URL من archive.org (إذا لم يتم تمرير `-xwm`)، و commoncrawl.org (إذا لم يتم تمرير `-xcc`)، و otx.alienvault.com (إذا لم يتم تمرير `-xvv`) و urlscan.io (إذا لم يتم تمرير `-xus`)
- `R` - سيتم تنزيل الاستجابات من archive.org
- `B` - سيتم استرداد كل من عناوين URL والاستجابات

إذا كان الإدخال عبارة عن عنوان URL محدد، مثل `redbull.com/robots.txt` فإن `-mode` يتم تعيينه افتراضيًا على `R`. سيتم تنزيل الاستجابات فقط. لا يمكنك تغيير الوضع إلى `U` أو `B` لنطاق به مسار لأنه ليس من الضروري استرداد عناوين URL لعنوان URL محدد.

إذا كان الإدخال مجرد نطاق، مثل `redbull.com` فإن `-mode` يتم تعيينه افتراضيًا على `B`. يمكن تغييره إلى `U` أو `R` إذا لزم الأمر. عند تمرير نطاق فقط، يتم استرداد جميع عناوين URL / الاستجابات لذلك النطاق (والنطاقات الفرعية ما لم يتم تمرير `-n`). إذا تم تمرير خيار عدم وجود نطاق فرعي `-n`، فسيظل النطاق الفرعي `www` مدرجًا افتراضيًا.

## config.yml

يحتوي ملف `config.yml` (عادةً في `~/.config/waymore/`) على قيم يمكن تحديثها لتناسب احتياجاتك. يتم توفير جميع المرشحات كقوائم مفصولة بفواصل:

- `FILTER_CODE` - عمليات الاستبعاد المستخدمة لاستبعاد الاستجابات التي سنحاول الحصول عليها من web.archive.org، وأيضًا لأسماء الملفات عندما يكون `-i` دليلاً، مثل `301,302`. يمكن تجاوز ذلك باستخدام الوسيطة `-fc`. سيؤدي تمرير `-mc` (لمطابقة رموز الحالة بدلاً من التصفية) إلى تجاوز أي قيمة في `FILTER_CODE` أو `-fc`.
- `FILTER_MIME` - استبعادات MIME لنوع المحتوى المستخدمة لتصفية الروابط والاستجابات من web.archive.org عبر واجهة برمجة التطبيقات الخاصة بهم، مثل `'text/css,image/jpeg`. يمكن تجاوز ذلك باستخدام الوسيطة `-ft`. سيؤدي تمرير `-mt` (لمطابقة أنواع MIME بدلاً من التصفية) إلى تجاوز أي قيمة في `FILTER_MIME` أو `-ft`.
- `FILTER_URL` - استبعادات رمز الاستجابة التي سنستخدمها لتصفية الروابط والاستجابات من web.archive.org عبر واجهة برمجة التطبيقات الخاصة بهم، مثل `.css,.jpg`
- `FILTER_KEYWORDS` - سيتم إرجاع الروابط والاستجابات التي تحتوي على الكلمات المفتاحية المحددة فقط إذا تم تمرير الوسيطة `-ko`/`--keywords-only` (بدون توفير قيمة صريحة في سطر الأوامر)، مثل `admin,portal`
- `URLSCAN_API_KEY` - يمكنك التسجيل في [urlscan.io](https://urlscan.io/user/signup) للحصول على مفتاح API **مجاني** (هناك أيضًا اشتراكات مدفوعة متاحة). يوصى بالحصول على مفتاح ووضعه في ملف التكوين حتى تتمكن من الحصول على المزيد (وبسرعة أكبر) من واجهة برمجة التطبيقات الخاصة بهم. ملاحظة: سيتم تحديد معدل لك ما لم يكن لديك اشتراك مدفوع بالكامل.
- `CONTINUE_RESPONSES_IF_PIPED` - إذا لم يكتمل استرداد استجابات الأرشيف، فسيُطلب منك في المرة التالية ما إذا كنت تريد متابعة التشغيل السابق. ومع ذلك، إذا تم توجيه `stdout` إلى عملية أخرى، فمن المفترض أنك لا تريد ظهور موجه تفاعلي. ستحدد قيمة `True` (الافتراضية) استمرار التشغيل السابق. إذا كنت تريد تشغيلًا جديدًا في كل مرة فاضبطها على `False`.
- `WEBHOOK_DISCORD` - إذا تم تمرير الوسيطة `--notify-discord`، فسيرسل `waymore` إشعارًا إلى هذا webhook الخاص بـ Discord.
- `TELEGRAM_BOT_TOKEN` - إذا تم تمرير الوسيطة `--notify-telegram`، فسيستخدم `waymore` هذا الرمز المميز لإرسال إشعار إلى Telegram.
- `TELEGRAM_CHAT_ID` - إذا تم تمرير الوسيطة `--notify-telegram`، فسيرسل `waymore` الإشعار إلى معرف الدردشة هذا.
- `DEFAULT_OUTPUT_DIR` - هذا هو الموقع الافتراضي لأي ملفات إخراج مكتوبة إذا لم يتم استخدام الوسيطات `-oU` و`-oR`. إذا كانت قيمة هذا المفتاح فارغة، فسيتم تعيينها افتراضيًا على موقع ملف `config.yml`.
- `INTELX_API_KEY` - يمكنك التسجيل في [intelx.io هنا](https://intelx.io/product). يتطلب مفتاح API أكاديميًا أو مدفوعًا للقيام بـ `/phonebook/search` عبر واجهة برمجة التطبيقات الخاصة بهم (اعتبارًا من 2024-09-01، تم تقييد خدمة Phonebook للمستخدمين الأكاديميين أو المدفوعين بسبب سوء الاستخدام المستمر من قبل الحسابات غير المرغوب فيها). يمكنك الحصول على مفتاح API مجاني للاستخدام الأكاديمي إذا قمت بالتسجيل باستخدام عنوان بريد إلكتروني أكاديمي صالح.
- `SOURCE_IP` - اختياري. ربط طلبات HTTP/HTTPS الصادرة بعنوان IP مصدر معين على المضيفين متعددي الواجهات. يمكن أيضًا تعيينه عبر علامة CLI `--source-ip/--bind-ip` (تأخذ CLI الأولوية).

  **ملاحظة: لا يمكن تصفية أنواع MIME لـ Alien Vault OTX و Virus Total و Intelligence X لأنها لا تملك القدرة على التصفية حسب نوع MIME. أحيانًا لا يحتوي URLScan على نوع MIME محدد لعنوان URL. في هذه الحالات، سيتم تضمين عناوين URL بغض النظر عن التصفية أو المطابقة. ضع ذلك في الاعتبار وفكر في استبعاد بعض المزودين إذا كان ذلك مهمًا.**

## الإخراج

في دليل الإخراج الافتراضي المحدد في ملف `config.yml` باستخدام `DEFAULT_OUTPUT_DIR` (إذا كان فارغًا، فسيتم تعيينه افتراضيًا على موقع ملف `config.yml` نفسه، عادةً `~/.config/waymore/`)، سيتم إنشاء دليل `results`. داخله، سيتم إنشاء دليل باسم النطاق المستهدف (أو النطاق مع المسار) الذي تم تمريره باستخدام `-i` (أو لكل سطر من ملف تم تمريره باستخدام `-i`). يمكنك بدلاً من ذلك استخدام الوسيطة `-oU` لتحديد مكان إخراج ملف روابط URL (واسم الملف). يمكنك أيضًا استخدام الوسيطة `-oR` لتحديد دليل (أو مسار) حيث سيتم إخراج الاستجابات المؤرشفة.
عند التشغيل، يتم إنشاء الملفات التالية في الدليل المستهدف:

- `waymore.txt` - إذا كان `-mode` هو `U` أو `B`، سيحتوي هذا الملف على روابط من المصادر المحددة. سيتم استرداد الروابط من archive.org Wayback Machine (ما لم يتم تمرير `-xwm`)، و commoncrawl.org (ما لم يتم تمرير `-xcc`)، و otx.alienvault.com (ما لم يتم تمرير `-xav`) و urlscan.io (ما لم يتم تمرير `-xus`). إذا تم تمرير الخيار `-ow` أيضًا، فسيتم استبدال أي ملف `waymore.txt` موجود في دليل النتائج المستهدف، وإلا فسيتم إلحاق روابط جديدة وإزالة التكرارات.
- `index.txt` - إذا كان `-mode` هو `R` أو `B`، ولم يتم تمرير `-url-filname`، فسيتم تنزيل الاستجابات المؤرشفة وسيتم استخدام قيم التجزئة (hash) لأسماء الملفات المحفوظة. يحتوي هذا الملف على قائمة مفصولة بفواصل من `<hash>,<archive URL>,<timestamp>` في حال احتجت إلى معرفة عناوين URL التي أنتجت أي استجابة.
- `جميع الملفات الأخرى` - سيتم إنشاء ملفات الاستجابة المؤرشفة هذه إذا كان `-mode` هو `R` أو `B`. إذا تم تمرير `-url-filename`، فستكون أسماء الملفات هي عنوان URL المؤرشف الذي أنشأ الاستجابة، مثل `https--example.com-robots.txt`، وإلا فسيكون اسم الملف قيمة تجزئة، مثل `7960113391501.{EXT}` حيث `{EXT}` سيكون الامتداد المشتق من المسار، وإلا فسيتم اشتقاقه من `content-type` للاستجابة. أحيانًا يتم إعطاء امتدادات عامة، مثل `.js` لأي نوع محتوى يحتوي على الكلمة `javascript`، وإلا فقد يتم تعيينه إلى الجزء الأخير من النوع (مثل إذا كان `application/java-archive` فسيكون الملف `7960113391501.java-archive`). استخدام قيم التجزئة يعني أنه سيتم كتابة ملفات أقل حيث سيكون هناك ملف واحد فقط لكل استجابة فريدة. يتم تحرير هذه الاستجابات المؤرشفة، قبل الحفظ، لإزالة أي إشارة إلى `web.archive.org`.

## معلومات واقتراحات

يمكن أن يكون عدد الروابط التي تم العثور عليها، ومن ثم عدد ملفات الاستجابات المؤرشفة التي ستقوم بتنزيلها، **ضخمًا** للعديد من النطاقات. هذه الأداة ليست حول السرعة، إنها حول إيجاد المزيد، لذا كن صبورًا.

هناك خيار `-p` لزيادة عدد العمليات (المستخدمة عند استرداد الروابط من جميع المصادر، وتنزيل الاستجابات المؤرشفة من archive.org). ومع ذلك، على الرغم من أنه قد لا يكون بالسرعة التي ترغب بها، أقترح ترك `-p` على القيمة الافتراضية 3 لأنني شخصيًا وجدت مشاكل في الحصول على استجابات بقيم أعلى. لا نريد أن نسبب أي مشاكل لهذه الخدمات، لذا كن معقولاً!

غالبًا ما أستخدم الخيار `-f` لأنني أريد أن يحتوي `waymore.txt` على جميع الروابط الممكنة. على الرغم من أنني لا أهتم بالصور والخطوط وما إلى ذلك، إلا أنه قد يكون من المفيد رؤية جميع المسارات الممكنة وربما المعلمات. سيتم دائمًا تطبيق أي مرشحات على تنزيل الاستجابات المؤرشفة بالرغم من ذلك. لا تريد إضاعة الوقت في تنزيل آلاف الصور!

يمكن أن يساعد استخدام الخيار `-v` في رؤية ما يحدث خلف الكواليس وقد يساعدك إذا لم تحصل على الإخراج الذي تتوقعه.

سيتم عرض جميع أنواع MIME لنوع المحتوى لعناوين URL التي تم العثور عليها (بواسطة جميع المصادر باستثناء Alien Vault) عند استخدام `-v`. قد يساعد ذلك في إضافة استثناءات إضافية إذا وجدت أنك لا تزال تحصل على أشياء لا تريد رؤيتها. إذا لاحظت نوع MIME يتم تضمينه ولكنك لا تريده في المستقبل، فأضفه إلى `FILTER_MIME` في `config.yml`.
تجدر الإشارة إلى أنه في بعض الأحيان يتم تخزين نوع MIME على archive.org كـ `unk` و `unknown` بدلاً من نوع MIME الحقيقي، لذا لن يزيله المرشح بالضرورة من نتائجهم. يمكن استخدام إعدادات `FILTER_URL` في التكوين لإزالتها بعد ذلك. على سبيل المثال، إذا كان ملف GIF لديه نوع MIME `unk` بدلاً من `image/gif` (وهذا موجود في `FILTER_MIME`) فلن يتم تصفيته، ولكن إذا كان عنوان URL هو `https://target.com/assets/logo.gif` و`.gif` موجود في `FILTER_URL` فلن يتم طلبه.

إذا لم يكن `config.yml` موجودًا، أو لم تكن الإدخالات الخاصة بالمرشحات موجودة في الملف، فسيتم استخدام المرشحات الافتراضية. من الأفضل أن يكون لديك الملف ومراجعة هذه الإعدادات لضمان حصولك على ما تحتاجه.

يمكن أن يكون هناك ملايين الاستجابات المحتملة، لذا تأكد من تعيين المرشحات، ولكن أيضًا الحد (`-l`) وتاريخ البدء (`-from`) وتاريخ الانتهاء (`-to`) و/أو فترة الالتقاط (`-ci`) إذا كنت بحاجة. الحد الافتراضي هو 5000، ولكن لنقل أنك تريد الحصول على أحدث 20,000 استجابة من عام 2015 حتى يناير 2018... ستمرر `-l 20000 -from 2015 -to 201801`. تحدد فترة الالتقاط عدد الاستجابات التي سيتم تنزيلها لعنوان URL معين خلال فترة محددة، مثل إذا قمت بتعيينها إلى `m` فستحصل على استجابة واحدة فقط شهريًا لعنوان URL. الافتراضي `d` سيقلل على الأرجح عدد الاستجابات بشكل كبير ومن غير المحتمل أن يفوتك العديد من الاستجابات الفريدة إلا إذا قام الهدف بتغيير شيء ما أكثر من مرة في اليوم.

هناك وسيطة مفيدة أخرى وهي `-mc` التي ستحصل فقط على النتائج التي يتطابق فيها رمز حالة HTTP مع القائمة المفصولة بفواصل التي تم تمريرها، مثل `-mc 200` أو `-mc 200,403`.

يمكنك أيضًا تقليل العدد (وبالتالي تقليل وقت التنفيذ) للروابط والاستجابات بشكل كبير عن طريق إرجاع تلك التي تحتوي على كلمات مفتاحية تهمك فقط. يمكنك سرد هذه الكلمات المفتاحية في `config.yml` باستخدام مفتاح `FILTER_KEYWORDS` ثم تمرير الوسيطة `-ko`/`--keywords-only` لاستخدامها، أو يمكنك تمرير `-ko`/`--keywords-only` مع تعبير Regex محدد، مثل `-ko "\.js(\?.*|$)"` للحصول على ملفات JS فقط. **ملاحظة: يتطلب CDX regex تطابق جميع المسارات مع السلسلة الكاملة، لذا إذا تم استخدام `$` كجزء من مجموعة OR، فإن `.*` مطلوبة في جزء regex `(\?.*|$)`.**

كما ذكر أعلاه، سجل في [urlscan.io](https://urlscan.io/user/signup) للحصول على مفتاح API **مجاني** (هناك أيضًا اشتراكات مدفوعة متاحة). يوصى بالحصول على مفتاح ووضعه في ملف `config.yml` حتى تتمكن من الحصول على المزيد (وبسرعة أكبر) من واجهة برمجة التطبيقات الخاصة بهم. ملاحظة: سيتم تحديد معدل لك ما لم يكن لديك اشتراك مدفوع بالكامل.

قد تتطلب واجهة برمجة تطبيقات CDX الخاصة بـ archive.org Wayback Machine أحيانًا عددًا هائلاً من الطلبات للحصول على جميع الروابط. على سبيل المثال، إذا قمت بتشغيل **waymore** لـ `-i twitter.com` فإنه يقول أن هناك **28,903,799** طلبًا إلى archive.org يجب إجراؤها (قد يستغرق ذلك ما يقرب من 1000 يوم لبعض الأشخاص!!!). يمكن استخدام الوسيطة `-lr` للحد من عدد الطلبات لكل مصدر (على الرغم من أن المشكلة عادةً ما تكون في archive.org). القيمة الافتراضية للوسيطة هي 0 (صفر) والتي لن تطبق أي حد.

هناك أيضًا مشكلة في واجهة برمجة تطبيقات CDX الخاصة بـ Wayback Machine حيث أن عدد الصفحات التي يتم إرجاعها غير صحيح عند تطبيق المرشحات ويمكن أن يسبب مشاكل (انظر https://github.com/internetarchive/wayback/issues/243). حتى يتم حل تلك المشكلة، يمكن أن يساعد تعيين الوسيطة `-lr` إلى قيمة معقولة في التعامل مع تلك المشكلة على المدى القصير.

واجهة برمجة تطبيقات Common Crawl تعاني من الكثير من المشاكل لفترة طويلة. قد يؤدي تضمين هذا المصدر إلى جعل waymore يستغرق وقتًا أطول بكثير وقد لا يسفر عن نتائج إضافية. يمكنك التحقق من وجود مشكلة عن طريق زيارة http://index.commoncrawl.org/collinfo.json ومعرفة ما إذا كان ذلك ناجحًا. فكر في استبعاد Common Crawl تمامًا باستخدام الوسيطة `--providers` وعدم تضمين `commoncrawl`، أو استخدام الوسيطة `-xcc`.

**خوادم API الخاصة بالمزودين ليست مصممة للتعامل مع الأحجام الهائلة، لذا كن معقولًا ومراعيًا فيما ترسله لهم!**

عند تنزيل الاستجابات المؤرشفة، قد يستغرق ذلك وقتًا طويلاً وقد يتم قتلها بواسطة الجهاز لسبب ما، أو قتلها يدويًا بواسطة المستخدم.
في دليل `results` الخاص بالأهداف، يتم إنشاء ملف باسم `responses.tmp` في بداية العملية ويحتوي على جميع عناوين URL للاستجابة التي سيتم استردادها. سيكون هناك أيضًا ملف باسم `continueResp.tmp` يخزن فهرس آخر استجابة تم استردادها. إذا تم تشغيل `waymore` للحصول على استجابات (`-mode R` أو `-mode B`)، وكانت هذه الملفات موجودة، فهذا يعني وجود تشغيل سابق غير مكتمل، وسيُسأل عما إذا كنت تريد متابعة ذلك بدلاً من ذلك. بعدها سيستمر من حيث توقف سابقًا.

## بعض الأمثلة الأساسية

### مثال 1

فقط احصل على عناوين URL من جميع المصادر لـ `redbull.com` (`-mode U` مخصص فقط لعناوين URL، لذلك لا يتم تنزيل استجابات):

<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example1.png"></center>

يتم حفظ عناوين URL في نفس مسار `config.yml` (عادةً `~/.config/waymore`) تحت `results/redbull.com/waymore.txt`

### مثال 2

احصل على جميع عناوين URL من Wayback لـ `redbull.com` (لا يتم تطبيق أي مرشحات في الوضع `U` مع `-f`، ولا يتم استرداد عناوين URL من Common Crawl، Alien Vault، URLScan و Virus Total، لأنه تم تمرير `-xcc`، `-xav`، `-xus`، `-xvt` على التوالي. يمكن تحقيق ذلك أيضًا بتمرير `--providers wayback` بدلاً من وسيطات الاستبعاد).
احفظ أول 200 استجابة تم العثور عليها بدءًا من عام 2022 (`-l 200 -from 2022`):

<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example2.png"></center>

لم يتم تعيين `-mode` بشكل صريح لذا فهو افتراضيًا `B` (كلاهما - استرداد عناوين URL وتنزيل الاستجابات).
سيتم إنشاء ملف لكل استجابة فريدة وسيتم حفظه أيضًا في `results/redbull.com/`:

<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example3.png"></center>

سيكون هناك أيضًا ملف `results/redbull.com/index.txt` يحتوي على مرجع لأي عناوين URL أعطت الاستجابة لأي ملف، على سبيل المثال:```
4847147712618,https://web.archive.org/web/20220426044405/https://www.redbull.com/additional-services/geo ,2022-06-24 20:07:50.603486

حيث 4847147712618 هي قيمة التجزئة للاستجابة في 4847147712618.xnl، القيمة الثانية هي رابط Wayback Machine حيث يمكنك عرض الصفحة الفعلية التي تم أرشفتها، والثالثة هي طابع زمني لتوقيت تنزيل الاستجابة.

مثال 3

يمكنك توجيه (pipe) waymore إلى أدوات أخرى. يتم إرسال أي أخطاء إلى stderr وأي روابط يتم العثور عليها تُرسل إلى stdout. لا يزال ملف الإخراج يتم إنشاؤه بالإضافة إلى الروابط التي يتم توجيهها إلى البرنامج التالي. ومع ذلك، لا يتم توجيه الاستجابات المؤرشفة إلى البرنامج التالي، ولكنها لا تزال تُكتب إلى الملفات. على سبيل المثال:``` waymore -i redbull.com -mode U | unfurl keys | sort -u

root@kitploit:~
يمكنك أيضًا تمرير الإدخال عبر `stdin` بدلاً من `-i`.```
cat redbull_subs.txt | waymore

مثال 4

في بعض الأحيان قد ترغب فقط في التحقق من عدد الطلبات، والمدة التي من المحتمل أن يستغرقها waymore إذا قمت بتشغيله لنطاق معين. يمكنك إجراء فحص سريع باستخدام الوسيط -co/--check-only. على سبيل المثال:``` waymore -i redbull.com --check-only

root@kitploit:~
<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example4.png"></center>

## إيجاد المزيد من عناوين URL!

إذن لديك الآن الكثير من الردود المؤرشفة وتريد العثور على روابط إضافية؟ سهل! لماذا لا تستخدم [xnLinkFinder](https://github.com/xnl-h4ck3r/xnLinkFinder)؟
على سبيل المثال:```
xnLinkFinder -i ~/Tools/waymore/results/redbull.com -sp https://www.redbull.com -sf redbull.com -o redbull.txt

أو قم بتشغيل أدوات أخرى مثل trufflehog أو gf على مجلد الردود للعثور على المزيد من الردود المؤرشفة!

تعليمات متعمقة

أدناه محادثة متعمقة قدمتها لقناة Jason Haddix's discord في مارس 2024 لتغطية كل شيء تحتاج معرفته عن waymore.

ملاحظة: هذا الفيديو من مارس 2024، لذا فإن أي ميزات تمت إضافتها بعد ذلك لن تظهر، وقد تكون بعض الميزات قد تغيرت. يرجى التحقق مرة أخرى من التعليمات الحالية.

محادثة waymore

المشكلات

إذا واجهت أي مشاكل على الإطلاق، أو كانت لديك أفكار للتحسينات، فلا تتردد في فتح مشكلة على Github. إذا كانت هناك مشكلة، فسيكون من المفيد تقديم الأمر الدقيق الذي قمت بتشغيله ووصف تفصيلي للمشكلة. إذا كان ذلك ممكنًا، قم بتشغيل الأمر مع -v لإعادة إنتاج المشكلة وأخبرني عن أي رسائل خطأ تظهر.

المهام المتبقية

  • إضافة وسيط -oos يقبل ملفًا من النطاقات الفرعية/الروابط خارج النطاق التي لن يتم إرجاعها في الإخراج، أو تحميل أي ردود عليها.
  • ملف waymore_index.txt لا يتم إزالة التكرارات فيه إذا تم تشغيله عدة مرات لنفس الإدخال باستخدام -mode R أو -mode B.
  • إعادة الكتابة للحصول على البيانات من المصادر بالتوازي. حاليًا يتم تشغيلها تباعًا آسف!

المراجع

  • Wayback CDX Server API - BETA
  • Common Crawl Index Server
  • Alien Vault OTX API
  • URLScan API
  • VirusTotal API (v2)
  • Intelligence X SDK
  • GhostArchive

حظ سعيد وصيد موفق! إذا كنت تحب الأداة حقًا (أو أي أدوات أخرى)، أو ساعدتك في العثور على مكافأة رائعة، فكر في شراء قهوة لي! ☕ (يمكنني استخدام الكافيين!)

🤘 /XNL-h4ck3r

تنزيل الأداة
-mode
R
-oR
/results
DEFAULT_OUTPUT_DIR
config.yml
~/.config/waymore/
-i
-i
-oU ~/Recon/Redbull/waymoreUrls.txt
/results
DEFAULT_OUTPUT_DIR
config.yml
~/.config/waymore/
-i
-i
-oR ~/Recon/Redbull/waymoreResponses
FILTER_CODE
config.yml
config.yml
FILTER_MIME
config.yml
config.yml
ملاحظة: لن يتم تطبيق هذا على Alien Vault OTX و Virus Total و Intelligence X لأنها لا تملك القدرة على التصفية حسب نوع MIME. أحيانًا لا يحتوي URLScan على نوع MIME محدد - سيتم تضمين هذه دائمًا. ضع في اعتبارك استبعاد المصادر إذا كان هذا يهمك.
FILTER_CODE
-fc
FILTER_MIME
-ft
ملاحظة: لن يتم تطبيق هذا على Alien Vault OTX و Virus Total و Intelligence X لأنها لا تملك القدرة على التصفية حسب نوع MIME. أحيانًا لا يحتوي URLScan على نوع MIME محدد - سيتم تضمين هذه دائمًا. ضع في اعتبارك استبعاد المصادر إذا كان هذا يهمك.
-mode R
-mode B
أول N
آخر N
جميع
2016
201805
هام: هناك بعض الاستثناءات مع المصادر التي لا تستطيع جلب عناوين URL ضمن حدود التاريخ: Virus Total - سيظل إرجاع جميع النطاقات الفرعية المعروفة؛ Intelligence X - سيظل إرجاع جميع عناوين URL.
2021
202112
هام: هناك بعض الاستثناءات مع المصادر التي لا تستطيع جلب عناوين URL ضمن حدود التاريخ: Virus Total - سيظل إرجاع جميع النطاقات الفرعية المعروفة؛ Intelligence X - سيظل إرجاع جميع عناوين URL.
h
d
m
d
none
نصيحة: سيتم إخراج المطابقات الإيجابية فقط. استخدم علامات الاقتباس المفردة لتجنب توسيع الصدفة، على سبيل المثال -ra '\.js(\?\|$)'
-lcc 10
10
0
جميع
-xcc
SOURCE_IP
config.yml
config.yml
~/.config/waymore/
FILTER_KEYWORDS
-ko "admin"
admin
-ko "\.js(\?.*\|$)"
ملاحظة: يتم استخدام النمط كمرشح مسبق تقريبي على Wayback CDX API (ملفوف كـ .pattern.، لذا قد لا تعمل المراسي مثل $ كما هو متوقع على مستوى CDX)، ثم يتم تطبيقه تمامًا كـ Regex Python محليًا. استخدم علامات الاقتباس المفردة لتجنب توسيع الصدفة لـ $ والأحرف الخاصة الأخرى.
waymore.txt
-oU
waymore.new
-oU
.new
mode U
mode R
-mode U
-v
-oU
config.yml
~/.config/waymore
429
429
WEBHOOK_DISCORD
config.yml
TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID
config.yml
-mode R
-mode B
combinedInline{}.js
{}
combinedInlineSrc.txt
src