
Covenant एक .NET कमांड और कंट्रोल फ्रेमवर्क है जिसका उद्देश्य .NET के आक्रमण सतह को उजागर करना, आक्रामक .NET ट्रेडक्राफ्ट के उपयोग को आसान बनाना, और रेड टीम के सदस्यों के लिए एक सहयोगी कमांड और कंट्रोल प्लेटफॉर्म के रूप में कार्य करना है।
Covenant एक ASP.NET Core, क्रॉस-प्लेटफॉर्म एप्लिकेशन है जिसमें एक वेब-आधारित इंटरफेस शामिल है जो कई उपयोगकर्ताओं के सहयोग की अनुमति देता है।

त्वरित-आरंभ गाइड
Covenant के साथ आरंभ करने के लिए कृपया इंस्टॉलेशन और स्टार्टअप गाइड देखें!
विकी Covenant की अधिकांश मुख्य विशेषताओं और उनके उपयोग के तरीके का दस्तावेज़ीकरण करता है।
विशेषताएँ
Covenant में कई प्रमुख विशेषताएं हैं जो इसे उपयोगी बनाती हैं और इसे अन्य कमांड और कंट्रोल फ्रेमवर्क से अलग करती हैं:
- सहज ज्ञान युक्त इंटरफेस - Covenant एक सहज ज्ञान युक्त वेब एप्लिकेशन प्रदान करता है ताकि आसानी से एक सहयोगी रेड टीम ऑपरेशन चलाया जा सके।
- मल्टी-प्लेटफॉर्म - Covenant .NET Core को लक्षित करता है, जो मल्टी-प्लेटफॉर्म है। इससे Covenant लिनक्स, मैकओएस और विंडोज प्लेटफॉर्म पर मूल रूप से चल सकता है। इसके अतिरिक्त, Covenant में डॉकर समर्थन है, जो इसे डॉकर स्थापित किसी भी सिस्टम पर एक कंटेनर के भीतर चलने की अनुमति देता है।
- मल्टी-यूज़र - Covenant बहु-उपयोगकर्ता सहयोग का समर्थन करता है। प्रभावी रेड टीम संचालन के लिए सहयोग करने की क्षमता महत्वपूर्ण हो गई है। कई उपयोगकर्ता एक ही Covenant सर्वर के साथ बातचीत कर सकते हैं और स्वतंत्र रूप से या सहयोगात्मक रूप से संचालन कर सकते हैं।
- API संचालित - Covenant एक API द्वारा संचालित है जो बहु-उपयोगकर्ता सहयोग को सक्षम बनाता है और आसानी से विस्तार योग्य है। इसके अतिरिक्त, Covenant में एक Swagger UI शामिल है जो विकास और डिबगिंग को आसान और अधिक सुविधाजनक बनाता है।
- लिसनर प्रोफाइल - Covenant लिसनर "प्रोफाइल" का समर्थन करता है जो Grunt इम्प्लांट और Covenant लिसनर के बीच नेटवर्क संचार की वायर पर उपस्थिति को नियंत्रित करता है।
- एन्क्रिप्टेड की एक्सचेंज - Covenant Grunt इम्प्लांट और Covenant लिसनर के बीच एक एन्क्रिप्टेड की एक्सचेंज लागू करता है जो बड़े पैमाने पर Empire प्रोजेक्ट में समान एक्सचेंज पर आधारित है, इसके अलावा वैकल्पिक SSL एन्क्रिप्शन भी है। यह Grunt इम्प्लांट के बीच फॉरवर्ड सीक्रेसी की क्रिप्टोग्राफिक संपत्ति प्राप्त करता है।
- डायनामिक कम्पाइलेशन - Covenant डायनामिक C# कम्पाइलेशन के लिए Roslyn API का उपयोग करता है। हर बार जब एक नया Grunt उत्पन्न होता है या कोई नया कार्य असाइन किया जाता है, तो प्रासंगिक कोड को पुनः संकलित किया जाता है और ConfuserEx के साथ अस्पष्ट किया जाता है, जिससे पूरी तरह से स्थिर पेलोड से बचा जा सकता है। Covenant SharpGen प्रोजेक्ट से कम्पाइलेशन कोड का अधिकांश भाग पुन: उपयोग करता है, जिसका मैंने पिछले पोस्ट में अधिक विस्तार से वर्णन किया है।
- इनलाइन C# निष्पादन - Covenant SharpGen और SharpShell दोनों प्रोजेक्ट्स से कोड और विचार उधार लेता है ताकि ऑपरेटर Grunt इम्प्लांट पर C# वन-लाइनर्स निष्पादित कर सकें। यह SharpShell पोस्ट में वर्णित समान कार्यक्षमता की अनुमति देता है, लेकिन वन-लाइनर्स को रिमोट इम्प्लांट पर निष्पादित करने की अनुमति देता है।
- ट्रैकिंग इंडिकेटर - Covenant एक ऑपरेशन के दौरान "इंडिकेटर" को ट्रैक करता है, और उन्हें इंडिकेटर मेनू में सारांशित करता है। यह एक ऑपरेटर को ऐसी कार्रवाई करने की अनुमति देता है जो पूरे ऑपरेशन में ट्रैक की जाती हैं और आकलन के दौरान या अंत में नीली टीम को डिकॉन्फ्लिक्शन और शैक्षिक उद्देश्यों के लिए उन कार्यों को आसानी से सारांशित कर सकता है। यह सुविधा अभी भी अपनी प्रारंभिक अवस्था में है और इसमें सुधार की गुंजाइश है।
- C# में विकसित - व्यक्तिगत रूप से, मुझे C# में डेवलपमेंट करने में आनंद आता है, जो किसी के लिए आश्चर्य की बात नहीं हो सकती है जिसने मेरे नवीनतम ब्लॉग या टूल पढ़े हैं। हर कोई इस बात से सहमत नहीं हो सकता कि C# में विकास आदर्श है, लेकिन उम्मीद है कि हर कोई इस बात से सहमत होगा कि फ्रेमवर्क के सभी घटकों को एक ही भाषा में लिखना अच्छा है। मुझे सर्वर, क्लाइंट और इम्प्लांट सभी को एक ही भाषा में लिखना बहुत सुविधाजनक लगा। यह एक वास्तविक "सुविधा" नहीं हो सकती है, लेकिन उम्मीद है कि यह दूसरों को परियोजना में काफी आसानी से योगदान करने की अनुमति देता है।
प्रश्न और चर्चा
क्या आपके पास प्रश्न हैं या Covenant के बारे में और अधिक चैट करना चाहते हैं? BloodHound Gang Slack में #Covenant चैनल में शामिल हों।