
إضافة لـ Burp Suite تعزز Collaborator بالتقاط السياق، وسجلّ الاستطلاع، ومصادقة مشفّرة بتقنية AES اختيارية لنشر الخوادم الخاصة.
تم إصداره كبرنامج مفتوح المصدر من قِبل NCC Group Plc - http://www.nccgroup.com/
تم تطويره بواسطة Corey Arthur, [email protected]
http://www.github.com/nccgroup/CollaboratorPlusPlus
هذا المشروع مُصدر تحت رخصة AGPL، راجع LICENSE لمزيد من المعلومات
يمكنك التحميل من صفحة الإصدارات هنا.
يهدف هذا البرنامج إلى التوسّع في وظيفة Collaborator الموجودة مسبقًا في Burp Suite، حيث يوفّر عددًا من الميزات التي تحسّن تجربة الاستخدام، ويضيف آلية مصادقة لتأمين عمليات نشر خادم Collaborator الخاص، مع بقائه متوافقًا مع جميع الإضافات الحالية التي تُنشئ سياقات Collaborator وتستعلم عنها.
يعمل CollaboratorPlusPlus كوسيط بين Burp وخادم Collaborator المهيّأ، مما يتيح التقاط سياقات Collaborator التي يستخدمها العميل. بعد ذلك يمكن لـ CollaboratorPlusPlus تخزين وعرض السياقات المرصودة والتفاعلات المسترجعة الخاصة بها في واجهة مركزية. بالإضافة إلى ذلك، يمكن الاستعلام يدويًا عن السياقات القديمة، مما يسمح باسترجاع التفاعلات حتى بعد إغلاق نافذة عميل Collaborator.

بالإضافة إلى إضافة Burp، يتضمن مشروع Collaborator++ أيضًا مكوّن مصادقة اختياريًا يعمل على جانب الخادم لمصادقة طلبات الاستعلام الواردة قبل تمريرها إلى خادم Collaborator. يمكن لأصحاب خوادم Burp Collaborator الخاصّة نشر هذا المكوّن لتقييد الاستعلام بحيث يقتصر فقط على من يعرفون السرّ المشترك.
عندما يطلب Burp قائمة التفاعلات المستلمة من خادم Collaborator، تقوم الإضافة بتشفير طلبات الاستعلام باستخدام مخطط التشفير AES256-CBC، مع استخدام السرّ المشترك لتوليد مفتاح التشفير. بشرط أن يكون السرّ المشترك صحيحًا، يتمكن خادم المصادقة من فك تشفير الطلب وإعادة توجيهه إلى خادم Collaborator لاسترجاع التفاعلات الخاصة بمثيل Collaborator المعني. بعد ذلك يتم تشفير الاستجابة بالسرّ المشترك قبل إرسالها مرة أخرى إلى عميل Burp.
من خلال استخدام السرّ المشترك لتشفير الاتصال بين عميل Burp وخادم المصادقة، لا يلزم إرسال السرّ المشترك مع الطلب، مما يسمح بالحفاظ على السرّية حتى في الحالات التي يجب فيها استخدام اتصال HTTP بين العميل والخادم.
تمت إضافة بعض الإعدادات الإضافية إلى Collaborator Auth لتسهيل الاستخدام.
استخدام SSL: تبديل استخدام SSL بين العميل والخادم. تأكد من أن خادمك مهيأ لاستخدام SSL على المنفذ المستهدف أيضًا.
تجاهل أخطاء الشهادة: يعطّل التحقق من صحة الشهادات. يسمح باستخدام الشهادات ذاتية التوقيع / منتهية الصلاحية.
تفعيل التحقق من اسم مضيف SSL: عدم التحقق من تطابق اسم المضيف في الشهادة مع النطاق المستهدف.
حظر خادم Collaborator العام: يمنع الاستخدام العرضي لخادم Burp Collaborator العام. يضيف إدخال DNS للنطاق "burpcollaborator.net" إلى 127.0.0.1 في إعدادات تحليل أسماء المضيفين في Burp.
java -jar CollaboratorPlusPlus.jar لإنشاء الإعدادات الافتراضية.
java -jar CollaboratorPlusPlus.jar YOURCONFIGFILE.propertiesملاحظة: للسماح بطلبات HTTP و HTTPS إلى خادم Collaborator++ Auth، أنشئ نسختين من ملف الإعدادات، بحيث تُهيئ إحداهما لـ HTTP والأخرى لـ HTTPS، وشغّل مثيلين من خادم Collaborator++ Auth.
لتفعيل استخدام SSL، أنشئ شهادة للخادم واستخدم إحدى الطريقتين التاليتين لإعداد الخادم.
في كلتا الطريقتين، تأكد من أن قيمة enable_ssl هي true في ملف الإعدادات.
openssl req -newkey rsa:2048 -nodes -keyout privatekey.pem -x509 -days 365 -out certificate.pemssl_private_key_path إلى مسار مفتاحك الخاص.ssl_certificate_path إلى مسار شهادتك.ssl_intermediate_certificate_path إلى مسار الشهادة الوسيطة الخاصة بك.أُضيفت هذه الطريقة لأغراض التوافق فقط. أنصح بشدة باستخدام الإعداد البسيط ما لم يكن هناك سبب آخر.
ssl_private_key_path سلسلة فارغة "".
openssl req -newkey rsa:2048 -nodes -keyout privatekey.pem -x509 -days 365 -out certificate.pemopenssl pkcs12 -export -in certificate.pem -inkey privatekey.pem -out polling.p12 -name pollingkeytool -importkeystore -deststorepass NEW_PASSWORD_FOR_KEYSTORE -destkeypass NEW_PASSWORD_FOR_PRIVATE_KEY \
-destkeystore polling.jks -srckeystore polling.p12 -srcstoretype PKCS12 \
-srcstorepass PASS_FROM_PREVIOUS_STEP -alias pollingjava -jar CollaboratorAuth-SERVER.jar CollaboratorServer.propertiesلمنع الاستعلام عن خادم Collaborator دون استخدام Collaborator Auth، يجب تقييد موقع الاستعلام الخاص بـ Burp Collaborator.
يمكن القيام بذلك باستخدام جدار الحماية، أو عن طريق تعديل واجهة الاستماع لأحداث الاستعلام.
الخيار 1 - اشتراط استخدام Collaborator Auth دائمًا.
إذا كنت ترغب في إجبار مستخدمي مثيل Burp Collaborator الخاص بك على المصادقة بغض النظر عن شبكتهم، يمكن إعداد Burp Collaborator ليكون الاستماع لأحداث الاستعلام على الجهاز المحلي فقط (أي من Collaborator Auth).
يمكن القيام بذلك عن طريق تغيير عنوان استماع Burp Collaborator لأحداث الاستعلام إلى واجهة الاسترجاع (127.0.0.1) أو باستخدام شيء مثل iptables لإسقاط الطلبات الواردة.
الخيار 2 - اشتراط استخدام Collaborator Auth فقط على الشبكات الخارجية.
للسماح باستخدام Burp Collaborator بشكل طبيعي عند التواجد على نفس الشبكة التي يستضيف فيها الخادم، مع اشتراط استخدام Collaborator Auth عند التواجد على شبكة خارجية، يمكن إعداد Burp Collaborator للاستماع إلى أحداث الاستعلام من العناوين الداخلية.
يمكن القيام بذلك عن طريق تغيير عنوان استماع Burp Collaborator لأحداث الاستعلام إلى العنوان الداخلي للخادم (192.168.x.x، 10.x.x.x، إلخ).
لضمان عدم معالجة Burp Collaborator لأحداث الاستعلام الخارجية، يجب حظر منفذ الاستعلام على جدار الحماية المواجه للإنترنت. بدلاً من ذلك، استخدم iptables لإسقاط حركة المرور الواردة من الشبكات الخارجية.