
पावरशेल रिमोट डाउनलोड क्रैडल जनरेटर और ऑबफस्केटर

Invoke-CradleCrafter एक PowerShell v2.0+ संगत PowerShell रिमोट डाउनलोड क्रैडल जनरेटर और ओबफस्केटर है।
2016 के पतन में Invoke-Obfuscation जारी करने के बाद, मैंने अपनी स्प्रेडशीट को PowerShell रिमोट डाउनलोड क्रैडल्स के साथ अपडेट करना जारी रखा, यह सोचते हुए कि एक दिन मैं Invoke-Obfuscation में एक "क्रैडल चयनकर्ता" मेनू जोड़ूंगा। इस सूची में ऐसे क्रैडल शामिल थे जो मेरे लिए अस्पष्ट थे, और उनमें से कई प्रचलित रूप से (या बिल्कुल भी) वास्तविक दुनिया में नहीं देखे जा रहे थे।
हालांकि, चूंकि Invoke-Obfuscation को किसी भी मनमानी PowerShell कमांड या स्क्रिप्ट को ओबफस्केट करने के लिए डिज़ाइन किया गया था, इसलिए कुछ ऐसी ओबफस्केशन तकनीकें थीं जिन्हें मुझे पता था कि मुझे अनुकूलित क्रैडल बनाने के संबंध में शामिल करना होगा जो Invoke-Obfuscation में शामिल करना संभव नहीं था।
यही वह बिंदु था जिसने मुझे इस क्रैडल शोध को एक अलग प्रोजेक्ट में स्थानांतरित करने के लिए प्रेरित किया, हालांकि आप हमेशा Invoke-CradleCrafter से आउटपुट लेकर उसे Invoke-Obfuscation में इनपुट कर सकते हैं और मज़ा जारी रख सकते हैं। चूंकि Invoke-CradleCrafter अधिक कड़ाई से नियंत्रित है, इसने मुझे ऐसी ओबफस्केशन तकनीकें शामिल करने में सक्षम बनाया है जो Invoke-Obfuscation में पाई जाने वाली किसी भी तकनीक से पूरी तरह अलग हैं।
इस उपकरण में कुछ नई ओबफस्केशन तकनीकों में डेटा प्रकार गणना और वाइल्डकार्ड मिलान के माध्यम से टोकन ओबफस्केशन, और अतिरिक्त चर और चर सिंटैक्स शुरू करके कमांड संरचना को पुनर्व्यवस्थित करना शामिल है।
अंत में, यह उपकरण 10+ आह्वान सिंटैक्स का समर्थन करता है जो सबसे प्रचलित Invoke-Expression और IEX से आगे तक फैले हुए हैं।
Invoke-CradleCrafter ब्लू टीमों और रेड टीमों को PowerShell रिमोट डाउनलोड क्रैडल्स को आसानी से खोजने, उत्पन्न करने और ओबफस्केट करने में सहायता करने के लिए मौजूद है। इसके अलावा, यह ब्लू टीमों को उन डिटेक्शन की प्रभावशीलता का परीक्षण करने में मदद करता है जो Invoke-Obfuscation द्वारा उत्पादित आउटपुट के लिए काम कर सकते हैं लेकिन Invoke-CradleCrafter से निपटने में कम पड़ सकते हैं क्योंकि इसमें कोई स्ट्रिंग संयोजन, एन्कोडिंग, टिक मार्क, टाइप कास्टिंग आदि शामिल नहीं हैं।
इस शोध और उपकरण विकास का एक और महत्वपूर्ण घटक प्रत्येक क्रैडल के निष्पादित होने पर पीछे छोड़े गए उच्च-स्तरीय व्यवहार और कलाकृतियों को प्रभावी ढंग से उजागर करना था। मैंने इस जानकारी को उजागर करने का प्रयास किया है जब आप उपकरण के इंटरैक्टिव मेनू में एक नए क्रैडल प्रकार में प्रवेश करते हैं।
अंततः, प्रत्येक क्रैडल के व्यवहार और कलाकृतियों के बारे में अधिक जानने से ब्लू टीम को इन क्रैडल्स को बेहतर ढंग से पहचानने में मदद मिलेगी। यह ज्ञान रेड टीमर को किसी दिए गए परिदृश्य में उपयोग करने के लिए किस क्रैडल का चयन करना है, इस बारे में अधिक सूचित विकल्प बनाने में भी लाभान्वित करेगा।
जबकि सभी क्रैडल्स को Out-Cradle फ़ंक्शन को सीधे कॉल करके उत्पन्न किया जा सकता है, स्टैक किए गए ओबफस्केटेड घटकों के चलने वाले हिस्सों की जटिलता Invoke-CradleCrafter फ़ंक्शन का उपयोग करना क्रैडल सिंटैक्स और ओबफस्केशन तकनीकों का पता लगाने और देखने का सबसे आसान तरीका बनाती है जो यह फ्रेमवर्क वर्तमान में समर्थन करता है।
Invoke-CradleCrafter का स्रोत कोड Github पर होस्ट किया गया है, और आप इस रिपॉजिटरी से डाउनलोड, फोर्क और समीक्षा कर सकते हैं (https://github.com/danielbohannon/Invoke-CradleCrafter)। कृपया इस प्रोजेक्ट से जुड़े Github के बग ट्रैकर के माध्यम से समस्याओं या सुविधा अनुरोधों की रिपोर्ट करें।
स्थापित करने के लिए:
Import-Module ./Invoke-CradleCrafter.psd1
Invoke-CradleCrafter
Invoke-CradleCrafter Apache 2.0 लाइसेंस के तहत जारी किया गया है।
v1.0 - 2017-04-28 x33fcon (Gdynia, Poland): Invoke-CradleCrafter का सार्वजनिक रिलीज़।
v1.1 - 2017-05-11 NOPcon (Istanbul, Turkey): 3 नए मेमोरी-आधारित क्रैडल जोड़े गए:
v1.1.1 - 2018-01-08: 1 नया मेमोरी-आधारित क्रैडल जोड़ा गया:
v1.1.2 - 2018-02-05: क्रैडल जानकारी में User-Agent स्ट्रिंग जोड़े गए