
يشغّل Faraday Agent Dispatcher أي أدوات أمنية ويرسل النتائج إلى منصة Faradaysec.
Faraday Agents Dispatcher helps user develop integrations with Faraday written in any language.
ما عليك سوى تشغيل pip3 install faraday_agent_dispatcher وسترى أمر
faraday-dispatcher في نظامك.
لإعداد بيئة تطوير (أي لتغيير كود المُوزِّع نفسه، وليس لكتابة عمليات التكامل الخاصة بك)، يجب استنساخ هذا المستودع وتشغيل
pip install -e ..
أنشئ ملف تكوين بتشغيل faraday-dispatcher config-wizard.
شغّل الوكيل بأمر faraday-dispatcher run. سيكون ملف التكوين
الذي ينشئه موجودًا في ~/.faraday/config/dispatcher.ini
إذا لم تمرر مسارًا مخصصًا.
يجب إكمال تكوين الوكيل باستخدام رمز التسجيل الخاص بك، الموجود على http://localhost:5985/#/admin/agents. تأكد من أن قسم الخادم يحتوي على المعلومات الصحيحة حول مثيل خادم Faraday الخاص بك. ثم أكمل قسم الوكيل بالاسم المطلوب لوكيلك. أخيرًا، أضف المُنفِّذات
المُنفِّذ هو برنامج نصي يطبع بيانات JSON في سطر واحد إلى stdout. تذكر أنه إذا طبعت أي بيانات أخرى إلى stdout، فسيُطلق الموزِّع خطأً. إذا أردت طباعة معلومات تصحيح الأخطاء أو التسجيل، فيجب استخدام stderr لذلك.
كل سطر يكتبه المُنفِّذ إلى stdout سيتم فك ترميزه بواسطة الموزِّع وإرساله إلى Faraday باستخدام نقطة نهاية Bulk Create. لذلك، يجب أن يكون JSON الذي تطبعه مطابقًا للمخطط الذي تتطلبه نقطة النهاية (هذا المخطط مُفصَّل أدناه). وإلا، فسيشتكي الموزِّع لأنك زوّدته ببيانات غير صالحة.
إذا أردت تصحيح أخطاء المُنفِّذ، فإن أبسط طريقة للقيام بذلك هي تشغيله مباشرة بدلاً من تشغيله مع الموزِّع. نظرًا لأن المُنفِّذ يطبع بيانات JSON فقط إلى stdout، فستتمكن من رؤية جميع المعلومات التي يريد إرسالها إلى Faraday، دون إرسالها فعليًا.
بعد كتابة المُنفِّذ، يجب إضافته باستخدام
faraday-dispatcher config-wizard في قسم المُنفِّذات، مع إضافة
اسمه، والأمر المطلوب تنفيذه، والحد الأقصى لحجم JSON الذي سيُرسل إلى
خادم Faraday. بالإضافة إلى ذلك، يمكنك تكوين متغيرات
البيئة والوسائط في القسم المناسب لها.
لتشغيل مُنفِّذ، استخدم أمر faraday-dispatcher config-wizard،
وقم بتشغيله من خادم Faraday. سيستخدم المُنفِّذ متغيرات
البيئة المُعيَّنة ويطلب الوسائط.
يجب أن تتوافق البيانات المنشورة إلى faraday مع
نقطة نهاية bulk_create الخاصة بـ واجهة برمجة تطبيقات Faraday REST
إذا كنت تريد تشغيل أكثر من مُوزِّع واحد، يعمل كلٌّ منها بمُنفِّذاته
الخاصة، فالطريقة المفضلة للقيام بذلك هي إنشاء ملفات تكوين مختلفة
لكلٍّ منها (على سبيل المثال،
~/.faraday/config/dispatcher-1.ini و
~/.faraday/config/dispatcher-2.ini). بعد ذلك، يمكنك تشغيل مثيلين مختلفين
من Dispatcher باستخدام faraday-dispatcher --config-file PATH_TO_A_CONFIG_FILE.
داخل دليل executors يمكنك العثور على المُنفِّذات المنشأة بالفعل.
المُنفِّذات الرسمية هي مجموعة من المُنفِّذات الجاهزة للاستخدام (مع الحد الأدنى من التكوين باستخدام المعالج). لديها ملف JSON بيان، يقدم تفاصيل حول استخدامات المُنفِّذ ويساعد في تكوينها.
المُنفِّذات الرسمية الحالية هي:
المُنفِّذات التطويرية هي مجموعة المُنفِّذات التي لا نحافظ عليها بالكامل، لدينا أمثلة للاستخدام، ومفاهيمية، ومُنفِّذات قيد التطوير. أهمها:
basic_example.py: مثال Hello World لمُنفِّذات Faraday. سيقوم
بإنشاء مضيف مع ثغرة مرتبطة بهheroku_discovery_agent.py: تحميل معلومات المضيف والخدمة من
حساب Heroku الخاص بكprowlerSample.py: تشغيل أمر prowler وإرسال
مخرجاته إلى Faradaybrainfuck.sh: إثبات مفهوم لتوضيح أنه يمكنك إنشاء
مُنفِّذ بأي لغة برمجة، بما في ذلك Brainfuck!نعمل حاليًا على مُنفِّذات جديدة، بالإضافة إلى تحسين تجربة استخدام الوكلاء.
نود منح بعض الوكلاء حق الوصول للقراءة إلى مساحة العمل الخاصة بهم، حتى يتمكنوا من الاستفادة من البيانات الموجودة للعثور على معلومات أكثر قيمة.
لمزيد من المعلومات، يمكنك الاطلاع على وثائقنا