Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PolarDNS — PolarDNS هو خادم DNS موثوق متخصص مناسب لاختبار الاختراق وبحوث الثغرات الأمنية. | Kitploit
أدوات/GitHubGitHub/oryxlabs/polardns
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاختبار العشوائيأمن الشبكاتاختبار الاختراقتحليل DNS
GitHuboryxlabs/polardns

PolarDNS

PolarDNS هو خادم DNS موثوق متخصص مناسب لاختبار الاختراق وبحوث الثغرات الأمنية.

عرض المستودع
249193منذ سنة واحدةتمت المراجعة من قبل Kitploit
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
شعار PolarDNS PolarDNS هو خادم DNS موثوق ومتخصص مكتوب بلغة Python 3.x، تم تطويره أصلاً كأداة لاختبار أمان محلّلات DNS التكرارية من جانب الخادم.

يسمح للمشغل بإنتاج استجابات DNS مخصصة، مما يجعله مناسبًا لاختبارات بروتوكول DNS المتعمقة.

_

يمكن استخدام PolarDNS لاختبار:

  • محلّلات DNS (جانب الخادم)
  • عملاء DNS
  • مكتبات DNS
  • محلّلات ومفكّكات DNS
  • أي برنامج يتعامل مع معلومات DNS

يدعم كلًا من بروتوكولي UDP وTCP، ويمنح المشغل تحكمًا كاملاً في طبقة بروتوكول DNS.

يمكن لخادم PolarDNS إنتاج مجموعة متنوعة من استجابات DNS غير القياسية وغير الممتثلة، واستجابات DNS المخالفة لمواصفات RFC، بما في ذلك استجابات DNS غير الطبيعية تمامًا والمشوهة.

يمكن أن يكون هذا مفيدًا لـ:

  • الاختبارات الوظيفية
  • الامتثال لـ RFC
  • أبحاث الثغرات

التثبيت

هناك ثلاث طرق متاحة لتثبيت PolarDNS.

يتطلب PolarDNS إصدار Python 3.11 أو أحدث وليس له تبعيات إضافية.

الطريقة 1: التثبيت عبر Pip

هذه هي أسهل طريقة لتثبيت وتشغيل PolarDNS:

root@kitploit:~
pip install polardns
polardns

الطريقة 2: التثبيت التقليدي

يمكنك أيضًا استنساخ المستودع وتشغيل PolarDNS مباشرة:

root@kitploit:~
git clone https://github.com/oryxlabs/PolarDNS.git
cd PolarDNS
python polardns.py

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

الطريقة 3: تشغيل PolarDNS في Docker

يمكنك أيضًا تشغيل PolarDNS في حاوية Docker:

root@kitploit:~
docker run -p 53:53/tcp -p 53:53/udp oryxlabs/polardns

تشغيل PolarDNS

يمكن تكوين خادم PolarDNS عبر ملف الإعدادات polardns/polardns.toml.

  • لأغراض الاختبار، يجب أن يعمل الإعداد الافتراضي بشكل جيد للتشغيل محليًا.
  • ومع ذلك، قد ترغب في تعديل الإعدادات عن طريق إضافة نطاقك وعناوين IP الخاصة بخادم الأسماء.

عند بدء تشغيل PolarDNS، يجب أن ترى إخراجًا مشابهًا لما يلي:

root@kitploit:~
python polardns.py
1741599804.9039893 | PolarDNS v1.6.1 server starting up
1741599804.9039893 | Using '/path/to/your/polardns/polardns.toml' config file
1741599804.9039893 | Starting listener at tcp://0.0.0.0:53
1741599804.9039893 | Starting listener at udp://0.0.0.0:53

يشير هذا إلى أن الخادم يعمل.

العمل مع PolarDNS

بشكل افتراضي، يبدأ الخادم بالاستماع على جميع الواجهات على المنفذ 53 UDP وTCP (0.0.0.0:53)، جاهزًا للإجابة على استعلامات DNS.

يمكنك اختباره محليًا عن طريق طرح الاستعلام النموذجي التالي، والذي يجب أن يحل دائمًا إلى شيء ما.

اطرح في وضع UDP:

root@kitploit:~
dig always.yourdomain.com @127.0.0.1

اطرح في وضع TCP:

root@kitploit:~
dig always.yourdomain.com @127.0.0.1 +tcp

يجب أن تحصل على سجل A بعنوان IP 2.3.4.5، كما في لقطة الشاشة هذه:

مثال استخدام PolarDNS

يشير هذا إلى أن الخادم يعمل بشكل صحيح.

المفهوم الرئيسي

من خلال مطالبة خادم PolarDNS بحل شيء ما، فإنك تعطيه تعليمات حول كيفية الرد عليك. هذا يعني أنك (العميل) تملي على خادم PolarDNS نوع الاستجابة التي يجب أن ينتجها لك.

على سبيل المثال، ضع في اعتبارك الاستعلام التالي:

root@kitploit:~
dig always.ttl2000000000.slp1500.yourdomain.com @127.0.0.1

يجب أن تحصل على سجل A بعنوان IP 2.3.4.5 مرة أخرى، ولكن هذه المرة بقيمة TTL تبلغ 2,000,000,000 (63.4 سنة) وبعد تأخير قدره 1.5 ثانية:

PolarDNS مع TTL مخصص وزمن استجابة مخصص

في المثال أعلاه، استخدمنا الميزة الأساسية always (التي تحل دائمًا إلى شيء ما)، ودمجناها مع معدّل ttl لضبط قيمة TTL ومعدّل slp للانتظار قبل إرسال الاستجابة.

وظائف PolarDNS

يحتوي PolarDNS على الوظائف الرئيسية التالية:

  1. الميزات: يمكنها إنتاج استجابات DNS متنوعة. تحتوي معظم الميزات على معلمات، مما يعني أنه يمكن تعديل سلوكها لإنتاج مجموعة متنوعة من استجابات DNS المختلفة.
  2. معدّلات الاستجابة: يمكنها تعديل استجابات DNS الصادرة من خادم PolarDNS بشكل أكبر. المعدّلات مستقلة عن الميزة المحددة ويمكن دمجها بحرية.

هناك أكثر من 70 ميزة مختلفة و19 معدّل استجابة منفذة حاليًا. باستخدام ميزات مختلفة ودمجها معًا مع معدّلات استجابة مختلفة، من الممكن إنتاج عدد لا يحصى من المتغيرات لاستجابة معينة.

راجع الفهرس المرفق لجميع الميزات ومعدّلات الاستجابة المنفذة.

يمنح هذا PolarDNS القدرة على إنتاج استجابات DNS غير عادية للغاية، وغير طبيعية، وحتى مشوهة، مما يسمح للمشغل برؤية كيف يتعامل الطرف المتلقي مع مثل هذه المواقف وما إذا كان الطرف المتلقي قويًا وناضجًا تقنيًا.

بعض الأمثلة على استجابات DNS التي يمكن لـ PolarDNS إنتاجها تشمل:

  • سلاسل الاسم المستعار (CNAME) وحلقات الاسم المستعار
  • تشوهات رأس DNS (المعرف، الأعلام، عدد الأقسام)
  • إدخال سجلات غير مرغوب فيها (تسميم ذاكرة التخزين المؤقت)
  • إدخال بايتات عشوائية بأطوال عشوائية
  • استجابات غير مكتملة / فارغة / بايتات NULL
  • مشاكل الضغط (حلقات، مؤشرات غير صالحة)
  • استجابات مقسمة تُنقل ببطء
  • تسميات غير قانونية أو أطوال اسم نطاق
  • عدد عشوائي من سجلات TXT بحجم عشوائي
  • التلاعب بطول الحزمة (TCP)
  • إلخ.

يمكن أن تؤدي هذه إلى اكتشاف ثغرات متنوعة مثل:

  • هجمات نطاق الكسل (Sloth domain attacks)
  • هجمات النطاق الوهمي (Phantom domain attacks)
  • هجمات قفل النطاق (Domain lock-up attacks)
  • تسميم ذاكرة التخزين المؤقت
  • استنزاف الموارد
  • التعطل، رفض الخدمة (DoS)

راجع عروض BlackHat MEA 2023 (بما في ذلك الشرائح الإضافية BONUS) لمزيد من التفاصيل، والعديد من الأمثلة وحالات الاستخدام.

اختبار محلّلات DNS التكرارية

فيما يلي نظرة عامة عالية المستوى لما تحتاجه لبدء اختبار خوادم DNS التكرارية.

  1. قم بشراء نطاق لاختباراتك، مثل example123.com باستخدام مسجل النطاقات المفضل لديك.
  2. احصل على نسختين من VPS Linux بعناوين IP عامة وثابتة - ستكون هذه خوادم الأسماء الخاصة بك.
  3. قم بنشر خادم PolarDNS على كلا النسختين.
  4. قم بتحرير ملف الإعدادات polardns/polardns.toml على كل نسخة وقم بتغيير اسم النطاق وعناوين IP الخاصة بخادم الأسماء وفقًا لذلك - نفس الإعدادات على كليهما.
  5. في مسجل النطاقات، اختر إدارة النطاق باستخدام خوادم الأسماء الخاصة بك. ستحتاج إلى تحديد NS الأساسي والثانوي - قم بتوفير عناوين IP الخاصة بنسخك.

الآن يجب أن تكون بنيتك التحتية جاهزة لاختبار أي محلّل DNS تكراري تختاره.

تفصيل عملية الاختبار

من أجل بدء اختبار هدف محلّل DNS تكراري، يجب عليك توجيه استعلاماتك إلى محلّل DNS الهدف، على سبيل المثال:

root@kitploit:~
dig always.example123.com @<TARGET-RESOLVER-IP>

على سبيل المثال، لاختبار DNS العام لـ CloudFlare:

root@kitploit:~
dig always.example123.com @1.1.1.1

أثناء التحليل، سيتصل محلّل DNS الهدف بخوادم الأسماء الموثوقة PolarDNS الخاصة بك (التي تدير نطاق الاختبار example123.com) لحل الاستعلام.

سيستجيب أحد خوادم PolarDNS الخاصة بك لمحلّل DNS الهدف. سيتلقى المحلّل الاستجابة من PolarDNS ويحللها ويعالجها. بعد ذلك، سيعيد الإجابة النهائية إليك (العميل).

فيما يلي نظرة عامة مرئية لعملية الاختبار: استخدام PolarDNS لاختبار محلّل DNS

من خلال توجيه محلّل DNS لحل نطاقات فرعية مختلفة تحت نطاق example123.com الخاص بك، يمكنك اختبار سلوك محلّل DNS بشكل فعال ومعرفة كيفية تعامله مع المواقف (الاستجابات) غير المتوقعة المختلفة.

على سبيل المثال، كيف يتعامل مع موقف يحصل فيه على استجابة DNS مشوهة، أو استجابة تحتوي على سجل محقون، أو سجل يحتوي على أحرف غير قانونية، وما نوع الإجابة التي يرسلها إليك في النهاية، العميل؟

اختبارات E2E الآلية باستخدام GitHub Actions

يمكن دمج PolarDNS مع مجموعة متنوعة من محلّلات DNS لتشغيل مجموعة اختبارات شاملة من النهاية إلى النهاية (E2E) لخادم DNS.

يتم تشغيل هذا التكامل بواسطة GitHub Actions، مع قوالب مرجعية (سير عمل) متاحة حاليًا لمحلّلات DNS الستة التالية:

  • BIND9 (e2e-bind9.yaml)
  • CoreDNS (e2e-coredns.yaml)
  • Dnsmasq (e2e-dnsmasq.yaml)
  • Knot Resolver (e2e-knot-v5.yaml, e2e-knot-v6.yaml)
  • PowerDNS (e2e-powerdns.yaml)
  • Unbound (e2e-unbound.yaml)

عند تشغيل إجراء GitHub (على سبيل المثال، عند الالتزام أو يدويًا)، يقوم سير العمل بالخطوات التالية:

  1. بدء تشغيل محلّل DNS المحدد في حاوية Docker
  2. بدء تشغيل PolarDNS في حاوية Docker منفصلة
  3. توصيل المحلّل المحدد بـ PolarDNS
  4. تشغيل مجموعة اختبارات E2E ضد محلّل DNS المحدد

لإضافة اختبارات E2E الخاصة بك، ما عليك سوى وضعها في دليل test-e2e/.

هل تبحث عن مجموعة اختبارات E2E كاملة الميزات لخادم DNS؟ تواصل مع [email protected].

إضافة ميزات جديدة

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

يتيح لك PolarDNS إضافة ميزة جديدة بسرعة، وتجربة أفكارك، أو تطوير إثبات المفهوم (PoC) دون الحاجة إلى بناء خادم DNS الخاص بك. كل ما تحتاجه هو القدرة على فهم كود Python وفضول لتجربة بروتوكول DNS.

هناك دليل مساهمة مفصل خطوة بخطوة لتبدأ. ستجد هناك ليس فقط كيفية إضافة ميزات جديدة ولكن أيضًا كيفية تصحيح أخطاء PolarDNS، وتقديم المشكلات، ومشاركة الأفكار، والمزيد.

روابط

فيما يلي بعض الموارد الممتازة المفيدة عند العمل مع PolarDNS.

روابط متعلقة ببروتوكول DNS:

  • https://en.wikipedia.org/wiki/List_of_DNS_record_types
  • https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml

خوادم DNS:

  • https://en.wikipedia.org/wiki/Comparison_of_DNS_server_software
  • https://www.lifewire.com/free-and-public-dns-servers-2626062

الشكر والتقدير

شكرًا لكل من ساهم في PolarDNS! ❤️

تنزيل الأداة