تعليمتقنية

جمع المعلومات عبر خوادم DNS باستخدام أداة fierce و Dnsrecon


اليوم سنستخدم أداة  fierce و أداة Dnsrecon لجمع المعلومات من خوادم DNS، وال DNS هو  خادم في قاعدة البيانات.

وظيفته أن نرسل له طلباً إن كان يوجد Domain Name إن كنا نعلم IP Address الخاص به، فوظيفته البحث في قاعدة البيانات ليرجع لي  IP Address.

أو أرسل له IP Address ولأعرف ما هو Domain Name المرتبط به فيرسله لي. بالإضافة لذلك يمكن أن نعمل DNS Server بعد التحريات وأنواع التحريات.

قاعدة البيانات تحوي سجلات، وكل منها مختلفة عن البقية فمنها سجلات NS فيعني هذا السجل هو نوع Name server وسجل نوع A ويعني أنه IP Address للدومين.

هناك نوع PTR وهو Alias هناك نوع MX وهو خاص بال Mail Server لدومين معين.

أدوات DNS

سنتكلم عن هذه الأدوات وهي تجمع المعلومات من DNS Server حول نطاق معين بعدة طرق:

الطريقة الأولى هي Brute Force

وهي وظيفتها أن يكون لدي Txt File موجود في بريفكسز، وهي كلمات تضاف قبل الدومين.

فإن كنت تريد أن تعملها على technawi.com تضيف الكلمة الأولى .technawi.com وتقوم بتحري على DNS Server الموجود في بيانات technawi.com .

وتبحث هل هذا الدومين موجود أم لا، فإن كان موجوداً فيرجعه لك ويعرضه وتبحث في الكلمة التالية ثم التالية، حتى تنهي تنفيذ عملية التحري ال DNS على جميع الكلمات الموجودة في الملف.

الطريقة الثانية للتعامل مع أداة  DNS  هي Zone transfer

zone هي جزء من قاعدة بيانات ال DNS Server فإن كنت أريد أن أقوم بZone transfer لtechnawi.com فأطلب من DNS Server أن يقوم ب Zone transfer.

ويقصد بها أن جميع السجلات الخاصة بموقع technawi.com أو بدومين technawi.com أنسخها وأرسلها إلي لاستعرضها.

وهذه عملية خطيرة جداً، لذلك خوادم ال DNS وال Admins لهذه الخوادم يوقفون هذه الخاصية، لأن إن كان لشخص Domain server وفعّل خاصية Zone transfer وكانت مشاعاً للجميع.

فالكل يستطيعون أن يقوموا بال Zone transfer على ال DNS Server خاصته، وهذا يؤدي إلى أن أي شخص يستطيع نسخ قاعدة البيانات الموجودة على ال DNS Server.

وبالتالي في بعض ال Subdomain الخاصة أو الداخلية ستتسرب لأن بعض ال Subdomain لخدمات خاصة.

وخصوصاً في الشركات الكبيرة فإن بعض ال Subdomains  تكون فقط للموظفين داخل الشركة وليس للعامة فخدمات العامة معروفة وأي شخص يقدر أن يصلها.

فإن استطاع أحدهم أن يقوم ب Zone transfer ووصل إلى بيانات حساسة يقدر أن يسترجع بيانات و Subdomains  كثيرة وبالتالي يمكن أن يخترقها ويفحصها ويكتشف الثغرات.

لماذا ال Zone transfer موجودة أصلاً على السيرفرات

هي موجودة لأن ال Domain Name أو مدير خوادم ns يكون لديه أكثر من DNS Server يكون لديه رئيسي وفرعي.

وظيفة Zone transfer بأن يكون الأدمن قادراً على تعديل السجلات ووضعها على ال DNS Server الرئيسي، والرئيسي يقوم بتوزيع البيانات على كل DNS Servers.

فإن كانت كل السيرفرات يحتوون على نفس البيانات، وأي واحد منهم لديه مشكلة من تعطل جهاز أو بيانات أو نظام التشغيل أو عطل كهربائي وبالتالي يقوم بحل الأسماء.

وهذه الخاصية موجودة في السيرفرات ودائماً DNS Server أدمن يفعلها لبعض الـ DNS Servers. فكيف نتعامل مع هذه الأمور، وما هي الأدوات؟

الأداة fierce

ودورها هو القيام بالاستطلاع وجمع المعلومات على Domain Name server، وطريقة كتابتها في Kali Linux وهي مبرمجة بلغة بيرل أكتب: fierce –h

ستظهر لي جميع الخيارات الموجودة في أداة fierce:

خيار DNS

وظيفته بأن أضع بعده الدومين الذي سأقوم ب Lookup حوله سواء ب Brute Force أو Zone transfer

خيار delay

عندما تقوم بأي طلب على DNS Server يسمونها Lookup وأي Lookup ستحجب IP Address فيمكنك بالقيام ب delay لأنه بين كل Lookup و Lookup لواب ثاني كم تريد التأخير بالثواني.

خيار –file

يقصد بها أن النتيجة لأداة fierce التي ستعرضها تخزن في Txt File أو بغض النظر أعطيه –file و Txt File وأخزنها لأتعامل معها.

خيار -threads

عندما أقوم ب Brute Force أو أرسل threads دائماً تقوم عملية lookup ثم تظهر نتيجتها ومن ثم العملية التالية ثم نتيجتها والثالثة والرابعة.

فإن أردت تسريع عمليتي أكتب –thread 10 أي كل 10 عمليات lookup قم بها مع بعض.

خيار –version

 تعطيني رقم الإصدار لأداة fierce

خيار –wordlist

فإن كنت سأقوم ب Brute Force وهو سيقوم لنفسه Brute Force و Zone transfer فإن كان و Zone transfer مفعلاً ثم DNS Server سيسترجع البيانات.

ولا داعي لل Brute Force لأنك أحضرت كل البيانات حول الدومين.

لكن إن كانت Zone transfer موقفة عند DNS Server فستحاول القيام ب Brute Force، فالافتراضي ل Brute Force  في ملف داخل الأداة.

متى تستخدم Wordlist إن كنت ستستخدم ملفاً آخر غير الملف الافتراضي.

فإن حملت من الإنترنت ملف معجم يحوي على آلاف الكلمات التي ستضيفها وتتعامل معها غير الملف للأداة نفسها فأنت ستستخدم Word list بأن تضع عنوان الملف.

مثال تطبيقي على دومين لديه Zone transfer مفعل

سنتعامل Domain Name معين وليكن Zone transfer.me هذا الدومين مفعل خاصية Zone transfer فأكتب : -fierce –dns zonetransfer.me

لأرى إن كانت Zone transfer مفعلة فإن لم تكن سيقوم ب Brute Force، تقوم الأداة بالبحث عن Name server لل Zone transfer.me ووجد اثنان.

ثم من Name server قامت بZone transfer على DNS Server .

أي كل الZone  الخاصة بالدومين الخاصة بZone transfer.me واستعرضت البيانات جميعها وأرجعتها لي كلها.

مثال تطبيقي على دومين لديه Zone transfer غير مفعل

سأنفذ ذات العملية على موقع آخر وهو vulweb.com:

 -fierce –dns vulweb.com

وهنا ال Zone transfer غير مفعلة فسيقوم بعملية Brute Force على هذا الدومين من خلال Txt File .

بعد أن ينتهي أريد أن استعرض الملف فأكتب في سطر أوامر Kali Linux :

Root

Cd desktop

Gedit subdomains.txt

هذا الملف لتخزين بعض الكلمات. وسأضع فيه ست كلمات

سأرى الآن:

Ls

-fierce –dns vulweb.com wordlist subdomains.txt

سيقوم بعمل Zone transfer على Domain Name server وسيفشل وسيقوم ب Brute Force عن طريق هذا الملف.

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

هذا هو مبدأ عمل هذه الأداة  fierce. بغض النظر عن أن أداة fierce تقوم بعمل Zone transfer أو لا، فأنا أريد نتائج الأداة أريد تخزينها في Txt File فأكتب:

-fierce –dns vulweb.com -wordlist subdomains.txt –file dns.txt

الملف النصي الذي أريده سميته dns.txt يحوي النتائج فيه.

تطبيق خيار –threads

أي أريده أن يقوم بعدة تحريات مع بعض، سأضيف بعض الكلمات ليصبحوا أكثر من عشرة، وأكتب:

-fierce –dns vulweb.com -wordlist subdomains.txt – threads

وخرجت النتائج.

أداة dnsrocon

تقوم هذه الأداة بنفس العمل للأداة السابقة.

خيار –h

تعني الHelp

خيار –d

يعني domain وهنا يخيرك بأن تضع –d أو – -domain

خيار –r

لعمل reverse lookup أي نضع ال Range الخاص بال IP Address الذي سنقوم عليه ب lookup وهو عكسه.

خيار –n

يقصد به domain name server الذي استخدمه لأقوم باستعلام من خلاله أو استطلع على الدومين الذي اريده.

إن لم أزد قيمة –n فسيكون افتراضياً.

خيار –D

يعني المعجم، وهي الملف الذي سأقوم من خلاله ب Brute Force .

خيار –t

يعني نوع عملية التعداد والاستطلاع

خيار std

يقصد بها عمل start of authority و أرجع لي السجلات .

خيار –rvl

للقيام ب reverse lookup.

خيار –prt

للقيام ب Brute Force باستخدام المعجم.

خيار –a

يقصد بها قم بعمل full zone transfer .

خيار –s

قم بعمل reverse lookup على IP version 4 .

وهناك الكثير من الخيارات.

والنتائج التي تخرج يمكنني تخزينها في ملف، وهناك عدة أشكال لتخزينه، مثل database file من نوع xml أو csv أو sql .

متى أتعامل مع كل نوع

ذلك يتم بحسب نوع النتائج، فإن كانت النتائج التي تصدر ستقوم الأداة بتحليلها وتقوم بهجوم من خلاله، فهناك أدوات تتعامل بالنتائج مثل Xml فيمكن أن أخزنها بملف xml.

أو أداة تبني تقريراً فأقوم بتخزينه بنوع sql.

خيار –v

يقصد به عندما تقوم ب Brute Force فبشكل افتراضي ستظهر النتائج التي وجدها وباستخدام –v ستظهر جميع الأمور.

مثال تطبيقي

أكتب: dnsrecon –d zonetransfer.me

ستقوم بترجيع سجلات A، وأعطتني النتائج وهو سجل واحد.

سأقوم بفعل Zone transfer: dnsrecon –d zonetransfer.me –a

فتعطيك الأداة النتائج وعليك أنت بتحليلها، وتقوم بالهجوم من خلالها أو الفحص عليها بأداة مثل nmap وغيرها.

خيار –lifetime

لتزيد الوقت في إخراج النتائج لمتابعة العمل .

لأقوم ب Brute Force :

dnsrecon –d zonetransfer.me –t brt –D root/desktop/subdomains.txt

في النهاية يجب أن تعلموا أن في DNS Server يمكنني أن أقوم بZone transfer أو Brute Force وأقوم بعمل استعلام حسب الخيارات لكل أداة من أداتي fierce و dnsrecon

أتمنى أن يكون هذا الدرس واضحاً ومفيداً ومعلوماته وصلت بشكل صحيح والسلام عليكم.

محمد خريشة

مقالات ذات صلة

زر الذهاب إلى الأعلى