Faraday Agent Dispatcher किसी भी सुरक्षा उपकरण को लॉन्च करता है और परिणाम Faradaysec Platform पर भेजता है।
Faraday Agents Dispatcher उपयोगकर्ता को Faraday के साथ किसी भी भाषा में लिखे गए एकीकरण विकसित करने में मदद करता है।
बस 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 Server इंस्टेंस के बारे में सही जानकारी है। फिर, एजेंट अनुभाग को अपने एजेंट के इच्छित नाम के साथ पूरा करें। अंत में, एक्ज़ीक्यूटर जोड़ें
एक एक्ज़ीक्यूटर एक स्क्रिप्ट है जो एक-पंक्ति JSON डेटा stdout पर प्रिंट करता है। याद रखें कि यदि आप stdout पर कोई अन्य डेटा प्रिंट करते हैं, तो डिस्पैचर एक त्रुटि उत्पन्न करेगा। यदि आप डिबगिंग या लॉगिंग जानकारी प्रिंट करना चाहते हैं, तो आपको उसके लिए stderr का उपयोग करना चाहिए।
एक्ज़ीक्यूटर द्वारा stdout पर लिखी गई हर पंक्ति को डिस्पैचर द्वारा डिकोड किया जाएगा और Bulk Create एंडपॉइंट का उपयोग करके Faraday को भेजा जाएगा। इसलिए, आपके द्वारा प्रिंट किया गया JSON उस स्कीमा के अनुरूप होना चाहिए जिसकी एंडपॉइंट को आवश्यकता है (यह स्कीमा नीचे विस्तृत है)। अन्यथा, डिस्पैचर शिकायत करेगा क्योंकि आपने उसे अमान्य डेटा दिया है।
यदि आप अपने एक्ज़ीक्यूटर को डीबग करना चाहते हैं, तो ऐसा करने का सबसे सरल तरीका है कि इसे डिस्पैचर के साथ चलाने के बजाय सीधे चलाएँ। चूँकि एक्ज़ीक्यूटर केवल stdout पर JSON डेटा प्रिंट करता है, आप उन सभी सूचनाओं को देख पाएंगे जिन्हें वह Faraday को भेजना चाहता है, लेकिन वास्तव में उन्हें भेजे बिना।
अपना एक्ज़ीक्यूटर लिखने के बाद, आपको इसे एक्ज़ीक्यूटर अनुभाग के भीतर faraday-dispatcher config-wizard के साथ जोड़ना होगा, जिसमें इसका नाम, निष्पादित करने के लिए कमांड और Faraday Server को भेजे जाने वाले JSON का अधिकतम आकार जोड़ना होगा। इसके अतिरिक्त, आप पर्यावरण चर और तर्कों को उनके उचित अनुभाग में कॉन्फ़िगर कर सकते हैं।
एक एक्ज़ीक्यूटर चलाने के लिए faraday-dispatcher config-wizard कमांड का उपयोग करें, और इसे Faraday Server से चलाएँ। एक्ज़ीक्यूटर सेट किए गए पर्यावरण चर का उपयोग करेगा और तर्कों के लिए पूछेगा।
faraday पर प्रकाशित डेटा Faraday's REST API के bulk_create एंडपॉइंट के अनुरूप होना चाहिए।
यदि आप एक से अधिक डिस्पैचर रखना चाहते हैं, प्रत्येक अपने स्वयं के एक्ज़ीक्यूटर चला रहा हो, तो ऐसा करने का पसंदीदा तरीका प्रत्येक के लिए अलग-अलग कॉन्फ़िगरेशन फ़ाइलें बनाना है (उदाहरण के लिए, ~/.faraday/config/dispatcher-1.ini और ~/.faraday/config/dispatcher-2.ini). फिर, आप faraday-dispatcher --config-file PATH_TO_A_CONFIG_FILE के साथ दो अलग-अलग Dispatcher इंस्टेंस चला सकते हैं।
एक्ज़ीक्यूटर निर्देशिका के अंदर आप पहले से निर्मित एक्ज़ीक्यूटर पा सकते हैं।
आधिकारिक एक्ज़ीक्यूटर विज़ार्ड के साथ न्यूनतम कॉन्फ़िगरेशन के लिए उपयोग-तैयार एक्ज़ीक्यूटर का संग्रह है। उनके पास एक manifest JSON फ़ाइल होती है, जो एक्ज़ीक्यूटर के उपयोगों के बारे में विवरण देती है और उनके कॉन्फ़िगरेशन में सहायता करती है।
वर्तमान आधिकारिक एक्ज़ीक्यूटर हैं:
विकास एक्ज़ीक्यूटर उन एक्ज़ीक्यूटरों का संग्रह है जिन्हें हम पूरी तरह से मेंटेन नहीं करते हैं; हमारे पास उपयोग के उदाहरण, अवधारणात्मक और विकासाधीन एक्ज़ीक्यूटर हैं। उनमें से सबसे महत्वपूर्ण हैं:
basic_example.py: Faraday एक्ज़ीक्यूटर का Hello World। यह एक होस्ट बनाएगा जिसमें उससे जुड़ी एक भेद्यता होगी।heroku_discovery_agent.py: आपके Heroku खाते से होस्ट और सेवा जानकारी लोड करता है।prowlerSample.py: prowler कमांड चलाता है और उसका आउटपुट Faraday को भेजता है।brainfuck.sh: यह एक प्रूफ-ऑफ-कॉन्सेप्ट है जो यह प्रदर्शित करता है कि आप किसी भी प्रोग्रामिंग भाषा में एक एक्ज़ीक्यूटर बना सकते हैं, जिसमें Brainfuck भी शामिल है!हम वर्तमान में एजेंटों का उपयोग करने के अनुभव को बेहतर बनाने के अलावा नए एक्ज़ीक्यूटर पर भी काम कर रहे हैं।
हम कुछ एजेंटों को उनके वर्कस्पेस तक पढ़ने की पहुंच देना चाहेंगे, ताकि वे अधिक मूल्यवान जानकारी खोजने के लिए मौजूदा डेटा का लाभ उठा सकें।
अधिक जानकारी के लिए आप हमारा प्रलेखन देख सकते हैं।