تخيّل كل مرة تحب تزور موقع لازم تكتب الـIP نتاعو : 142.250.185.206
بدل ما تكتب google.com
. حاجة تعيِّي بزاف وماش واقعية. هنا يجي دور نظام أسماء النطاقات أو DNS (Domain Name System).
الـDNS هو “دفتر عناوين” تاع الإنترنت. أي دومين (مثال: doctorhou.com
) يترجم أوتوماتيكياً لعنوان IP باش المتصفح ولا أي برنامج يعرف مع من يتواصل.
في الأمن السيبراني، الـDNS نقطة حساسة بزاف. علاش؟
الـDNS ظاهرلك حاجة بسيطة: يترجم أسماء المواقع لعناوين IP. بصح من منظور هاكر ولا مدافع أمني، راهو نقطة إستراتيجية.
بالتالي، فهم الـDNS مش غير للهاكرز، بل حتى للناس اللي يحبو يزيدو السرعة، الأمان، والخصوصية في التصفح.
الأمر الكلاسيكي:
nslookup doctorhou.com
يعطيك الـIP المرتبط بالدومين. تقدر حتى تحدد سيرفر DNS مختلف:
nslookup doctorhou.com 8.8.8.8
هنا الاستعلام يروح مباشرة لـ Google DNS بدل السيرفر الافتراضي.
أداة أقوى وأشهر وسط الأمنيين:
dig doctorhou.com
تعرض كامل التفاصيل:
┌──(doctorhou㉿***************)-[~]
└─$ dig doctorou.com
; <<>> DiG 9.20.0-Debian <<>> doctorou.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39331
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;doctorou.com. IN A
;; ANSWER SECTION:
doctorou.com. 3600 IN A 15.197.225.128
doctorou.com. 3600 IN A 3.33.251.168
;; Query time: 131 msec
;; SERVER: 10.255.255.254#53(10.255.255.254) (UDP)
;; WHEN: Mon Sep 01 13:39:17 CET 2025
;; MSG SIZE rcvd: 73
doctorou.com
.ماكانش NS section هنا لأنه طلبنا غير الـ A record.
الـDNS مش غير يحوّل دومين لـ IP. فيه بزاف أنواع Records نقدر نستعلم عليهم. مثلاً:
dig doctorhou.com ns
┌──(doctorhou㉿XXXXXXXXXXXX)-[~]
└─$ dig doctorhou.com ns
; <<>> DiG 9.20.0-Debian <<>> doctorhou.com ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57057
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;doctorhou.com. IN NS
;; ANSWER SECTION:
doctorhou.com. 86400 IN NS ns3.octenium.net.
doctorhou.com. 86400 IN NS ns1.octenium.net.
doctorhou.com. 86400 IN NS ns4.octenium.net.
doctorhou.com. 86400 IN NS ns2.octenium.net.
;; Query time: 187 msec
;; SERVER: 10.255.255.254#53(10.255.255.254) (UDP)
;; WHEN: Mon Sep 01 15:05:54 CET 2025
;; MSG SIZE rcvd: 126
يبين واش طلبنا: doctorhou.com
من نوع NS (يعني أسماء الخوادم).
ANSWER SECTION:
لقينا أربع خوادم أسماء:
هذو تابعين لشركة Octenium (هي اللي توفر خدمة الـ DNS Hosting للدومين).
AUTHORITY & ADDITIONAL SECTION:
ماكانش تفاصيل إضافية بزاف (غير OPT pseudo-section)، بصح مرات dig
يمد حتى عناوين الـ IP نتاع الـ Nameservers.
علاش يهمنا نعرف الـ NS؟
dig doctorhou.com mx
راح يمدلنا أسماء الخوادم (NS) اللي يحتضنو سجلات DNS الخاصة بالدومين. هذو هما “المراجع الرسمية” وين كل طلب على doctorou.com يتوجه باش يلقى العنوان الصحيح.
; <<>> DiG 9.20.0-Debian <<>> doctorou.com mx
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26035
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;doctorou.com. IN MX
;; AUTHORITY SECTION:
doctorou.com. 600 IN SOA ns17.domaincontrol.com. dns.jomax.net. 2025071503 28800 7200 604800 600
;; Query time: 203 msec
;; SERVER: 10.255.255.254#53(10.255.255.254) (UDP)
;; WHEN: Mon Sep 01 14:46:03 CET 2025
;; MSG SIZE rcvd: 98
سقصينا: “وين البريد الإلكتروني تاع doctorou.com يتوجّه؟”
doctorou.com. 600 IN SOA ns17.domaincontrol.com. dns.jomax.net. 2025071503 28800 7200 604800 600
بما أنه ماكانش MX records، السيرفر عطانا SOA (Start of Authority) record:
@
).2025071503
→ Serial number (تاريخ + إصدار).28800
→ Refresh.7200
→ Retry.604800
→ Expire.600
→ Minimum TTL.الخلاصة
dig doctorhou.com txt
└─$ dig doctorhou.com txt
; <<>> DiG 9.20.0-Debian <<>> doctorhou.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44870
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;doctorhou.com. IN TXT
;; ANSWER SECTION:
doctorhou.com. 14400 IN TXT "v=spf1 +a +mx +ip4:57.128.97.32 ~all"
;; Query time: 91 msec
;; SERVER: 10.255.255.254#53(10.255.255.254) (UDP)
;; WHEN: Mon Sep 01 16:24:05 CET 2025
;; MSG SIZE rcvd: 91
يجيبلك السجلات النصية المرتبطة بالدومين.
الأمر:
dig -x 57.128.97.32n
; <<>> DiG 9.20.0-Debian <<>> -x 57.128.97.32
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64818
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;32.97.128.57.in-addr.arpa. IN PTR
;; ANSWER SECTION:
32.97.128.57.in-addr.arpa. 86400 IN PTR srv60.octenium.net.
;; Query time: 255 msec
;; SERVER: 10.255.255.254#53(10.255.255.254) (UDP)
;; WHEN: Mon Sep 01 15:15:48 CET 2025
;; MSG SIZE rcvd: 86
طلبنا PTR Record: تحويل الـ IP 57.128.97.32
لاسم دومين.
لقينا:
srv60.octenium.net.
doctorhou.com → 57.128.97.32
ns1.octenium.net, ns2.octenium.net...
v=spf1 +a +mx +ip4:57.128.97.32 ~all
57.128.97.32 → srv60.octenium.net
).ملخص استعلامات dig على doctorhou.com
Record / Command | النتيجة | الشرح |
---|---|---|
A (dig doctorhou.com A ) | رجّع IP: 57.128.97.32 | الدومين مربوط بعنوان IPv4. مهم للسيرفر باش يعرف وين يوجّه الطلبات. بالنسبة للهاكر، هذا هو الهدف الأساسي (الـ IP). |
MX (dig doctorhou.com MX ) | mail.doctorhou.com (بـ priority 0) | هذا هو خادم البريد المستعمل لإرسال/استقبال الإيميلات. مفيد لمسؤول السيرفر لتأكد الإعدادات. للهاكر: يستعملو في هجمات مثل phishing أو mail spoofing. |
NS (dig doctorhou.com NS ) | ns17.domaincontrol.com و ns18.domaincontrol.com | هادو هما الـ Nameservers، تابعين عادةً لـ GoDaddy. يحددوا وين مسجل ومسيّر الدومين. ثغرات هنا ممكن تخلّي الدومين كامل يتبدّل. |
SOA (dig doctorhou.com SOA ) | ns1.octenium.net + contact: srv-notifications.octenium.com | هذا هو الـ Start of Authority. يبين الخادم الرئيسي المسؤول على الـ DNS zone + معلومات المزامنة بين الخوادم الثانوية. |
CNAME (dig doctorhou.com CNAME ) | ماكانش CNAME (EMPTY). عطانا غير SOA في الـ Authority. | يعني doctorhou.com دومين رئيسي (ماهوش alias). |
AAAA (dig doctorhou.com AAAA ) | ماكانش (EMPTY). | الدومين ما يستعملش IPv6، يخدم غير بـ IPv4. |
PTR (dig -x 57.128.97.32 ) | srv60.octenium.net | هذا هو الـ reverse DNS. يربط الـ IP بالـ hostname. يفيد في تشخيص الهوية، السبام، والأمان. |
الخلاصة
من خلال الاستعلامات اللي درناهم بـ dig قدرنا نفهم البنية تاع دومين doctorhou.com:
57.128.97.32
) ومايستعملش IPv6.ns17
و ns18
)، بينما الـ SOA يبيّن أنو الإدارة التقنية مربوطة بشركة octenium.net.srv60.octenium.net
.الخلاصة: نقدر نستنتج أن الموقع مستضاف عند مزود خدمة (Octenium) لكن مسجل عند GoDaddy. هاد النوع من المعلومات يهم مسؤولي الأنظمة للتأكد من الإعدادات، وفي نفس الوقت يمد صورة واضحة للهاكر حول البنية التحتية المستعملة.
بالمفهوم البسيط: كل مرة تكتب doctorhou.com
في المتصفح، نظامك يبعث طلب لسيرفر DNS باش يترجم الدومين لـ IP. لكن مش دايماً لازم تستعمل السيرفر اللي يجيك تلقائياً من DHCP (الراوتر أو الـ ISP). تقدر تبدلو بأي سيرفر آخر (مثلاً جوجل أو كلاودفلير) باش يكون عندك:
/etc/resolv.conf
sudogedit/etc/resolv.conf
(تقدر تعوض gedit بأي محرر: nano, vim, leafpad…)
المحتوى يكون كيف كيف:
# Generated by NetworkManager
search localdomain
nameserver 192.168.1.1
هنا النظام يستعمل السيرفر المحلي تاع الراوتر.
2 : تغييره إلى Google DNS
بكل بساطة، نقدر نبدل المحتوى ونكتب:
nameserver 8.8.8.8
أو نزيدو سطر ثاني باش يكون عندنا fallback:
nameserver 192.168.1.1
nameserver 8.8.8.8
النظام يجرب الأول، إذا ما جاوبش يروح للثاني.
من الكوماند لاين مباشرة
من غير ما تفتح محرر، تقدر تدير:
echo u0022nameserver 8.8.8.8u0022 u003e /etc/resolv.conf
هاد الكوماند تمسح المحتوى القديم وتبدلو بجديد.
ملاحظة: إذا تستعمل DHCP، ممكن النظام يرجع يكتب فوق الملف أوتوماتيكياً.
/etc/hosts
ثاني أداة مهمة: hosts file.
هذا ملف بسيط فيه ترجمات دومين → IP يدير override على DNS.
تفتحو هكذا:
leafpad /etc/hosts
افتراضياً تلقى:
127.0.0.1 localhost
127.0.1.1 kali
تقدر تضيف أي حاجة تحب، مثلاً:
192.168.1.150 doctorhou.com
ومن بعد أي واحد يحاول يدخل doctorhou.com من جهازك، يروح مباشرة لـ 192.168.1.150 بلا ما يدير استعلام DNS.
هذا مهم في الاختبارات (CTF, pentest) ولا كي تستعمل أدوات كيما dnsspoof أو Ettercap باش توجه الترافيك.
127.0.0.1 localhost
127.0.1.1 kali
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.10.11.70 puppy.htb DC.PUPPY.HTB PUPPY.HTB
10.10.11.69 DC01.fluffy.htb fluffy.htb
10.10.11.71 certificate.htb DC01.certificate.htb
10.129.63.225 tombwatcher.htb DC01.tombwatcher.htb
10.129.136.88 sorcery.htb git.sorcery.htb dc01.sorcery.htb main.sorcery.htb
10.129.64.39 artificial.htb
10.129.177.82 rustykey.htb dc.rustykey.htb DC
10.129.96.64 voleur.htb dc.voleur.htb DC
10.129.83.105 outbound.htb mail.outbound.htb
10.129.99.235 mirage.htb dc01.mirage.htb dc01 _ldap._tcp.dc01.mirage.htb
10.129.75.22 era.htb file.era.htb
10.129.88.238 editor.htb wiki.editor.htb
10.10.120.89 vulnnet.thm broadcast.vulnnet.thm
10.10.11.68 planning.htb grafana.planning.htb
10.10.11.67 environment.htb
10.10.11.64 nocturnal.htb
10.13.37.10 securewebinc.jet www.securewebinc.jet
10.10.11.54 drip.htb mail.drip.htb dev-a3f1-01.drip.htb
10.10.27.44 escape.thm