Alan Framework
Alan Framework एक पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क है जो रेड-टीम गतिविधियों के दौरान उपयोगी है।
यदि आपको मेरा उपकरण उपयोगी लगे, तो कृपया मुझे प्रायोजित करने पर विचार करें।
⚠⚠⚠ अस्वीकरण ⚠⚠⚠
इस प्रकार के सॉफ्टवेयर का निर्माण हमेशा विवादों का कारण बना है। यदि आप सोच रहे हैं कि मैंने यह उपकरण बनाने का निर्णय क्यों लिया, तो इसका कारण यह है कि मैं आश्वस्त हूं कि सर्वोत्तम सीखने का अनुभव वही है जो आपने सीखा है उसे लागू करना। रिवर्स इंजीनियरिंग प्रक्रिया के दौरान, कई छोटे विवरणों को अनदेखा कर दिया जाता है। धीरे-धीरे, ये विवरण शोधकर्ता को यह समझने से रोकते हैं कि क्या हो रहा है। अंत में, मैं पहले एक प्रोग्रामर हूं, और मुझे इस प्रकार के प्रोग्राम को विकसित करना पसंद है 😄
डाउनलोड
Alan C2 Framework डाउनलोड करें
उल्लेखनीय विशेषताएं
- आप अपने पसंदीदा उपकरण को सीधे मेमोरी में चला सकते हैं
- जावास्क्रिप्ट स्क्रिप्ट निष्पादन (बिना तीसरे पक्ष की निर्भरता के मेमोरी में)
- पूरी तरह से अनुरूप SOCKS5 प्रॉक्सी
- समर्थित एजेंट प्रकार: Powershell (x86/x64), DLL (x86/x64), Executable (x86/x64), Shellcode (x86/x64)
- Server.exe को Linux में (dotnet core के माध्यम से) निष्पादित किया जा सकता है
- नेटवर्क संचार एक सत्र कुंजी के साथ पूरी तरह से एन्क्रिप्ट किया गया है जो एजेंट बाइनरी या ट्रैफिक डंप से पुनर्प्राप्त नहीं किया जा सकता है
- संचार HTTP/HTTPS के माध्यम से किया जाता है
- किसी बाहरी निर्भरता या लाइब्रेरी को स्थापित करने की आवश्यकता नहीं है
- एक शक्तिशाली कमांड शेल
- एजेंट कॉन्फ़िगरेशन को तुरंत अपडेट किया जा सकता है (आप पोर्ट और प्रोटोकॉल भी बदल सकते हैं)
दस्तावेज़ीकरण:
ब्लॉग पोस्ट
इसके उपयोग पर अधिक जानकारी के लिए कृपया दस्तावेज़ीकरण पढ़ें।
स्रोत कोड संकलित करें
Alan को संकलित करने के लिए निम्नलिखित क्रियाएं की जानी चाहिए:
- सुनिश्चित करें कि आपने cmake स्थापित किया है और यह PATH में है (यह जांचने के लिए cmake --help चलाएं कि यह काम करता है या नहीं)
- Visual Studio 2022 (सामुदायिक संस्करण ठीक है) स्थापित करें। ये चरण VS 2022 17.3.1 संस्करण पर परीक्षण किए गए थे।
- सुनिश्चित करें कि Visual Studio सूट के भाग के रूप में .NET Desktop Development, Desktop development with C++ और F# भाषा स्थापित हैं।
- .NET लाइब्रेरीज़ को इस प्रकार चलाकर स्थापित करें: ./src/server/paket.exe install
- Visual Studio में फ़ाइल .src/server/ServerSln.sln खोलें। ServerBuilder प्रोजेक्ट को मुख्य के रूप में सेट करें (राइट क्लिक करें -> स्टार्टअप प्रोजेक्ट के रूप में सेट करें)
- ServerBuilder को चलाएं जो सब कुछ संकलित करेगा
- यदि संकलन सफलतापूर्वक समाप्त होता है, तो Alan .zip फ़ाइल नव निर्मित निर्देशिका Misc/out/release में स्थित होगी
वीडियो:
डेमो वीडियो
परिवर्तन लॉग
v7.0.514.10 - 15/05/2022
- पिवोटिंग के लिए
proxy कमांड लागू किया गया
info और info++ कमांड प्रदर्शित करते हैं कि एजेंट प्रॉक्सी का उपयोग कर रहा है या नहीं
- नेटवर्क संचार में बग ठीक किया गया (Issue 2)
- PE लोडर में त्रुटि ठीक की गई जब फ़ंक्शन ऑर्डिनल के माध्यम से आयात किए जाते हैं
- JS मॉड्यूल में त्रुटि ठीक की गई जो समय से पहले मेमोरी मुक्त करने का कारण बनता था
run कमांड में त्रुटि ठीक की गई जिसके कारण & विकल्प काम नहीं करता था
- लॉग संदेश अब फ़ाइल
alan.log में सहेजे जाते हैं
- सभी उत्पन्न आउटपुट और उपयोगकर्ता इनपुट
evidences फ़ोल्डर के अंदर एक साक्ष्य फ़ाइल में लॉग किए जाते हैं
info कमांड में मशीन ID जानकारी जोड़ी गई
- एजेंट निर्माण के लिए
Vanilla पैकेज प्रकार जोड़ा गया। यह कस्टम पैकर के बेहतर एकीकरण की अनुमति देता है।
v6.0.511.28 24/02/2022
- x86/x64 PE लोडरों को PEB->Ldr फ़ील्ड को अपडेट करने के लिए संशोधित किया गया। यह सिस्टम को इंजेक्टेड DLL पर DLL_PROCESS_DETACH कॉल करने की अनुमति देता है।
- अधिकतम प्रतिक्रिया आकार को 1GB तक बढ़ाया गया। यह बड़ी फ़ाइलों के डाउनलोड को ठीक करता है।
- कॉन्फ़िगरेशन में एजेंट समाप्ति तिथि जोड़ी गई।
run को जावास्क्रिप्ट फ़ाइलों के निष्पादन का समर्थन करने के लिए विस्तारित किया गया।
info++ कमांड अब वॉल्यूम लेबल और FS प्रकार दिखाता है।
v5.0.509.20 - 13/12/2021
run कमांड लागू किया गया
kill कमांड लागू किया गया
exec कमांड लागू किया गया
inject संदेश हटा दिया गया क्योंकि इसे पृष्ठभूमि में run कमांड के साथ प्राप्त किया जा सकता है
- एजेंट को अधिक गुप्त बनाने के लिए स्टेजर और PE लोडर बनाया गया। प्रत्येक उत्पन्न एजेंट फ़ाइल का एक अलग हैश होता है
- डायनामिक कोड पॉलिसी मिटिगेशन को बायपास करने के लिए कोड इंजेक्शन में सुधार किया गया
- अब विज़ार्ड के दौरान बनाने के लिए एजेंट फ़ाइल नाम निर्दिष्ट करना संभव है
upload और download कमांड में त्रुटि ठीक की गई
- शेल निर्माण में त्रुटि ठीक की गई। कमांड शेल प्रक्रिया टोकन में समान एजेंट अखंडता स्तर नहीं था
- DLL एजेंट आर्टिफैक्ट से निर्यातित फ़ंक्शन हटाया गया
info कमांड में वर्तमान कार्यशील निर्देशिका जोड़ी गई
- एकल कमांड निष्पादित करने के लिए
shell कमांड का विस्तार किया गया
v4.0.0 - 26/09/2021
inject कमांड जोड़ा गया। यह कमांड ऑपरेटर को रिमोट प्रक्रिया में कोड इंजेक्ट करने की अनुमति देता है
sleep कमांड जोड़ा गया जो प्रत्येक 400 मिलीसेकंड के छोटे स्लीप में किया जाता है।
sleep में जिटर अवधारणा शामिल की गई
- एजेंट को x64 बिट पर पोर्ट किया गया (PE32+ लोडर शामिल)
- x86 PE लोडर में त्रुटियां ठीक की गईं
- .NET एजेंट रनर अब पहचान से बचने के लिए अधिक गुप्त तरीके से निष्पादित किया जाता है
- अब HTTP/S लिसनर प्रतिक्रिया में एक कस्टम वेब सर्वर निर्दिष्ट करना संभव है
- कमांड
listeners हटा दिया गया क्योंकि अनावश्यक था
- अधिक जानकारी के साथ
info कमांड में सुधार किया गया
- त्रुटि संदेश अधिक व्याख्यात्मक हैं
- प्रक्रिया टोकन प्रकार (उन्नत या नहीं) पर जानकारी जोड़ी गई
- प्रक्रिया टोकन विशेषाधिकारों पर जानकारी जोड़ी गई
- प्रक्रिया टोकन समूहों पर जानकारी जोड़ी गई
v3.0.0 - 15/05/2021
- एजेंट शेल
quit कमांड का नाम बदलकर exit किया गया
migrate कमांड के माध्यम से एजेंट माइग्रेशन लागू किया गया
- OS संस्करण प्राप्त करने में त्रुटि ठीक की गई
- निर्माण विज़ार्ड में DLL को एजेंट प्रारूप के रूप में जोड़ा गया।
- वर्तमान में चल रही प्रक्रियाओं को सूचीबद्ध करने के लिए
ps कमांड लागू किया गया
- फ़ाइल या पूरी निर्देशिका को स्थानीय रूप से डाउनलोड करने के लिए
download कमांड लागू किया गया
- समझौता किए गए होस्ट पर फ़ाइलें अपलोड करने के लिए
upload कमांड लागू किया गया
- HTTP/S लिसनर प्रतिक्रिया को अनुकूलित करने के लिए
SuccessRequest को HTTP सर्वर प्रतिक्रिया विकल्प के रूप में लागू किया गया
- खराब अनुरोधों के लिए HTTP/S लिसनर प्रतिक्रिया को अनुकूलित करने के लिए
ErrorRequest लागू किया गया
- एजेंट प्रोफ़ाइल में निर्दिष्ट करने के लिए
prepend और append को HTTP सर्वर अनुरोध विकल्प के रूप में लागू किया गया
v2.0.500.23 - 20/03/2021
- जुड़े हुए एजेंट से अस्थायी रूप से बाहर निकलने के लिए एजेंट
detach कमांड लागू किया गया
- कमांड शेल से अस्थायी रूप से बाहर निकलने के लिए शेल
detach कमांड लागू किया गया
- उपलब्ध लिसनर्स को सूचीबद्ध करने के लिए
listeners कमांड लागू किया गया
- TLS के माध्यम से एजेंट के साथ संचार करने के लिए HTTPS लिसनर लागू किया गया
- वर्तमान एजेंट कॉन्फ़िगरेशन डाउनलोड करने के लिए
get-config कमांड लागू किया गया
- एजेंट कॉन्फ़िगरेशन अपडेट करने के लिए
update कमांड लागू किया गया
- अब Windows7 समर्थित है
v1.0.0 - 22/02/2021