
أداة اختبار لتسريب البيانات عبر DNS مع نقل ثنائي الاتجاه، وواجهة ويب، ونص برمجي للعميل لاكتشاف ثغرات RCE/XXE العمياء في البيئات المقيدة.
request.bin لاستعلامات DNS
DNSBin هي أداة بسيطة لاختبار تسريب البيانات عبر DNS والمساعدة في اختبار الثغرات مثل RCE أو XXE عندما تكون البيئة مقيدة بشكل كبير. يتكون المشروع من جزئين، الأول هو خادم الويب ومكوناته. يوفر واجهة مستخدم ويب أساسية، وفي معظم الحالات لن تحتاج إلى أكثر من ذلك. الجزء الثاني هو العميل الذي يقدم نصًا برمجيًا بلغة Python يسمح بنقل البيانات في كلا الاتجاهين عبر DNS باستخدام خدمة الويب.
إعداد DNS الحالي الذي أملكه لخادم العرض التوضيحي هو ما يلي. لاحظ أنني قمت بذلك من خلال التجربة والخطأ، لذا قد يكون الإعداد معقدًا بشكل مفرط أو قد يحتوي على مشكلات. إذا كنت أكثر معرفة، فلا تتردد في فتح مشكلة.
يُوصى بشدة بتشغيل مستقبل DNS ونقطة نهاية WebSocket باستخدام وحدة Node.JS "forever".
forever start index.js
بالنسبة للواجهة الأمامية، يمكن استضافة ملف "index.html" على خادم الويب الذي تختاره. تأكد من أن رابط WebSocket يشير إلى خادمك.
يتطلب النص البرمجي للعميل تثبيت "dnspython" على كلا الطرفين. سواء كنت ترسل أو تستقبل البيانات، يجب عليك أولاً تشغيل النص البرمجي على الجهاز الموجود خارج المنطقة المقيدة. سيمنحك النص البرمجي رمزًا مميزًا (token) فريدًا يجب عليك تمريره عند تشغيل النص البرمجي على الجهاز الموجود داخل المنطقة المقيدة.
الجهاز الخارجي
echo test12345 | python main.py -f- -d out -t-
الجهاز الداخلي
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
الجهاز الخارجي
python main.py -f- -d in -t-
الجهاز الداخلي
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU