
أداة استطلاع تتيح البحث في عناوين URL المكشوفة عبر خدمات تقصير الروابط
o Utku Sen's
_/\o
( Oo) |/
(=-) .===O- U -O-
/ _/U' hunter /|RL
|| |/
\ | utkusen.com
|K || twitter.com/utkusen_en
urlhunter هي أداة استطلاع تتيح البحث عن عناوين URL التي تم كشفها عبر خدمات تقصير الروابط مثل bit.ly و goo.gl. المشروع مكتوب بلغة Go.
### كيف؟
مجموعة تدعى [URLTeam](https://archiveteam.org/index.php?title=URLTeam) (تحية لهم) تقوم بهجمات القوة العمياء على خدمات تقصير الروابط وتنشر النتائج المطابقة بشكل يومي. يقوم urlhunter بتنزيل [مجموعاتهم](https://archive.org/details/UrlteamWebCrawls) ويتيح لك تحليلها.
# التثبيت
## من الملف الثنائي
يمكنك تنزيل الملفات الثنائية المجمعة مسبقًا من صفحة [الإصدارات](https://github.com/utkusen/urlhunter/releases/latest) وتشغيلها. على سبيل المثال:
`tar xzvf urlhunter_0.1.0_Linux_amd64.tar.gz`
`./urlhunter --help`
## من المصدر
1) قم بتثبيت Go على نظامك
2) قم بتشغيل: `go install github.com/utkusen/urlhunter@latest`
**ملاحظة لمستخدمي Windows:** يستخدم urlhunter `XZ Utils` المثبتة مسبقًا على أنظمة Linux و macOS. بالنسبة لأنظمة Windows، تحتاج إلى تنزيلها من [https://tukaani.org/xz/](https://tukaani.org/xz/)
# الاستخدام
يتطلب urlhunter 3 معاملات للتشغيل: `-keywords`، `-date`.
على سبيل المثال: `urlhunter --keywords keywords.txt --date 2020-11-20`
### --keywords
تحتاج إلى تحديد ملف txt يحتوي على الكلمات المفتاحية للبحث في عناوين URL. يجب كتابة الكلمات المفتاحية سطرًا سطرًا. لديك ثلاث طرق مختلفة لتحديد الكلمات المفتاحية:
**كلمة مفتاحية واحدة:** سيبحث urlhunter عن الكلمة المفتاحية المعطاة كجزء فرعي. على سبيل المثال:
`acme.com` keyword will both match `https://acme.com/blabla` and `https://another.com/?referrer=acme.com`
**كلمات مفتاحية متعددة:** سيبحث urlhunter عن الكلمات المفتاحية المعطاة بمنطق `AND`. وهذا يعني أن عنوان URL يجب أن يحتوي على جميع الكلمات المفتاحية المقدمة. يجب فصل الكلمات المفتاحية بفاصلة `,`. على سبيل المثال:
`acme.com,admin` ستطابق `https://acme.com/secret/adminpanel` لكن **لن** تطابق `https://acme.com/somethingelse`
**قيم Regex:** سيبحث urlhunter عن قيمة regex المعطاة. في ملف الكلمات المفتاحية، يجب أن يبدأ السطر الذي يحتوي على صيغة تعبير عادي بـ `regex `. الصيغة هي: `regex REGEXFORMULA`. على سبيل المثال:
`regex 1\d{10}` ستطابق `https://example.com/index.php?id=12938454312` لكن **لن** تطابق `https://example.com/index.php?id=abc223`
### --date
يقوم urlhunter بتنزيل ملفات الأرشيف للتاريخ (أو التواريخ) المحددة. لديك ثلاث طرق مختلفة لتحديد التاريخ:
**الأحدث:** سيقوم urlhunter بتنزيل أحدث أرشيف. `-date latest`
**تاريخ واحد:** سيقوم urlhunter بتنزيل الأرشيف للتاريخ المحدد. تنسيق التاريخ هو YYYY-MM-DD. على سبيل المثال: `-date 2020-11-20`
**سنة:** سيقوم urlhunter بتنزيل الأرشيف للسنة المحددة. تنسيق السنة هو YYYY. على سبيل المثال: `-date 2024`
**نطاق تاريخ:** سيقوم urlhunter بتنزيل جميع الأرشيفات بين تاريخي البداية والنهاية المحددين. على سبيل المثال: `-date 2020-11-10:2020-11-20`
### --output
يمكنك تحديد ملف الإخراج باستخدام المعامل `-o`. على سبيل المثال `-o out.txt`
### --rm
يمكنك تحديد المعامل `-rm` لحذف مجلدات الأرشيف التي تم تنزيلها بعد المعالجة. هذا مفيد لتوفير مساحة القرص.
### فيديو توضيحي
[](https://www.youtube.com/watch?v=Ct086YRm7i8)
## مشكلة السرعة
يقوم Archive.org بتقييد السرعة عند تنزيل الملفات. لذلك، يستغرق تنزيل الأرشيف وقتًا أطول من المعتاد. كحل بديل، يمكنك تنزيل الأرشيفات عبر Torrent ووضعها تحت مجلد `archive/` الموجود في نفس الدليل مع الملف الثنائي لـ urlhunter. سيكون هيكل الدليل بالشكل التالي:
|-urlhunter |---urlhunter(binary) |---archive |-----urlteam_2020-11-20-11-17-04 |-----urlteam_2020-11-17-11-17-04
## حالات استخدام مثال
قد يكون urlhunter مفيدًا لأغراض الاستخبارات السيبرانية وبرامج مكافآت الأخطاء. على سبيل المثال:
`docs.google.com/a/acme.com` `drive.google.com/a/acme.com` تتيح لك العثور على روابط المشاركة العامة لمستندات Google وDrive لشركة Acme.
`acme.com,password_reset_token` قد تتيح لك العثور على رموز إعادة تعيين كلمة المرور الصالحة لـ acme.com
`trello.com` تتيح لك العثور على عناوين Trello العامة.
## الشكر
شكر خاص لـ Samet Bekmezci([@sametbekmezci](https://twitter.com/sametbekmezci)) الذي أتاني بفكرة هذه الأداة.