Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dns-rebind-toolkit — مجموعة أدوات JavaScript أمامية لإنشاء هجمات إعادة ربط DNS. | Kitploit
أدوات/GitHubGitHub/brannondorsey/dns-rebind-toolkit
الاستطلاعأمان إنترنت الأشياءالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالتعلم والتعليمالفريق الأحمرتحليل DNS
GitHubbrannondorsey/dns-rebind-toolkit

dns-rebind-toolkit

مجموعة أدوات JavaScript أمامية لإنشاء هجمات إعادة ربط DNS.

5028416منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

مجموعة أدوات إعادة ربط DNS

عرض توضيحي | إشعار أمني | الحمولات المضمنة | الأسئلة الشائعة

إخلاء مسؤولية: هذا البرنامج لأغراض تعليمية فقط. لا ينبغي استخدام هذا البرنامج في أنشطة غير قانونية. المؤلف غير مسؤول عن استخدامه. لا تكن وغدًا.

مجموعة أدوات إعادة ربط DNS هي إطار عمل JavaScript أمامي لتطوير هجمات إعادة ربط DNS ضد المضيفين والخدمات الضعيفة على شبكة المنطقة المحلية (LAN). يمكن استخدامها لاستهداف أجهزة مثل Google Home وRoku ومكبرات الصوت Sonos WiFi وأجهزة توجيه WiFi وأجهزة تنظيم الحرارة "الذكية" وأجهزة إنترنت الأشياء الأخرى. باستخدام هذه المجموعة، يمكن للمهاجم عن بُعد تجاوز جدار الحماية الخاص بجهاز التوجيه والتفاعل مباشرة مع الأجهزة على شبكة منزل الضحية، مما يؤدي إلى تسريب معلومات خاصة وفي بعض الحالات، حتى التحكم في الأجهزة الضعيفة نفسها.

يتطلب الهجوم أن يقوم ضحية على الشبكة المستهدفة ببساطة باتباع رابط، أو عرض إعلان HTML يحتوي على إطار iframe ضار. من هناك، يتم استخدام متصفح ويب الضحية كخادم وكيل للوصول مباشرة إلى المضيفين الآخرين المتصلين بشبكة منزله. هذه الأجهزة والخدمات المستهدفة كانت ستكون غير متاحة للمهاجم من الإنترنت. قد لا يعرف المهاجم عن بُعد ما هي هذه الخدمات، أو ما هي عناوين IP التي تشغلها على شبكة الضحية، لكن مجموعة أدوات إعادة ربط DNS تتعامل مع هذا عن طريق تجربة مئات عناوين IP المحتملة بالقوة الغاشمة.

تحت الغطاء، تستخدم هذه الأداة خادم DNS عام whonow يعمل على rebind.network:53 لتنفيذ هجوم إعادة ربط DNS وخداع متصفح الويب الخاص بالضحية لانتهاك سياسة نفس المصدر. من هناك، تستخدم WebRTC لتسريب عنوان IP الخاص للضحية، مثل 192.168.1.36. تستخدم الأوكتات الثلاثة الأولى من عنوان IP المحلي هذا لتخمين الشبكة الفرعية ثم حقن 256 iframe، من 192.168.1.0-255 لتوصيل حمولة لكل مضيف يمكن أن يكون على الشبكة الفرعية.

يمكن استخدام هذه المجموعة لتطوير ونشر هجمات إعادة ربط DNS الخاصة بك. يتم تضمين العديد من حمولات الهجوم الواقعية في هذه المجموعة في دليل payloads/. تتضمن هذه الحمولات هجمات تسريب معلومات (ومقالب ريكرول) ضد عدد قليل من أجهزة إنترنت الأشياء الشائعة، بما في ذلك منتجات Google Home وRoku.

هذه المجموعة هي نتاج بحث أمني مستقل في هجمات إعادة ربط DNS. يمكنك قراءة المزيد عن ذلك البحث الأصلي هنا.

البدء

# استنساخ المستودع
git clone https://github.com/brannondorsey/dns-rebind-toolkit.git
cd dns-rebind-toolkit

# تثبيت التبعيات
npm install

# تشغيل الخادم باستخدام صلاحيات الجذر لتوفير الوصول إلى المنفذ المميز 80
# هذا النص يخدم الملفات من أدلة www/ و /examples و /share و /payloads
sudo node server

بشكل افتراضي، يخدم server.js حمولات تستهدف Google Home وRoku ومكبرات صوت Sonos ومصابيح Phillips Hue وأجهزة Radio Thermostat التي تعمل بخدماتها على المنافذ 8008 و8060 و1400 و80 و80 على التوالي. إذا كان لديك أحد هذه الأجهزة على شبكة منزلك، انتقل إلى http://rebind.network لمفاجأة سارة ;). افتح وحدة التحكم للمطور وشاهد كيف يتم استغلال هذه الخدمات بشكل غير ضار مما يتسبب في سرقة البيانات منها وتسريبها إلى server.js.

واجهة برمجة التطبيقات والاستخدام

توفر هذه المجموعة كائنين JavaScript يمكن استخدامهما معًا لإنشاء هجمات إعادة ربط DNS:

  • DNSRebindAttack: يُستخدم هذا الكائن لبدء هجوم ضد خدمة ضعيفة تعمل على منفذ معروف. ينتج حمولة واحدة لكل عنوان IP تختار استهدافه. تُستخدم كائنات DNSRebindAttack لإنشاء وإدارة والتواصل مع كائنات DNSRebindNode متعددة. يجب أن تحتوي كل حمولة تم إطلاقها بواسطة DNSRebindAttack على كائن DNSRebindNode.
  • DNSRebindNode: يجب تضمين كائن الفئة الثابتة هذا في كل ملف حمولة HTML. يُستخدم لاستهداف خدمة واحدة تعمل على مضيف واحد. يمكنه التواصل مع كائن DNSRebindAttack الذي أنشأه ولديه وظائف مساعدة لتنفيذ هجوم إعادة ربط DNS (باستخدام DNSRebindNode.rebind(...)) وكذلك تسريب البيانات المكتشفة أثناء الهجوم إلى server.js (DNSRebindNode.exfiltrate(...)).

يتم استخدام هذين النصين معًا لتنفيذ هجوم ضد مضيفين غير معروفين على شبكة LAN محمية بجدار حماية. يبدو الهجوم الأساسي كما يلي:

  1. يرسل المهاجم إلى الضحية رابطًا لصفحة HTML ضارة تبدأ الهجوم: على سبيل المثال http://example.com/launcher.html. تحتوي launcher.html على مثيل من DNSRebindAttack.
  2. يتبع الضحية رابط المهاجم، أو يزور صفحة حيث يتم تضمين http://example.com/launcher.html كإطار iframe. يتسبب هذا في بدء DNSRebindAttack على launcher.html الهجوم.
  3. يستخدم DNSRebindAttack تسريب WebRTC لاكتشاف عنوان IP المحلي لجهاز الضحية (على سبيل المثال 192.168.10.84). يستخدم المهاجم هذه المعلومات لاختيار نطاق من عناوين IP لاستهدافها على شبكة LAN الخاصة بالضحية (على سبيل المثال 192.168.10.0-255).
  4. يقوم launcher.html بإطلاق هجوم إعادة ربط DNS (باستخدام DNSRebindAttack.attack(...)) ضد نطاق من عناوين IP على الشبكة الفرعية للضحية، مستهدفًا خدمة واحدة (على سبيل المثال واجهة برمجة تطبيقات Google Home REST غير الموثقة المتاحة على المنفذ 8008).
  5. في فاصل زمني يحدده المستخدم (200 مللي ثانية افتراضيًا)، يقوم DNSRebindAttack بتضمين إطار iframe واحد يحتوي على payload.html في صفحة launcher.html. يحتوي كل إطار iframe على كائن DNSRebindNode واحد ينفذ هجومًا ضد المنفذ 8008 لمضيف واحد محدد في نطاق عناوين IP التي يتم مهاجمتها. تستمر عملية الحقن هذه حتى يتم حقن إطار iframe لكل عنوان IP يتم استهدافه بواسطة الهجوم.
  6. يستخدم كل ملف payload.html تم حقنه DNSRebindNode لمحاولة هجوم إعادة ربط عن طريق التواصل مع خادم DNS whonow. إذا نجح، يتم انتهاك سياسة نفس المصدر ويمكن لـ payload.html التواصل مع منتج Google Home مباشرة. عادةً ما يتم كتابة payload.html بطريقة تجعله يقوم ببعض استدعاءات واجهة برمجة التطبيقات للجهاز المستهدف وتسريب النتائج إلى server.js الذي يعمل على example.com قبل إنهاء الهجوم وتدمير نفسه.

لاحظ، إذا كان لدى المستخدم جهاز Google Home واحد على شبكته بعنوان IP غير معروف وتم إطلاق هجوم ضد الشبكة الفرعية بأكملها 192.168.1.0/24، فسيكون هجوم إعادة ربط DNSRebindNode واحد ناجحًا وسيفشل 254.

أمثلة

يتكون الهجوم من ثلاثة نصوص وملفات منسقة:

  • ملف HTML يحتوي على مثيل من DNSRebindAttack (على سبيل المثال launcher.html)
  • ملف HTML يحتوي على حمولة الهجوم (على سبيل المثال payload.html). يتم تضمين هذا الملف في launcher.html بواسطة DNSRebindAttack لكل عنوان IP يتم استهدافه.
  • خادم مجموعة أدوات إعادة ربط DNS (server.js) لتوصيل الملفات أعلاه وتسريب البيانات إذا لزم الأمر.

launcher.html

فيما يلي مثال لملف إطلاق HTML. يمكنك العثور على المستند الكامل في examples/launcher.html.

<!DOCTYPE html>
<head>
	<title>مثال للإطلاق</title>
</head>
<body>
    <!-- هذا النص هو تبعية لـ DNSRebindAttack.js ويجب تضمينه -->
    <script type="text/javascript" src="/share/js/EventEmitter.js"></script>
    <!-- تضمين كائن هجوم إعادة ربط DNS -->
    <script type="text/javascript" src="/share/js/DNSRebindAttack.js"></script>
    <script type="text/javascript">
تنزيل الأداة