عاجل

جمع المعلومات باستخدام أداتي theharvester و metagoofil

 سنبدأ بالتحدث عن أداتي  theharvester و metagoofil التي ستمكننا من جمع معلومات من خلال المصادر التي تم شرحها في الفيديوهات السابقة ولكن بشكل آلي. والتي ستوفر عليك الوقت والجهد والنتائج التي ستجمعها هذه الأدوات سترتبها لك بشكل جيد وتخزينها في ملفات وتقارير بامتدادات مختلفة سواء xml أو html وغيرها. وبالتالي ستكون هذه الأدوات وفرت الجهد ورتبت البيانات وسرعت جمع المعلومات من جميع المصادر وسهلت الأمر عليك.

 من الأدوات التي سنتحدث عنها تباعاً هي:

Theharvester و Multigo و Fierce و FOCA و Recon-NG و Metagoofil و Dmitry وغيرها ومعظمها موجودة على Kali Linux لذا سنشغل توزيعة Kali Linux ونشغل سطر الأوامر وسنقوم بالتعامل مع الأدوات بالتفصيل 

Theharvester

التعامل مع هذه الاداة بالشكل التالي، أكتب:  Theharvester وأنقر enter وتظهر جميع الخيارات التي يمكنني استخدامها مع هذه الأداة بالإضافة إلى مجموعة من الأمثلة التي يمكننا كتابة أوامر على غرارها هذه الأداة يمكنها القيام بعدد من الأمور: جمع البريد الإلكتروني للموظفين في الجهة الهدف، جمع أسماء الموظفين الموجودين في الجهة، جمع تغريدات وبيانات من linkedIn جمع نطاقات الفرعية و Virtual host عمل Brute Force على DNS وبالتالي معرفة أسماء النطاقات الفرعية غير الموجودة وغير الظاهرة في محركات البحث أو التي لا يمكن استرجاعها من خلال DNS بشكل مباشر وبالتالي تجمع لنا مجموعات كثيرة 

الخيار -d

أول خيار في هذه الأداة، وتعني أنه يتبعه إسم الدومين أو الشركة الهدف المراد البحث من خلالها، فإن أردنا البحث من شركة cisco فنكتب: -d ثم cisco ولو أردنا البحث عن طريق الدومين الخاص ب cisco نكتب: -d cisco.com  لو أردت البحث عن شركة Microsoft: -d Microsoft.com باختصار –d تتبعها إما إسم الجهة الهدف أو النطاق الخاص بهذه الجهة.

الخيار –b

ويقصد بها مصدر البيانات الذي ستقوم هذه الأداة بجمعه، في دروس سابقة قلنا إنه يمكن جمع المعلومات أو البيانات حول هدف معين من خلال Google أو linkedIn ومواقع مختلفة وبالتالي –b تعني مصدر البيانات التي سنقوم بجمع المعلومات من خلالها هناك العديد من مصادر البيانات التي يمكن جمع المعلومات من خلالها عن طريق هذه الأداة، فإن قلت له: -b Google أي اجمع لي من Google أو –b bing أي اجمع لي من Bing، وهكذا فإن قلت له: -b all أي اجمع لي من جميع هذه المصادر يمكن أن تكون بعض المصادر تحتاج إلى API أو  Application Programming Interface وهذا يعني بأنه لجمع المعلومات من إحدى هذه الخدمات مثل bing API ستقوم بتجميع من موقع bing  بحساب خاص بك ستقوم بعمل حساب مطور وستحصل على مفتاح وكلمة مرور خاصة ب API لتضيفها إلى الأداة، هذا يحدث أيضاً مع بعض الأدوات الأخرى 

الخيار –s

هذه الأداة ستبحث في مجموعة من مصادر البيانات، فلو نبحث في Google بشكل اعتيادي عن موقع cisco ستظهر العديد من النتائج. -s تعني من أي نتيجة تبدأ بجمع المعلومات، والأفضل تركها افتراضية لأن الإفتراضي يعني البدء من أول قيمة وتحتاج اختيار هذه الأداة إذا أردت تجاوز أول 20 قيمة وأول 30 نتيجة تقوم بكتابة –s30 أي تجاوز أول ثلاثين وابدأ من بعدها 

الخيار -v

ستبحث عن Virtual Host بمواقع البحث وفي مصادر البيانات التي اخترتها فلو أردنا جمع معلومات حول cisco.com وقام المخترق بجمع معلومات وفحص موقع cisco ولم يجد أي ثغرة داخل هذا الموقع بالتالي يمكنه معرفة ال Virtual Host وهو كالتالي: كلنا نعرف أن موقع الالكتروني موجود على server وserver له IP Address ويمكن أن يكون نفس server لهذا IP Address مرتبط معه أكثر من إسم نطاق، وخاصة بشركات الاستضافة التي تقدم استضافة share Hosting يكون هناك عشرات ومئات domain names مرتبطة مع نفس IP Address لأنها كلها على نفس server تقوم شركات الاستضافة بعمل على كل domain name على configuration الخاص بال web server سواء كان Apache أو IS تقوم بعمل Virtual Host وتربط هذا الدومين بال Virtual Host وبالتالي لو أردنا فحص cisco.com ولم نجد فيه ثغرات سنقوم بجمع ال Virtual Host ووجدنا أن هناك موقع يدعى cisco2.com فحصناه لأنه على نفس السيرفر ووجدنا فيه ثغرات فاخترقنا cisco2.com واخترقنا السيرفر و  cisco.com. هذا مثال ل Virtual Host.

الخيار _f

تعني قم بتخزين النتائج الخاصة بهذه الأداة على شكل ملفين html و xml

الخيار -m

تعني جميع domain names أو subdomain names التي تم جمعها من خلال مصدر البيانات الذي قمنا باختياره هنا الخاصة بالدومين الذي بحثنا عنه مثلاً cisco فتم إيجاد acisco.com ،  bcisco.com وهكذا، قم بمعرفة IP Address الخاص بها وقم بما يدعى بال reverselookup وهو ما ذكرناه في الدرس السابق أنه يتم إرسال IP Address و dns server سيقوم بإرجاع جميع النطاقات المرتبطة مع هذا IP Address هذا بشكل مبسط.

الخيار -c

المقصود بها عمل Brute force على DNS ال Brute force كالتالي: في هذه الأداة يوجد ملف اسمه dns –name .txt وبه مجموعة من الكلمات. تقوم الأداة بإضافة كل كلمة من هذه الكلمات قبل cisco.com فمثلاً الكلمة الأولى كانت x فيصبح x.cisco.com ، الكلمة الثانية Dns تصبح dns.cisco.com ، وتحاول إيجاد هل هذا ال subdomain له ارتباط بشركة cisco أو لا فهذا هو المقصود ب Brute force ، محاولة إيجاد بعض النطاقات الفرعية للدومين المراد البحث عنه وغير المتوفر سواء بمحرك البحث أو بالاستعلامات العادية التي نقوم بعملها.

الخيار -t

مقصود بها اعمل ما يسمى TLD Expansion Discovery  وهي TOP Level Domain وهي تعني سيرفرات ال DNS التي تستضيف النطاقات التالية .com فيوجد سيرفرات خاصة ب .com ومجموعة خاصة ب .net ومجموعة سيرفرات يوجد عليها معلومات مثل .org و .academy وهكذا

الخيار -e

وتعني إن أردت البحث من خلال DNS server محدد سنقوم بكتابة –e ثم IP Address أو عنوان DNS الخاص بالأداة.

الخيار -l

تعني أننا لو اخترنا Goolge Datasource فإن Google بشكل افتراضي تبحث هذه الأداة في النتائج المائة الأول ونعرف أن Google تظهر لي النتائج بشكل افتراضي أول عشرة نتائج ثم الصفجة التالية والتالية لحد آخر نتيجة وبالتالي بشكل افتراضي ستبحث في أول 100 نتيجة، ونحن هنا إذا أردنا ان نبحث في عدد أكبر من النتائج سنحدد –l ثم سنقوم بكتابة القيمة المرادة مثلاً: -l 500 يعني ابحث في أول 500 نتيجة -l لو اخترنا مصدر بيانات Google ستبحث في أول 100 نتيجة، بالنسبة ل bing ستبحث في أول 50 نتيجة -l لو اخترنا مصدر بيانات Google ستبحث في أول 100 نتيجة، بالنسبة ل bing ستبحث في أول 50 نتيجة.

الخيار -h

تعني ما يلي: جميع IP Addresses و DNS التي قمت بجمعها من خلال Google، حاول أن تبحث عنها بال shodan search Engine الذي ذكرناه سابقاً بشكل اتوماتيكي ولكن بهذه الحالة يجب أن تقوم بالتسجيل في shodan والحصول على API من خلال shodan وتزويده بالأداة التي تقوم بالبحث من خلالها. 

مثال أول

أول مثال سنقوم بالتعامل معه هو التالي:

Theharvester –d cisco.com

ويعني أني أريد البحث عن إسم cisco ، وبعد ذلك نريد أن نبحث في المصدر فلو أردنا البحث في Google  سنقوم بكتابة: Theharvester –d cisco.com –b google ولو أردت في Bing  أكتبها مكان Google ولو أردت في تويتر أكتبه مكان Google وهكذا. ولو أردت البحث في جميعها أكتب Theharvester –d cisco.com –b all أنا سأقوم بالبحث في Google لأسرع العمل. سنقوم بالضغط على Enter وستبدأ عملية البحث وستبحث في أول مائة نتيجة وذلك لأننا قلنا أن الإفتراضي –l  قيمتها 107 في أول مائة نتيجة بالتالي من المئة الأولى تم إيجاد أنه هناك بريداً الكترونياً اسمه arin-tech@cisco.com وتم إيجاد ال DNS من خلال مواقع البحث لل Domain names لو كتبت: theharvester –dcisco.com –b google لو أردنا البحث عن virtual host سأقوم بإضافة: -v وأضغط Enter سأجد أن هذه الأداة حصلت على مجموعة من البيانات الافتراضية، ويمكننا القيام بفحص المعلومات عنها ولو أردنا هذه النتائج أن نقوم بتخزينها في ملف سأختار –f لكن الملف سيتم تخزينه بنفس المكان الذي سنقف عليه فنحن موجودين على root فسأقول له:

 cd desktop/mkdir cisco

ومن ثم سنقول له: cd cisco/

Dwd

The harvester –d cisco.com –b google –v –f result

سيتم الآن جمع البيانات وتخزينها في ملفي result.html و result.xml لاستعراض الملف أدخل إلى المجلد الذي أنشأته وأرى الملفين html و xml أقوم بتشغيل html تظهر البيانات التي تم جمعها وتخزينها هذا يساعدنا في كتابة التقرير وحتى الرسمة ستساعدنا في عملية  كتابة التقرير الخاص بالإختراق الأخلاقي.

الخيار -n

ستقوم بعمل reverse dns lookup ولكن هذا الأمر سيأخذ وقتاً طويلاً، بأن أضعه قبل –f واضغط enter وسيقوم بالعمل بالشكل التالي : جميع ال IPs الموجودة  سيقوم بأخذ كل IP وسيبحث في ال Range داخل كل IP Address عن جميع ال Domains المرتبطة مع ال IPs بنفس ال Range .

الخيار -c

ستقوم بعمل Brute Force بمعنى يوجد ملف ns-name.txt يحوي مجموعة كبيرة من الكلمات ستقوم هذه الأداة بإضافة كل كلمة قبل cisco.com فتصبح الكلمة .cisco.com كما ذكرنا سابقاً وستقوم بالبحث عن كل دومين هل هو موجود أم لا وإن كان موجوداً سترجعه لي وإن لم يكن موجوداً لن ترجعه لي، وبالتالي يمكنني معرفة بعض النطاقات الفرعية الخاصة بالشركة الهدف وغير المتوفرة على مواقع البحث والتي لا يتعود بال dns query العادية. عندما أقوم ب nslookup أو dig أو غيرها

مثلاً

لو قمت بهذا الخيار: theharvester –d cisco.com –b goole –v –c –f result

فيضيف الكلمات قبل cisco وأحضر الكلمات من dns-names.txt .

بعد أن ينتهي أقوم بتشغيل ملف result وألاحظ أن هناك نتائج إضافية أخرى جديدة نتيجة ال Brute force وجد نطاقات جديدة.

وهذا أمر مفيد لأي مختبر إختراق وهي من العمليات الأساسية التي يجب على المخترق بجمعها ليقوم بتقليص المجال الذي سيقوم بعمل فحص أو إختبار إختراق عليه.

والملف بشكل افتراضي غير موجود في مجلد theharvester فكيف أعرف النتائج وأنسخ مابه؟

أكتب : cd/usr/share/golismero/tools/theharvester/

ثم أكتب: ls

فأجد ملف  txt فأنسخه:

 cd dns-names.txt usr/share/golismero/tools/theharvester

وأضغط Enter

الآن هذه هو الأمر الذي سأعمله وهو نسخ الملف إلى المجلد الذي اريده.

أعود إلى نفس المسار: cd usr/share/theharvester/discovery ls

وأجده فأفتحه بكود الباثون: gedit dnssearch.py

وأختار منه السطر 76 ويكون كالتالي: usr/share/theharvester/discovery/dns-names.txt

أضيف المسار كاملاً واحفظ عملي وهكذا الأداة ستتعرف على عملي وبالتالي ستقوم بعمل –c مع الأداة لدي.

ساستعمل –l لأنه يبحث بنتائج أكثر، فإن أعدت الأمر الذي فعلته سابقاً: theharvester –d cisco.com –b google –l 1000 –v –c –f result

فسيبحث في الألف نتيجة.وسيقوم بنفس الخطوات. هذه هي أداة theharvester وهي جميلة وأنصح باستعمالها.


جمع المعلومات باستخدام metagoofil الجزاء 2

إرسال تعليق

أحدث أقدم

نموذج الاتصال