جدول المحتويات
هذه المقالة هي واحدة من المقالات التي قمت بتغطيتها في سلسلة مقالات أُخرى تغطي استخدام تعداد الـ DNS خلال مراحل الاستطلاع في اختبار الاختراق.
لماذا تعداد DNS؟ بكل بساطه.. في بعض الأحيان أسهل طريقة للعثور على مفتاح النظام هي الطرق على الباب الأمامي!
في هذه المقالة، سأغطي أساسيات تعداد DNS، مستعرضًا العديد من الأدوات المتاحة لنا خلال مرحلة الاستطلاع. /
الهدف ليس جعلك نينجا DNS ولكن لتعريفك بموضوع تعداد DNS وأهميته.
المقدمة
DNS (نظام أسماء النطاقات) هو بروتوكول يستخدم لترجمة أسماء النطاقات التي يمكن قراءتها بواسطة البشر إلى عناوين IP التي يمكن لأجهزة الكمبيوتر فهمها.
أفترض أنك تعرف أساسيات كيفية عمل DNS قبل اكتشاف طرق تعداد DNS. إن لم تكن تعرف ما هو الـ DNS Footprinting، يمكنك قراءة هذه المقالة:
أنواع سجلات DNS
تعداد DNS هو عملية اكتشاف جميع سجلات DNS المرتبطة بنطاق معين. يمكن أن يوفر معلومات قيمة للهاكرز خلال مرحلة الاستطلاع في اختبار الاختراق، حيث يمكنه الكشف عن النطاقات الفرعية وعناوين IP وغيرها من المعلومات التي قد تكون مفيدة للتحليل الإضافي، وتخطيط البنية التحتية، وتحديد الأهداف المحتملة والتخطيط لمسارات الهجوم.
الهدف من تعداد DNS هو اكتشاف جميع خوادم DNS والنطاقات الفرعية والمعلومات الأخرى ذات الصلة بالـ DNS المرتبطة بالهدف. يمكن تنفيذ تعداد DNS يدويًا، ولكنه عملية تستغرق وقتًا طويلاً وعرضة للأخطاء. لذلك يوصى باستخدام الأدوات والتقنيات الآلية لتنفيذ تعداد DNS.
هذه المقالة توفر نظرة عامة على تعداد DNS، وتناقش أهميته في اختبار الاختراق، وتستعرض الأدوات الشائعة والتقنيات الأساسية المستخدمة في العملية. ستتم تغطية المزيد من التقنيات أو الموضوعات المتقدمة في مقالات مستقبلية.
أهمية الاستطلاع DNS
تعداد DNS هو جزء حاسم من مرحلة الاستطلاع في اختبار الاختراق. يسمح للهاكرز ببناء صورة كاملة لبنية الشبكة المستهدفة وتحديد نواقل الهجوم المحتملة.
بعض أهداف تعداد DNS تشمل:
- تحديد جميع خوادم DNS وتكويناتها.
- اكتشاف النطاقات الفرعية والنطاقات المرتبطة الأخرى.
- رسم خرائط الشبكة وتحديد الثغرات المحتملة.
- جمع معلومات خوادم البريد الإلكتروني وتحديد مشكلات أمان البريد الإلكتروني.
- تحديد تكوينات DNS الخاطئة والضعف الذي يمكن استغلاله في الهجمات.
- باختصار، يوفر تعداد DNS رؤى قيمة حول بنية الشبكة المستهدفة التي يمكن استخدامها لتطوير خطط الهجوم.
نظرة عامة عالية المستوى على العملية
تشمل عملية تعداد DNS تحديد نطاق الهدف، وجمع المعلومات عنه، وتنفيذ استعلامات DNS متنوعة للحصول على مزيد من المعلومات. يمكن تقسيم العملية إلى الخطوات التالية:
- تحديد نطاق الهدف: يتضمن تحديد اسم النطاق لشبكة الهدف.
- جمع المعلومات عن نطاق الهدف: يتضمن استخدام تقنيات مثل Google Dorking، والهندسة الاجتماعية، وDNS السلبي لجمع المعلومات عن الهدف.
- تنفيذ استعلامات DNS: يتضمن استخدام أدوات وتقنيات متنوعة لتنفيذ استعلامات DNS لاستخراج مزيد من المعلومات عن بنية نطاق الهدف.
أدوات وتقنيات تعداد DNS
Nslookup
nslookup هو أداة سطر الأوامر التي تستخدم لاستعلام خوادم DNS تفاعليًا. إنه الأداة الأكثر شيوعًا لتعيين أسماء النطاقات إلى عناوين IP ومتاحة بشكل افتراضي على جميع أنظمة التشغيل الرئيسية مثل Windows وMac وLinux.
nslookup <DOMAIN>
مثال:
nslookup tryhackme.com
النتيجة:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: tryhackme.com
Address: 104.21.53.151
Name: tryhackme.com
Address: 172.67.177.29
Host
host هو أداة بسيطة جدًا لأداء استعلامات DNS. تُستخدم عادةً لتحويل الأسماء إلى عناوين IP والعكس صحيح. إنها متاحة على منصات Linux. لاستخدام host، افتح الطرفية وأدخل الأمر التالي:
$ host <DOMAIN>
مثال:
$ host tryhackme.com
النتيجة:
tryhackme.com has address 104.21.53.151
tryhackme.com has address 172.67.177.29
tryhackme.com mail is handled by 10 mail.tryhackme.com.
Dig
dig هي أداة سطر أوامر متقدمة تُستخدم لاستعلام DNS. تُستخدم لاستعلام خوادم DNS للحصول على معلومات مفصلة عن أسماء النطاقات وسجلات DNS. تحتوي على ميزات أكثر تقدمًا من nslookup وhost ويمكنها تنفيذ استعلامات DNS أكثر تعقيدًا.
dig <DOMAIN>
مثال:
dig tryhackme.com
النتيجة:
; <<>> DiG 9.16.1-Ubuntu <<>> tryhackme.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60585
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;tryhackme.com. IN A
;; ANSWER SECTION:
tryhackme.com. 300 IN A 104.21.53.151
tryhackme.com. 300 IN A 172.67.177.29
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Jul 29 15:32:01 UTC 2024
;; MSG SIZE rcvd: 76
Fierce
Fierce هي أداة سطر الأوامر مصممة خصيصًا للاستطلاع DNS وتستخدم لتحديد المساحة غير المتصلة واكتشاف أسماء النطاقات المرتبطة. إنها مفيدة بشكل خاص في إجراء تعداد DNS واكتشاف النطاقات الفرعية.
$ fierce --domain <DOMAIN>
مثال:
$ fierce --domain tryhackme.com
WHOIS
whois هي أداة سطر الأوامر تُستخدم لجمع المعلومات عن نطاق ومالكه. على الرغم من أنها ليست مخصصة لتعداد DNS، إلا أنه يمكن استخدامها لجمع المعلومات عن أسماء النطاقات وعناوين IP.
$ whois <DOMAIN>
مثال:
$ whois tryhackme.com
النتيجة:
Domain Name: tryhackme.com
Registry Domain ID: 2331366075_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2023-10-29T08:45:56Z
Creation Date: 2018-11-10T10:45:00Z
Registry Expiry Date: 2024-11-10T10:45:00Z
Registrar: NameCheap, Inc.
Registrar IANA ID: 1068
Registrar Abuse Contact Email: abuse@namecheap.com
Registrar Abuse Contact Phone: +1.6613102107
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: dns1.registrar-servers.com
Name Server: dns2.registrar-servers.com
DNSSEC: unsigned
DNSEnum
dnsenum هي أداة تعداد DNS متعددة الاستخدامات يمكنها تنفيذ العديد من المهام مثل تعداد النطاقات الفرعية، الاستعلامات العكسية لعناوين IP، واكتشاف النطاقات غير المتصلة، وتنفيذ عمليات نقل المنطقة.
dnsenum --enum <DOMAIN>
مثال:
$ dnsenum --enum tryhackme.com
Knockpy
knockpy هي أداة بايثون تُستخدم لتعداد DNS بواسطة القوة الغاشمة لاكتشاف النطاقات الفرعية.
$ knockpy <DOMAIN>
مثال:
$ knockpy tryhackme.com -o report
Subfinder
subfinder هي أداة تعداد النطاقات الفرعية السريعة وسهلة الاستخدام التي تدعم مصادر متعددة لجمع المعلومات.
$ subfinder -d <DOMAIN>
مثال:
$
subfinder -d tryhackme.com -o report.txt
Sublist3r
sublist3r هي أداة لتعداد النطاقات الفرعية باستخدام محركات البحث مثل Google وBing.
$ sublist3r -d <DOMAIN>
مثال:
$ sublist3r -d tryhackme.com -o report.txt
DNSRecon
DNSRecon هي أداة قوية لاستعلام DNS التي يمكنها تنفيذ العديد من المهام مثل عمليات نقل المنطقة، وتعداد النطاقات الفرعية، والاستعلامات العكسية لعناوين IP، واكتشاف النطاقات غير المتصلة.
$ dnsrecon -d <DOMAIN>
مثال:
$ dnsrecon -d tryhackme.com -o report.txt
Amass
amass هي أداة إطار عمل مفتوحة المصدر للاستطلاع الواسع الذي يتضمن العديد من الأدوات والتقنيات لتعداد DNS.
amass enum -d <DOMAIN>
مثال:
$ amass enum -d tryhackme.com -o report.txt
Recon-NG
Recon-ng هي أداة إطار عمل مفتوحة المصدر للاستطلاع مع وحدات متعددة لتنفيذ مهام مختلفة مثل تعداد DNS، الاستعلامات العكسية لعناوين IP، وتحديد النطاقات الفرعية.
recon-ng
workspaces create <WORKSPACE>
modules load recon/domains-hosts/<MODULE>
run
مثال:
recon-ng
workspaces create tryhackme
modules load recon/domains-hosts/bing_domain_web
set source tryhackme.com
run
theHarvester
theHarvester هي أداة سطر الأوامر لاستعلام عن معلومات البريد الإلكتروني، الأسماء، النطاقات الفرعية، وعناوين IP باستخدام محركات البحث ومصادر البيانات الأخرى.
$ theharvester -d <DOMAIN> -b <SOURCE>
مثال:
$ theharvester -d tryhackme.com -b google
Nmap
Nmap هو ماسح شبكات مفتوح المصدر يمكن استخدامه لأداء تعداد DNS. يمكن استخدام Nmap لاكتشاف النطاقات الفرعية، خوادم البريد الإلكتروني، ومعلومات خوادم DNS.
nmap --script dns-brute <DOMAIN>
مثال:
nmap --script dns-brute tryhackme.com -oN report.txt
Metasploit
Metasploit هي أداة إطار عمل مفتوحة المصدر للاستطلاع والهجوم مع العديد من الوحدات التي يمكن استخدامها لتعداد DNS واكتشاف النطاقات الفرعية.
use auxiliary/gather/dns_brute
set DOMAIN <DOMAIN>
run
مثال:
use auxiliary/gather/dns_brute
set DOMAIN tryhackme.com
run
الخاتمة
تعداد DNS هو خطوة أساسية في مرحلة الاستطلاع في اختبار الاختراق، مما يوفر معلومات قيمة يمكن استخدامها لتحديد نواقل الهجوم المحتملة وتطوير خطط الهجوم. باستخدام الأدوات والتقنيات المذكورة في هذه المقالة، يمكن للهاكرين الأخلاقيين تنفيذ تعداد DNS بكفاءة وجمع المعلومات الضرورية لمزيد من التحليل.
في المقالة التالية، سنتعمق في النصائح والحيل لتعداد DNS ونسلط الضوء على بعض التقنيات المتقدمة لاستعلامات DNS وتحليل النتائج.
المزيد من القراءة
- تمهيد إلى DNS
- الاستطلاع في اختبار الاختراق: العدد والخرائط
- أدوات وتكتيكات تعداد DNS
- الدليل الشامل لاختبار الاختراق