اليوم سنستخدم أداة 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
أتمنى أن يكون هذا الدرس واضحاً ومفيداً ومعلوماته وصلت بشكل صحيح والسلام عليكم.
محمد خريشة