Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
365Inspect — एक PowerShell स्क्रिप्ट जो Microsoft 365 वातावरणों की सुरक्षा मूल्यांकन को स्वचालित करती है। | Kitploit
उपकरण/GitHubGitHub/soteria-security/365inspect
रक्षात्मक उपकरणभेद्यता स्कैनरकॉन्फ़िगरेशन ऑडिटिंगपेनिट्रेशन टेस्टिंगक्लाउड सुरक्षा
GitHubsoteria-security/365inspect

365Inspect

एक PowerShell स्क्रिप्ट जो Microsoft 365 वातावरणों की सुरक्षा मूल्यांकन को स्वचालित करती है।

रिपॉजिटरी देखें
6601141 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट





उद्देश्य

माइक्रोसॉफ्ट 365 वातावरणों की सुरक्षा मूल्यांकन को स्वचालित करने वाला एक PowerShell स्क्रिप्ट लिखकर माइक्रोसॉफ्ट 365 सुरक्षा की स्थिति को आगे बढ़ाना।

सोटेरिया इंस्पेक्ट

Soteria Inspect 365Inspect प्रोजेक्ट से उत्पन्न हुआ है और यह सोटेरिया का SaaS समाधान है जो Microsoft 365 सेवाओं के पूरे सूट में 200 से अधिक निरीक्षण बिंदुओं के साथ Microsoft 365 टेनेंट की सुरक्षा का मूल्यांकन करने में सहायता करता है।

Microsoft 365 के लिए Soteria Inspect ग्राहकों को समय के साथ प्रत्येक निष्कर्ष के प्रभावित ऑब्जेक्ट्स में परिवर्तनों के साथ-साथ सुधार प्रयासों को ट्रैक करने की अनुमति देता है, और अब MSP और मूल संगठनों के लिए मल्टी-टेनेंसी शामिल करता है ताकि वे अपने चाइल्ड टेनेंट्स की नब्ज पर नजर रख सकें।

Microsoft 365 के लिए Soteria Inspect सीधे Soteria या Azure Marketplace के माध्यम से उपलब्ध है

हमारे सभी Microsoft 365 के लिए Soteria Inspect ऑफ़र देखें

सुविधा तुलना देखें!

365Inspect कम्युनिटी संस्करण बनाम Microsoft 365 के लिए Soteria Inspect

सेटअप

365Inspect कम्युनिटी संस्करण को Exchange प्रशासन, Microsoft Graph, Microsoft Teams और SharePoint प्रशासन मॉड्यूल के लिए प्रशासनिक PowerShell मॉड्यूल की आवश्यकता है।

365Inspect अब PowerShell Core (6+) के साथ संगत है, और आवश्यक मॉड्यूल निर्भरताओं के कारण Microsoft Windows ऑपरेटिंग सिस्टम की आवश्यकता है।

365Inspect.ps1 PowerShell स्क्रिप्ट स्थापित मॉड्यूल और इंस्पेक्टरों के कार्य करने के लिए आवश्यक मॉड्यूल के न्यूनतम संस्करण को मान्य करेगी।

यदि आपके पास ये मॉड्यूल स्थापित नहीं हैं, तो आपको उन्हें स्थापित करने के लिए संकेत दिया जाएगा, और आपकी अनुमति से, स्क्रिप्ट स्थापना का प्रयास करेगी। अन्यथा, आप उन्हें एक प्रशासनिक PowerShell प्रॉम्प्ट में निम्नलिखित कमांड के साथ, या नीचे दिए गए संदर्भों में दिए गए निर्देशों का पालन करके स्थापित कर सकते हैं:

root@kitploit:~
Install-Module -Name ExchangeOnlineManagement -AllowClobber -Force

Install-Module -Name PnP.PowerShell -AllowClobber -Force

Install-Module -Name Microsoft.Graph -AllowClobber -Force

Install-Module -Name MicrosoftTeams -AllowClobber -Force

एक्सचेंज ऑनलाइन PowerShell स्थापित करें

SharePoint PnP PowerShell मॉड्यूल स्थापित करें

Microsoft Graph SDK स्थापित करें

Microsoft Teams स्थापित करें

उपरोक्त स्थापित होने के बाद, अपने ब्राउज़र का उपयोग करके या git clone का उपयोग करके Github से 365Inspect स्रोत कोड फ़ोल्डर डाउनलोड करें।

महत्वपूर्ण परिवर्तन

PnP.PowerShell मॉड्यूल

9 सितंबर, 2024 तक, PnP.PowerShell को टेनेंट एडमिन को SharePoint/PnP सेवा के उपयोग के लिए अपना स्वयं का एप्लिकेशन पंजीकृत करने की आवश्यकता है। आवश्यक चरणों के लिए निम्नलिखित PnP.PowerShell दस्तावेज़ देखें। PnP PowerShell के साथ उपयोग करने के लिए एक Entra ID एप्लिकेशन पंजीकृत करें अनुमतियाँ निर्धारित करें प्रमाणीकरण

नोट: यदि आप PowerShell 5.1 का उपयोग कर रहे हैं तो PnP PowerShell अब संगत नहीं है और रन टाइम पर सभी SharePoint इंस्पेक्टर बाहर रखे जाएंगे।

एक कमांड है जिसे इस चरण को स्वचालित करने के लिए चलाया जा सकता है।```powershell Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP Rocks" -Tenant [yourtenant].onmicrosoft.com -Interactive

root@kitploit:~
__बनाए गए एप्लिकेशन का नाम या एप्लिकेशन/क्लाइंट आईडी याद रखें। अब प्रमाणीकरण के लिए इसकी आवश्यकता है और आपको AppID के लिए संकेत दिया जाएगा!__

# मॉड्यूल संगतता
वर्तमान में Microsoft.Graph और Microsoft.Graph.Beta मॉड्यूल संस्करण 2.23.0, ExchangeOnlineManagement संस्करण 3.5.1 के साथ असंगत हैं
निम्नलिखित संस्करण संगत हैं:
- Microsoft.Graph संस्करण 2.21.1
- Microsoft.Graph.Beta संस्करण 2.21.1
- ExchangeOnlineManagement संस्करण 3.5.0

संगत संस्करण स्थापित करने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है:```powershell
Install-Module -Name Microsoft.Graph -Scope CurrentUser -RequiredVersion 2.21.1 -AllowClobber -Force
Install-Module -Name Microsoft.Graph.Beta -Scope CurrentUser -RequiredVersion 2.21.1 -AllowClobber -Force
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser -RequiredVersion 3.5.0 -AllowClobber -Force

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

उपयोग

365Inspect चलाने के लिए, एक PowerShell कंसोल खोलें और उस फ़ोल्डर पर जाएँ जहाँ आपने 365Inspect डाउनलोड किया है:

root@kitploit:~
cd 365Inspect

आप PowerShell कमांड प्रॉम्प्ट से मुख्य स्क्रिप्ट फ़ाइल, 365Inspect.ps1, को निष्पादित करके 365Inspect से इंटरैक्ट करेंगे।

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

root@kitploit:~
.\365Inspect.ps1 -OutPath <value> -UserPrincipalName [email protected] -Auth <MFA|DEVICE|ALREADY_AUTHED|APP> -pnpPowerShellApplicationId <Your Pnp PowerShell Application/Client ID>
निष्पादन उदाहरण

स्क्रिप्ट निष्पादन

उदाहरण के लिए, MFA समर्थन वाले ब्राउज़र में अपनी क्रेडेंशियल दर्ज करके लॉग इन करने के लिए:

root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA

सरकारी या अन्य राष्ट्रीय क्लाउड डिप्लॉयमेंट (चीन, जर्मनी, आदि) में लॉग इन करने के लिए, -Environment पैरामीटर को इस प्रकार निर्दिष्ट किया जाना चाहिए:

root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -Environment USGovGCCHigh

-Environment के लिए वैध तर्क हैं:

  • Default - डिफ़ॉल्ट Microsoft 365 टेनेंट प्राधिकरण एंडपॉइंट। यदि Environment पैरामीटर निर्दिष्ट नहीं किया गया है तो यह डिफ़ॉल्ट तर्क है।
  • USGovGCCHigh - अमेरिकी सरकार GCC High टेनेंट
  • USGovDoD - अमेरिकी सरकार DoD टेनेंट
  • Germany - Microsoft 365 Azure Germany होस्ट किए गए टेनेंट
  • China - Microsoft 365 China/Vianet होस्ट किए गए टेनेंट

एप्लिकेशन प्रमाणीकरण निम्नलिखित पैरामीटर के साथ स्क्रिप्ट निष्पादित करके प्राप्त किया जा सकता है:

root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth APP

सरकारी या अन्य राष्ट्रीय क्लाउड डिप्लॉयमेंट (चीन, जर्मनी, आदि) में लॉग इन करने के लिए, -Environment पैरामीटर को इस प्रकार निर्दिष्ट किया जाना चाहिए:

जैसे ही 365Inspect निष्पादित होता है, यह लगातार स्थिति अपडेट प्रिंट करेगा जो दर्शाता है कि कौन सा निरीक्षण कार्य चल रहा है।

365Inspect निष्पादित होने में कुछ समय लग सकता है। यह समय परीक्षण के तहत वातावरण के आकार और जटिलता के साथ बढ़ता है। उदाहरण के लिए, कुछ निरीक्षण कार्यों में सभी उपयोगकर्ताओं के खाता कॉन्फ़िगरेशन को स्कैन करना शामिल है। यह 50 उपयोगकर्ताओं वाले संगठन के लिए लगभग तुरंत हो सकता है, या 10000 उपयोगकर्ताओं वाले संगठन के लिए पूरे मिनट (!) लग सकते हैं।

आउटपुट

365Inspect out_path पैरामीटर में निर्दिष्ट निर्देशिका बनाता है। यह निर्देशिका संपूर्ण 365Inspect निरीक्षण का परिणाम है। इसमें चार उल्लेखनीय आइटम हैं:

  • Report.html: ग्राफिकल रिपोर्ट जो 365Inspect द्वारा पहचानी गई M365 सुरक्षा समस्याओं का वर्णन करती है, गलत कॉन्फ़िगर किए गए M365 ऑब्जेक्ट्स को सूचीबद्ध करती है, और सुधार सलाह प्रदान करती है।
  • [Inspector-Name] नाम की विभिन्न टेक्स्ट फ़ाइलें: ये इंस्पेक्टर मॉड्यूल से कच्चा आउटपुट हैं और इनमें वर्णित सुरक्षा दोष वाले गलत कॉन्फ़िगर किए गए M365 ऑब्जेक्ट्स की एक सूची (प्रति पंक्ति एक आइटम) होती है। उदाहरण के लिए, यदि कोई मॉड्यूल Inspect-FictionalMFASettings उन सभी उपयोगकर्ताओं का पता लगाता है जिनके पास MFA सेट अप नहीं है, तो रिपोर्ट ZIP में फ़ाइल "Inspect-FictionalMFASettings" में प्रति पंक्ति एक उपयोगकर्ता होगा जिसके पास MFA सेट अप नहीं है। यह जानकारी केवल उन मामलों में एक फ़ाइल में डाली जाती है जहाँ 15 से अधिक प्रभावित ऑब्जेक्ट पाए जाते हैं। यदि 15 से कम प्रभावित ऑब्जेक्ट पाए जाते हैं, तो ऑब्जेक्ट सीधे मुख्य HTML रिपोर्ट बॉडी में सूचीबद्ध होते हैं।
  • Report.zip: इस पूरी निर्देशिका का ज़िप संस्करण, उन मामलों में परिणामों के सुविधाजनक वितरण के लिए जहाँ कुछ इंस्पेक्टर मॉड्यूल ने बड़ी मात्रा में निष्कर्ष उत्पन्न किए हैं।
  • Log निर्देशिका: 365Inspect स्क्रिप्ट निष्पादन के दौरान आने वाली किसी भी त्रुटि को Log निर्देशिका में पाए जाने वाली टाइमस्टैम्प वाली लॉग फ़ाइल में लॉग करता है।

CSV आउटपुट

कुछ लौटाए गए आइटमों की प्रकृति के कारण, csv रिपोर्ट कैरेट (^) वर्ण पर सीमांकित है। CSV रिपोर्ट को Excel के बजाय एक टेक्स्ट एडिटर में खोलने की अनुशंसा की जाती है, क्योंकि Excel डिफ़ॉल्ट रूप से अल्पविराम (,) सीमांकक का उपयोग करता है और रिपोर्ट को गलत तरीके से प्रस्तुत करेगा। एक बार टेक्स्ट एडिटर में खोलने के बाद, डेटा को Excel में पेस्ट किया जा सकता है।

जल्द ही!

  • आप हमें बताएं!

परिवर्तन लॉग

  • एप्लिकेशन प्रमाणीकरण के लिए कम भूमिका आवश्यकताओं के लिए समर्थन जोड़ा गया - सेवा प्रिंसिपल को अब कुछ इंस्पेक्टर निष्पादित करने की कीमत पर Global Reader भूमिका सौंपी जा सकती है।
  • एप्लिकेशन अनुमति दायरा कम किया गया - DelegatedPermissionGrant.ReadWrite.All को DelegatedPermissionGrant.Read.All से बदल दिया गया है, जो पहले उपलब्ध नहीं था।
पुराने परिवर्तन

पुराने परिवर्तन

  • डिवाइस प्रमाणीकरण के लिए समर्थन

  • राष्ट्रीय क्लाउड डिप्लॉयमेंट के लिए समर्थन

  • 365Inspect अब एप्लिकेशन प्रमाणीकरण का समर्थन करता है

  • 365Inspect का HTML रिपोर्ट प्रारूप बदल गया है

    • दो चार्ट के रूप में जोखिम के नए दृश्य संकेतक शामिल करें Risk Charts
    • PowerShell कमांड को सुधार चरणों से अलग किया और सिंटैक्स हाइलाइटिंग जोड़ी PowerShell Commands
    • निष्पादित इंस्पेक्टरों की सूची को रिपोर्ट के निचले भाग में एक परिशिष्ट में स्थानांतरित किया Appendix

आवश्यक विशेषाधिकार

365Inspect ठीक से नहीं चल सकता जब तक कि आप जिस M365 खाते से प्रमाणित करते हैं उसके पास उपयुक्त विशेषाधिकार न हों। 365Inspect को न्यूनतम रूप से निम्नलिखित की आवश्यकता है:

  • वैश्विक व्यवस्थापक
  • SharePoint व्यवस्थापक

हम समझते हैं कि ये अत्यधिक अनुमेय भूमिकाएँ हैं, दुर्भाग्य से Microsoft Graph के उपयोग के कारण, हमें Microsoft द्वारा कम विशेषाधिकारों का उपयोग करने से प्रतिबंधित किया गया है। एप्लिकेशन और क्लाउड एप्लिकेशन व्यवस्थापक भूमिकाएँ (प्रतिनिधि और एप्लिकेशन अनुमतियाँ प्रदान करने के लिए उपयोग की जाती हैं) Microsoft Graph या Azure AD PowerShell मॉड्यूल के लिए अनुमतियाँ प्रदान करने से प्रतिबंधित हैं। Microsoft Docs - एप्लिकेशन व्यवस्थापक

यदि एप्लिकेशन auth पैरामीटर का उपयोग करके 365Inspect निष्पादित कर रहे हैं, तो एप्लिकेशन को सभी निष्पादित कार्यों को करने की अनुमति देने के लिए अतिरिक्त भूमिकाएँ प्रदान की जानी चाहिए। एप्लिकेशन प्रमाणीकरण आवश्यकताएँ देखें

एप्लिकेशन प्रमाणीकरण आवश्यकताएँ

365Inspect का उपयोग करने से पहले सभी अन्य आवश्यक घटक मौजूद होने चाहिए।

पूर्वापेक्षा तैयारी

समय के सबसे कुशल उपयोग के लिए, आवश्यक कार्यों को निम्नलिखित क्रम में करने की अनुशंसा की जाती है:

  1. क्लाइंट मशीन तैयार करें
    1. क्लाइंट मशीन अनिवार्य रूप से Microsoft Windows OS होनी चाहिए
    2. ऊपर सेटअप अनुभाग में सूचीबद्ध आवश्यक PowerShell मॉड्यूल स्थापित करें
    3. उचित पहुँच नियंत्रण सुनिश्चित करें
  2. आवश्यक प्रमाणपत्र बनाएँ
    1. Azure एप्लिकेशन प्रमाणीकरण के लिए स्व-हस्ताक्षरित प्रमाणपत्र बनाएँ
  3. Azure एप्लिकेशन बनाएँ
    1. सेवा प्रिंसिपल बनाएँ
    2. एप्लिकेशन को आवश्यक अधिकार प्रदान करें API अनुमतियाँ
    3. एप्लिकेशन के सेवा प्रिंसिपल को आवश्यक भूमिकाएँ प्रदान करें
      1. वैश्विक व्यवस्थापक या वैश्विक पाठक
      2. Exchange व्यवस्थापक
      3. Teams व्यवस्थापक
      4. SharePoint व्यवस्थापक
    4. प्रमाणपत्र अपलोड करें
    5. आवश्यक जानकारी दस्तावेज़ित करें
  4. 365Inspect उपकरण प्राप्त करें
    1. उपकरण को क्लाइंट पर वांछित स्थान पर डाउनलोड और निकालें

निम्नलिखित संदर्भ देखें:

  • ट्यूटोरियल: Microsoft Entra ID के साथ एक ऐप पंजीकृत करें
  • Exchange Online PowerShell और Security & Compliance PowerShell में अनअटेंडेड स्क्रिप्ट के लिए केवल-ऐप प्रमाणीकरण
  • Microsoft Entra ID में एप्लिकेशन और सेवा प्रिंसिपल ऑब्जेक्ट

आवश्यक अनुमतियाँ

विस्तार करें

आवश्यक अनुमतियाँ

  • User.Read.All
  • Calendars.Read
  • Mail.Read
  • Contacts.Read
  • TeamMember.Read.All
  • Place.Read.All
  • Chat.UpdatePolicyViolation.All
  • Policy.Read.ConditionalAccess
  • AppCatalog.Read.All
  • TeamsAppInstallation.ReadForUser.All
  • eDiscovery.Read.All
  • UserShiftPreferences.Read.All
  • CustomSecAttributeDefinition.Read.All
  • AgreementAcceptance.Read.All
  • ExternalConnection.Read.All
  • EduRoster.Read.All
  • ServicePrincipalEndpoint.Read.All
  • CloudPC.Read.All
  • DeviceManagementManagedDevices.Read.All
  • OnlineMeetings.Read.All
  • Device.Read.All
  • TeamsTab.Read.All
  • DelegatedAdminRelationship.Read.All
  • UserAuthenticationMethod.Read.All
  • TeamsActivity.Read.All
  • Printer.Read.All
  • OrgContact.Read.All
  • TeamsAppInstallation.ReadForChat.All
  • Policy.Read.PermissionGrant
  • OnlineMeetingArtifact.Read.All
  • SharePointTenantSettings.Read.All
  • ChannelSettings.Read.All
  • SecurityEvents.Read.All
  • DelegatedPermissionGrant.Read.All
  • OnlineMeetingRecording.Read.All
  • IdentityRiskyServicePrincipal.Read.All
  • CrossTenantUserProfileSharing.Read.All
  • Calendars.Read
  • Mail.ReadBasic.All
  • PrivilegedAccess.Read.AzureAD
  • RoleManagement.Read.Directory
  • Channel.ReadBasic.All
  • People.Read.All
  • SecurityAlert.Read.All
  • Group.Read.All
  • AdministrativeUnit.Read.All
  • MailboxSettings.Read
  • CrossTenantInformation.ReadBasic.All
  • EduAdministration.Read.All
  • Sites.Read.All
  • PrintJob.Read.All
  • DeviceManagementServiceConfig.Read.All
  • ServiceMessage.Read.All
  • PrintSettings.Read.All
  • DirectoryRecommendations.Read.All
  • Notes.Read.All
  • EntitlementManagement.Read.All
  • CallRecords.Read.All
  • IdentityUserFlow.Read.All

इंस्पेक्टर मॉड्यूल विकसित करना

365Inspect को आसानी से विस्तारित करने के लिए डिज़ाइन किया गया है, इस उम्मीद के साथ कि यह व्यक्तियों और संगठनों को अपने स्वयं के 365Inspect मॉड्यूल का आंतरिक रूप से उपयोग करने, या उन मॉड्यूल को M365 समुदाय के लिए प्रकाशित करने में सक्षम बनाता है।

365Inspect के सभी इंस्पेक्टर मॉड्यूल .\inspectors फ़ोल्डर में संग्रहीत हैं।

एक इंस्पेक्टर मॉड्यूल बनाना सरल है। इंस्पेक्टर के दो फ़ाइलें होती हैं:

  • ModuleName.ps1: इंस्पेक्टर मॉड्यूल का PowerShell स्रोत कोड। इसे एक विशिष्ट समस्या से प्रभावित सभी M365 ऑब्जेक्ट्स की सूची लौटानी चाहिए, जो स्ट्रिंग के रूप में प्रस्तुत की जाती है।
  • ModuleName.json: इंस्पेक्टर के बारे में मेटाडेटा। उदाहरण के लिए, निष्कर्ष का नाम, विवरण, सुधार जानकारी और संदर्भ।

टेम्पलेट Templates फ़ोल्डर में शामिल हैं। बस अपना कोड और मान संबंधित स्थानों पर जोड़ें। PowerShell और JSON फ़ाइल नाम समान होने चाहिए ताकि 365Inspect पहचान सके कि दोनों एक साथ हैं। 365Inspect के अंतर्निर्मित मॉड्यूल सूट में कई उदाहरण हैं, लेकिन हम यहाँ भी एक उदाहरण रखेंगे।

उदाहरण .ps1 फ़ाइल, BypassingSafeAttachments.ps1:```powershell # Define a function that we will later invoke. # 365Inspect's built-in modules all follow this pattern. function Inspect-BypassingSafeAttachments { # Query some element of the M365 environment to inspect. Note that we did not have to authenticate to Exchange # to fetch these transport rules within this module; assume main 365Inspect harness has logged us in already. $safe_attachment_bypass_rules = (Get-TransportRule | Where { $_.SetHeaderName -eq "X-MS-Exchange-Organization-SkipSafeAttachmentProcessing" }).Identity
root@kitploit:~
# If some of the parsed M365 objects were found to have the security flaw this module is inspecting for,
# return a list of strings representing those objects. This is what will end up as the "Affected Objects"
# field in the report.
If ($safe_attachment_bypass_rules.Count -ne 0) {
	return $safe_attachment_bypass_rules
}

# If none of the parsed M365 objects were found to have the security flaw this module is inspecting for,
# returning $null indicates to 365Inspect that there were no findings for this module.
return $null

}

Return the results of invoking the inspector function.

return Inspect-BypassingSafeAttachments

root@kitploit:~
</details>

<details>
<summary>उदाहरण .json फ़ाइल, BypassingSafeAttachments.json:</summary>```json
{
    "FindingName": "Do Not Bypass the Safe Attachments Filter",
    "Description": "In Exchange, it is possible to create mail transport rules that bypass the Safe Attachments detection capability. The rules listed above bypass the Safe Attachments capability. Consider reviewing these rules, as bypassing the Safe Attachments capability even for a subset of senders could be considered insecure depending on the context or may be an indicator of compromise.",
    "Remediation": "Navigate to the Mail Flow &rarr; Rules screen in the Exchange Admin Center. Look for the offending rules and begin the process of assessing who created them and whether they are necessary to the continued function of the organization. If they are not, remove the rules.",
    "DefaultValue": "None",
    "ExpectedValue": "None",
    "Impact": "Critical",
    "AffectedObjects": "",
    "Service": "Exchange",  // Valid values are Exchange, SharePoint, Teams, Intune, AzureAD, SecurityandCompliance, Tenant //
    "PowerShell": "", // Any PowerShell remediation command examples should be placed here //
    "References": [
        {
            "Url": "https://docs.microsoft.com/en-us/exchange/security-and-compliance/mail-flow-rules/manage-mail-flow-rules",
            "Text": "Manage Mail Flow Rules in Exchange Online"
        },
        {
            "Url": "https://www.undocumented-features.com/2018/05/10/atp-safe-attachments-safe-links-and-anti-phishing-policies-or-all-the-policies-you-can-shake-a-stick-at/#Bypass_Safe_Attachments_Processing",
            "Text": "Undocumented Features: Safe Attachments, Safe Links, and Anti-Phishing Policies"
        }
    ]
}

जब आप इन दो फ़ाइलों को .\inspectors फ़ोल्डर में डालते हैं, तो वे 365Inspect के मॉड्यूल इन्वेंटरी का हिस्सा मानी जाती हैं और अगली बार जब आप 365Inspect चलाएंगे तो चलेंगी।

आपने अभी-अभी BypassingSafeAttachments Inspector मॉड्यूल बनाया है। बस इतना ही!

यदि आपके मॉड्यूल में कुछ काम नहीं करता है या 365Inspect की परंपराओं का पालन नहीं करता है, तो 365Inspect काफी तेज़ और बदसूरत त्रुटि फेंक देगा, इसलिए कमांड लाइन आउटपुट की निगरानी करें।

Contributing

हम सामुदायिक भागीदारी और योगदान को प्रोत्साहित करते हैं! कृपया हमारे Contributing Guidelines देखें।

About Security

365Inspect एक स्क्रिप्ट हार्नेस है जो .\inspectors फ़ोल्डर में संग्रहीत अन्य इंस्पेक्टर स्क्रिप्ट मॉड्यूल चलाता है। किसी भी अन्य स्क्रिप्ट की तरह जिसे आप उन्नत विशेषाधिकारों के साथ चला सकते हैं, आपको कुछ सुरक्षा स्वच्छता प्रथाओं का पालन करना चाहिए:

  • किसी भी अविश्वसनीय उपयोगकर्ता के पास 365Inspect फ़ोल्डर/फ़ाइलों पर लिखने की पहुंच नहीं होनी चाहिए, क्योंकि वह उपयोगकर्ता उसमें स्क्रिप्ट या टेम्पलेट को अधिलेखित कर सकता है और आपको दुर्भावनापूर्ण कोड चलाने के लिए प्रेरित कर सकता है।
  • .\inspectors में कोई स्क्रिप्ट मॉड्यूल नहीं रखा जाना चाहिए जब तक कि आपको उस स्क्रिप्ट मॉड्यूल के स्रोत पर भरोसा न हो।

About Soteria

Soteria सुरक्षा और सलाहकार समाधानों की एक विस्तृत श्रृंखला प्रदान करता है जिसमें Incident Response, Managed Detection and Response, Security Assessments, Penetration Testing और बहुत कुछ शामिल है। अपनी सभी आवश्यकताओं के लिए हमसे संपर्क करें!

टूल डाउनलोड करें
root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth APP -Environment USGovGCCHigh

-Environment के लिए वैध तर्क हैं:

  • Default - डिफ़ॉल्ट Microsoft 365 टेनेंट प्राधिकरण एंडपॉइंट। यदि Environment पैरामीटर निर्दिष्ट नहीं किया गया है तो यह डिफ़ॉल्ट तर्क है।
  • USGovGCCHigh - अमेरिकी सरकार GCC High टेनेंट
  • USGovDoD - अमेरिकी सरकार DoD टेनेंट
  • Germany - Microsoft 365 Azure Germany होस्ट किए गए टेनेंट
  • China - Microsoft 365 China/Vianet होस्ट किए गए टेनेंट

नोट: एप्लिकेशन प्रमाणीकरण के साथ 365Inspect निष्पादित करने के लिए पूर्वापेक्षाएँ हैं। एप्लिकेशन प्रमाणीकरण आवश्यकताएँ पर जाएं

365Inspect अब रिपोर्ट आउटपुट को HTML (डिफ़ॉल्ट मान), CSV, और XML प्रारूपों में समर्थन करता है।

उदाहरण के लिए, -ReportType पैरामीटर को कॉल करके CSV रिपोर्ट उत्पन्न की जा सकती हैं:

root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -ReportType CSV

365Inspect को केवल निर्दिष्ट इंस्पेक्टर मॉड्यूल के साथ चलाया जा सकता है, या इसके विपरीत, निर्दिष्ट मॉड्यूल को बाहर करके।

उदाहरण के लिए, MFA समर्थन वाले ब्राउज़र में अपनी क्रेडेंशियल दर्ज करके लॉग इन करने के लिए:

root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -SelectedInspectors inspector1, inspector2

या

root@kitploit:~
    .\365Inspect.ps1 -OutPath ..\365_report -Auth MFA -ExcludedInspectors inspector1, inspector2, inspector3

पैरामीटर को और अधिक तोड़ने के लिए:

  • OutPath वह पथ है जहाँ 365Inspect द्वारा उत्पन्न रिपोर्ट रखी जाएगी।

    • आवश्यक? हाँ
  • Auth एक चयनकर्ता है जो शाब्दिक मानों "MFA" या "ALREADY_AUTHED" में से एक होना चाहिए।

    • Auth नियंत्रित करता है कि 365Inspect सभी Microsoft 365 सेवाओं में कैसे प्रमाणित होगा।
    विकल्प
    • Auth MFA एक ग्राफिकल पॉपअप उत्पन्न करेगा जिसमें आप अपनी क्रेडेंशियल टाइप कर सकते हैं और MFA-सक्षम खातों के लिए MFA कोड भी दर्ज कर सकते हैं।
    • Auth ALREADY_AUTHED 365Inspect को स्कैन करने से पहले प्रमाणित न करने का निर्देश देता है। यह बेहतर हो सकता है यदि आप PowerShell प्रॉम्प्ट से 365Inspect निष्पादित कर रहे हैं जहाँ आपके पास पहले से ही सभी वर्णित सेवाओं के लिए मान्य सत्र हैं, जैसे कि जहाँ आप पहले ही 365Inspect निष्पादित कर चुके हैं।
    • Auth APP 365Inspect को Microsoft Entra ID एप्लिकेशन सेवा प्रिंसिपल जानकारी के लिए संकेत देने का निर्देश देता है। आवश्यक पैरामीटर चर हैं:
      • AppId - पंजीकृत एप्लिकेशन का एप्लिकेशन ID
      • Certificate Thumbprint - बनाए गए स्व-हस्ताक्षरित प्रमाणपत्र का थंबप्रिंट
      • Domain - स्कैन किए जाने वाले टेनेंट का मेल डोमेन ([email protected] या company.com) या टेनेंट डोमेन (company.onmicrosoft.com)
    * आवश्यक? हाँ
  • SelectedInspectors उस इंस्पेक्टर या इंस्पेक्टरों का नाम या नाम है जिन्हें आप 365Inspect के साथ चलाना चाहते हैं। यदि एकाधिक इंस्पेक्टर चुने गए हैं तो उन्हें अल्पविराम से अलग किया जाना चाहिए। केवल नामित इंस्पेक्टर चलाए जाएंगे।

    • आवश्यक? नहीं
  • ExcludedInspectors उस इंस्पेक्टर या इंस्पेक्टरों का नाम या नाम है जिन्हें आप 365Inspect के साथ चलने से रोकना चाहते हैं। यदि एकाधिक इंस्पेक्टर चुने गए हैं तो उन्हें अल्पविराम से अलग किया जाना चाहिए। शामिल मॉड्यूल के अलावा अन्य सभी मॉड्यूल चलाए जाएंगे।

    • आवश्यक? नहीं
  • UserPrincipalName - मूल्यांकनकर्ता का UserPrincipalName, इसे समर्थित मॉड्यूल में क्रेडेंशियल दर्ज करने की आवश्यकता को कम करने के लिए शामिल किया गया है।

    • आवश्यक? हाँ
  • ReportType - उत्पन्न रिपोर्ट का आउटपुट प्रारूप। वर्तमान में समर्थित मान HTML (डिफ़ॉल्ट), CSV, और XML हैं।

    • आवश्यक? नहीं
  • Environment - गैर-मानक/उपभोक्ता Microsoft 365 टेनेंट के लिए कनेक्ट करने के लिए Azure Cloud इंस्टेंस निर्दिष्ट करें।

    • आवश्यक? नहीं

जब आप -Auth MFA के साथ 365Inspect निष्पादित करते हैं, तो यह कई ग्राफिकल लॉगिन प्रॉम्प्ट उत्पन्न कर सकता है जिनमें आपको क्रमिक रूप से लॉग इन करना होगा। यह सामान्य व्यवहार है क्योंकि Exchange, SharePoint आदि के अलग-अलग प्रशासन मॉड्यूल हैं और प्रत्येक को अलग लॉगिन सत्र की आवश्यकता होती है। यदि आप अनुरोधित संख्या में बस लॉग इन करते हैं, तो 365Inspect निष्पादित होना शुरू हो जाना चाहिए। यह मज़ेदार के विपरीत है और हम एक कार्यसमाधान की तलाश कर रहे हैं, लेकिन कहने की आवश्यकता नहीं कि हमें लगता है कि परिणाम MFA कोड देखने में बिताए गए मिनट के लायक हैं।

  • ChatMessage.Read.All
  • Directory.Read.All
  • ConsentRequest.Read.All
  • RoleManagement.Read.All
  • CallRecord*PstnCalls.Read.All
  • PrivilegedAccess.Read.AzureResources
  • User.Read.All
  • Domain.Read.All
  • EduAssignments.ReadBasic.All
  • EduRoster.ReadBasic.All
  • Agreement.Read.All
  • OnlineMeetingTranscript.Read.All
  • ChannelMember.Read.All
  • Schedule.Read.All
  • SecurityIncident.Read.All
  • GroupMember.Read.All
  • DeviceManagementRBAC.Read.All
  • RoleManagement.Read.CloudPC
  • Files.Read.All
  • CustomSecAttributeAssignment.Read.All
  • SearchConfiguration.Read.All
  • DeviceManagementConfiguration.Read.All
  • Team.ReadBasic.All
  • APIConnectors.Read.All
  • Mail.Read
  • Chat.Read.All
  • ExternalItem.Read.All
  • ChannelMessage.Read.All
  • EduAssignments.Read.All
  • SecurityActions.Read.All
  • ThreatAssessment.Read.All
  • IdentityProvider.Read.All
  • TeamSettings.Read.All
  • IdentityRiskyUser.Read.All
  • AccessReview.Read.All
  • LicenseAssignment.ReadWrite.All
  • TermStore.Read.All
  • TeamworkTag.Read.All
  • PrivilegedAccess.Read.AzureADGroup
  • InformationProtectionPolicy.Read.All
  • Organization.Read.All
  • Contacts.Read
  • IdentityRiskEvent.Read.All
  • Mail.ReadBasic
  • AuditLog.Read.All
  • Policy.Read.All
  • Policy.ReadWrite.CrossTenantAccess
  • Member.Read.Hidden
  • Chat.ReadBasic.All
  • Application.Read.All
  • ProgramControl.Read.All
  • ServiceHealth.Read.All
  • ChatMember.Read.All
  • DeviceManagementApps.Read.All
  • ThreatIndicators.Read.All
  • TeamsAppInstallation.ReadForTeam.All
  • ShortNotes.Read.All
  • Reports.Read.All
  • PrintJob.ReadBasic.All
  • TrustFrameworkKeySet.Read.All
  • ThreatHunting.Read.All
  • TeamworkDevice.Read.All
  • Synchronization.Read.All
  • AuthenticationContext.Read.All
  • CustomAuthenticationExtension.Read.All
  • ThreatSubmission.Read.All
  • LifecycleWorkflows.Read.All
  • ReportSettings.Read.All
  • RecordsManagement.Read.All
  • RoleManagementAlert.Read.Directory