
AzureRT - एक PowerShell मॉड्यूल जो विभिन्न Azure Red Team रणनीतियों को लागू करता है
Powershell मॉड्यूल जो आक्रामक दृष्टिकोण से Azure और Azure AD के साथ इंटरैक्ट करने के लिए विभिन्न cmdlets को लागू करता है।
एक्सेस टोकन आधारित प्रमाणीकरण, Az से AzureAD और az cli इंटरफेस में स्विच करना, उपयोग में आसान पूर्व-निर्मित आक्रमण जैसे Runbook-आधारित कमांड निष्पादन और अधिक से संबंधित उपयोगी उपयोगिताएँ।
यह टूलकिट बहुत सारे विभिन्न cmdlets लाता है। यह खंड सबसे महत्वपूर्ण और उपयोगी cmdlets को उजागर करता है।
चुराए गए क्रेडेंशियल से शुरू होने वाले सामान्य रेड टीम / ऑडिट वर्कफ़्लो को इस प्रकार संक्षेपित किया जा सकता है:
Credentials Stolen -> Authenticate to Azure/AzureAD -> find whether they're valid -> find out what you can do with them
नीचे दिए गए cmdlets इस अनुक्रम का पालन करने में आपकी सहायता करने के लिए सटीक रूप से उपयुक्त हैं:
Connect-ART - Azure में प्रमाणीकरण के विभिन्न साधन प्रदान करता है - क्रेडेंशियल, PSCredential, टोकन
Connect-ARTAD - Azure AD में प्रमाणीकरण के विभिन्न साधन प्रदान करता है - क्रेडेंशियल, PSCredential, टोकन
Get-ARTWhoami - जब आप प्रमाणित करते हैं - whoami जांचने और अपनी पहुँच को मान्य करने के लिए इसे चलाएँ
Get-ARTAccess - फिर, जब आप जानते हैं कि आपके पास पहुँच है - Azure स्थितिजन्य जागरूकता (situational awareness) करके पता लगाएँ कि आप क्या कर सकते हैं और क्या संभव है
Get-ARTADAccess - इसी तरह आप Azure AD तक सीमित अपनी क्षमताओं का पता लगा सकते हैं।
इस मॉड्यूल में लागू cmdlets निम्नलिखित उपयोग और आक्रमण परिदृश्यों में सहायक साबित हुए हैं:
Az से AzureAD और वापस एक्सेस टोकन के साथ उलझना।Az, AzureAD, Microsoft.Graph और az cli में प्रमाणीकरण संदर्भ (उर्फ whoami) को अच्छी तरह से प्रदर्शित करना।यह मॉड्यूल पूर्व-स्थापित Powershell Az और AzureAD मॉड्यूल पर निर्भर करता है। Microsoft.Graph और az cli वैकल्पिक हैं लेकिन फिर भी वास्तव में उपयोगी हैं।
Azure के साथ काम शुरू करने से पहले, निम्नलिखित कमांड का उपयोग अपने आक्रामक वातावरण को तैयार करने के लिए किया जा सकता है:
Install-Module Az -Force -Confirm -AllowClobber -Scope CurrentUser
Install-Module AzureAD -Force -Confirm -AllowClobber -Scope CurrentUser
Install-Module Microsoft.Graph -Force -Confirm -AllowClobber -Scope CurrentUser # OPTIONAL
Install-Module MSOnline -Force -Confirm -AllowClobber -Scope CurrentUser # OPTIONAL
Install-Module AzureADPreview -Force -Confirm -AllowClobber -Scope CurrentUser # OPTIONAL
Install-Module AADInternals -Force -Confirm -AllowClobber -Scope CurrentUser # OPTIONAL
Import-Module Az
Import-Module AzureAD
भले ही AzureRT को केवल पहले दो मॉड्यूल की आवश्यकता है, दूसरों को भी पूर्व-स्थापित रखना अच्छा है।
फिर इस मॉड्यूल को लोड करने के लिए, बस टाइप करें:
PS> . .\AzureRT.ps1
और आप तैयार हैं।
या आप AzureRT को सभी निर्भरताओं को स्थापित और आयात करने दे सकते हैं:
PS> . .\AzureRT.ps1
PS> Import-ARTModules
यह मॉड्यूल धीरे-धीरे अगले उपकरण और उपयोगिताएँ प्राप्त करेगा, जो स्वाभाविक रूप से बाद के किल चेन चरणों में वर्गीकृत होंगी।
प्रत्येक cmdlet में एक अच्छा सहायता संदेश होता है जो पैरामीटर, विवरण और उदाहरण उपयोग का विवरण देता है:
PS C:\> Get-Help Connect-ART
वर्तमान में, निम्नलिखित उपयोगिताएँ शामिल हैं:
Get-ARTWhoami - Azure, AzureAD, Microsoft.Graph और AZ CLI इंटरफेस पर हमारे प्रमाणीकरण संदर्भ को प्रदर्शित और मान्य करता है।
Connect-ART - प्रदान किए गए एक्सेस टोकन या क्रेडेंशियल के माध्यम से वर्तमान सत्र को Azure पोर्टल पर प्रमाणित करने के लिए Connect-AzAccount को आमंत्रित करता है। प्रदान किए गए टोकन से स्वचालित रूप से निकालकर Tenant ID और Account ID प्रदान करने के बोझ को छोड़ देता है।
Connect-ARTAD - प्रदान किए गए एक्सेस टोकन या क्रेडेंशियल के माध्यम से वर्तमान सत्र को Azure Active Directory पर प्रमाणित करने के लिए Connect-AzureAD (और वैकल्पिक रूप से Connect-MgGraph) को आमंत्रित करता है। प्रदान किए गए टोकन से स्वचालित रूप से निकालकर Tenant ID और Account ID प्रदान करने के बोझ को छोड़ देता है।
Connect-ARTADServicePrincipal - प्रदान किए गए एक्सेस टोकन या क्रेडेंशियल के माध्यम से वर्तमान सत्र को Azure पोर्टल पर प्रमाणित करने के लिए को आमंत्रित करता है। प्रदान किए गए टोकन से स्वचालित रूप से निकालकर Tenant ID और Account ID प्रदान करने के बोझ को छोड़ देता है। फिर यह स्व-हस्ताक्षरित PFX प्रमाणपत्र बनाता है और प्रमाणीकरण के लिए इसे सेवा प्रिंसिपल के साथ संबद्ध करता है। उसके बाद, उस सेवा प्रिंसिपल के रूप में AzureAD में प्रमाणित होता है और सफाई के लिए उस प्रमाणपत्र को असंबद्ध करता है।
Get-ARTAccess - Azure स्थितिजन्य जागरूकता करता है।
Get-ARTADAccess - Azure AD स्थितिजन्य जागरूकता करता है।
Get-ARTTenants - वर्तमान में प्रमाणित उपयोगकर्ता (या आपूर्ति किए गए एक्सेस टोकन के आधार पर) के लिए उपलब्ध Tenants सूचीबद्ध करता है।
Get-ARTDangerousPermissions - सुलभ Azure संसाधनों और उन पर उपयोगकर्ता के पास मौजूद संबंधित अनुमतियों का विश्लेषण करता है ताकि उन सभी खतरनाक अनुमतियों का पता लगाया जा सके जिनका हमलावर द्वारा दुरुपयोग किया जा सकता है।
Get-ARTResource - प्रदान किए गए एक्सेस टोकन का उपयोग करके https://management.azure.com पर प्रमाणित होता है और सुलभ संसाधनों और टोकन स्वामी के पास उनके विरुद्ध मौजूद अनुमतियों को खींचता है।
Get-ARTRoleAssignment - वर्तमान में उपयोग किए जा रहे प्रिंसिपल को सौंपी गई Azure RBAC भूमिकाओं का थोड़ा आसान पढ़ने योग्य प्रतिनिधित्व प्रदर्शित करता है।
Get-ARTADRoleAssignment - वर्तमान उपयोगकर्ता या सभी Azure AD उपयोगकर्ताओं पर Azure AD भूमिका असाइनमेंट प्रदर्शित करता है।
Get-ARTADScopedRoleAssignment - प्रशासनिक इकाइयों से जुड़े वर्तमान उपयोगकर्ता या सभी Azure AD उपयोगकर्ताओं पर Azure AD स्कोप्ड भूमिका असाइनमेंट प्रदर्शित करता है।
Add-ARTADGuestUser - Azure AD अतिथि उपयोगकर्ता आमंत्रण ई-मेल भेजता है, जिससे बाहरी हमलावर के लिए AAD टेनेंट तक पहुँच का विस्तार होता है और आमंत्रण को आसानी से स्वीकार करने के लिए उपयोग किया जाने वाला Invite Redeem URL लौटाता है।
Set-ARTADUserPassword - अन्य गैर-व्यवस्थापक उपयोगकर्ताओं का पासवर्ड रीसेट करने के लिए Authentication Administrator भूमिका असाइनमेंट का दुरुपयोग करता है।
Add-ARTUserToGroup - निर्दिष्ट Azure AD उपयोगकर्ता को निर्दिष्ट Azure AD समूह में जोड़ता है।
Add-ARTUserToRole - निर्दिष्ट Azure AD उपयोगकर्ता को निर्दिष्ट Azure AD भूमिका में जोड़ता है।
Add-ARTADAppSecret - Azure AD एप्लिकेशन में क्लाइंट सीक्रेट जोड़ें। लेखक: Nikhil Mittal, @nikhil_mitt
Invoke-ARTAutomationRunbook - निर्दिष्ट Automation Account के अंतर्गत और चयनित Worker Group के विरुद्ध एक Automation Runbook बनाता है। उस Runbook में सभी प्रभावित Azure VMs पर निष्पादित किए जाने वाले Powershell कमांड होंगे।
Invoke-ARTRunCommand - कस्टम Powershell कमांड चलाने के लिए निर्दिष्ट Azure VM के विरुद्ध virtualMachines/runCommand अनुमति का दुरुपयोग करता है।
Update-ARTAzVMUserData - सीधे API आह्वान के माध्यम से Azure VM उपयोगकर्ता डेटा स्क्रिप्ट को संशोधित करता है।
Invoke-ARTCustomScriptExtension - दूरस्थ कोड निष्पादन की ओर ले जाने वाला नया Azure VM Custom Script Extension बनाता है या मौजूदा को संशोधित करता है।
Get-ARTTenantID - वर्तमान उपयोगकर्ता का Tenant ID या प्रदान किए गए डोमेन नाम के आधार पर Tenant ID प्राप्त करता है।
Get-ARTPRTToken - Dirk-Jan Mollema's ROADtoken का उपयोग करके वर्तमान उपयोगकर्ता का PRT (Primary Refresh Token) मान प्राप्त करता है।
Get-ARTPRTNonce - वर्तमान उपयोगकर्ता का PRT (Primary Refresh Token) nonce मान प्राप्त करता है।
Get-ARTUserId - Az मॉड्यूल के माध्यम से वर्तमान उपयोगकर्ता या पैरामीटर ObjectId में निर्दिष्ट उपयोगकर्ता प्राप्त करता है।
Get-ARTSubscriptionId - सहायक जो वर्तमान सब्सक्रिप्शन ID एकत्र करता है।
Parse-JWTtokenRT - इनपुट JWT टोकन को पार्स करता है और इसे अच्छी तरह से प्रिंट करता है।
Invoke-ARTGETRequest - एक्सेस टोकन लेता है और निर्दिष्ट URI के विरुद्ध GET REST विधि API अनुरोध आमंत्रित करता है। यह यह भी सत्यापित करता है कि प्रदान किए गए टोकन में आवश्यक दर्शक (audience) सेट है या नहीं।
Import-ARTModules - Azure Red Team गतिविधियों के लिए आवश्यक और वैकल्पिक Powershell मॉड्यूल स्थापित और आयात करता है।
यह और अन्य प्रोजेक्ट रातों की नींद हराम करने और कड़ी मेहनत का परिणाम हैं। अगर आपको मेरा काम पसंद है और आप सराहना करते हैं कि मैं हमेशा समुदाय को वापस देता हूँ, मुझे एक कॉफ़ी खरीदने पर विचार करें (या बेहतर एक बियर) बस धन्यवाद कहने के लिए! 💪
Mariusz Banach / mgeeky, (@mariuszbit)
<mb [at] binary-offensive.com>
Connect-AzAccountGet-ARTAccessTokenAzCli - az account get-access-token के माध्यम से az cli से एक्सेस टोकन प्राप्त करता है।
Get-ARTAccessTokenAz - Get-AzAccessToken के माध्यम से Az मॉड्यूल से एक्सेस टोकन प्राप्त करता है।
Get-ARTAccessTokenAzureAD - Azure Active Directory से एक्सेस टोकन प्राप्त करता है। लेखक: Simon Wahlin, @SimonWahlin
Get-ARTAccessTokenAzureADCached - Connect-AzureAD होने के बाद संग्रहीत स्थानीय रूप से कैश किए गए AzureAD एक्सेस टोकन (https://graph.microsoft.com) को पुनर्प्राप्त करने का प्रयास करता है।
Remove-ARTServicePrincipalKey - Connect-ARTADServicePrincipal चलाने के बाद सफाई क्रियाएँ करता है।
Get-ARTRolePermissions - निर्दिष्ट Azure RBAC भूमिका पर सभी दी गई अनुमतियाँ प्रदर्शित करता है।
Get-ARTADRolePermissions - निर्दिष्ट Azure AD भूमिका पर सभी दी गई अनुमतियाँ प्रदर्शित करता है।
Get-ARTADDynamicGroups - Azure AD डायनामिक समूहों को उनके उपयोगकर्ता सदस्यता नियमों, सदस्यों की संख्या और वर्तमान उपयोगकर्ता सदस्यता स्थिति के साथ प्रदर्शित करता है।
Get-ARTApplication - उन Azure AD एंटरप्राइज़ एप्लिकेशन को सूचीबद्ध करता है जिनके वर्तमान उपयोगकर्ता स्वामी हैं (या -All का उपयोग करने पर सभी मौजूदा) उनके मालिकों और सेवा प्रिंसिपलों के साथ।
Get-ARTApplicationProxy - उन Azure AD एंटरप्राइज़ एप्लिकेशन को सूचीबद्ध करता है जिनमें Application Proxy सेटअप है।
Get-ARTApplicationProxyPrincipals - निर्दिष्ट Application Proxy एप्लिकेशन को सौंपे गए उपयोगकर्ताओं और समूहों को प्रदर्शित करता है।
Get-ARTStorageAccountKeys - सभी उपलब्ध स्टोरेज अकाउंट कुंजियाँ प्रदर्शित करता है।
Get-ARTKeyVaultSecrets - सभी उपलब्ध Azure Key Vault रहस्यों को सूचीबद्ध करता है। यह cmdlet मानता है कि अनुरोध करने वाला उपयोगकर्ता KeyVaultAccessToken (https://vault.azure.net पर स्कोप्ड) के साथ Azure AD से जुड़ा है और उसके पास "Key Vault Secrets User" भूमिका (या समतुल्य) सौंपी गई है।
Get-ARTAutomationCredentials - सभी उपलब्ध Azure Automation Account क्रेडेंशियल सूचीबद्ध करता है और उनके मान निकालने का प्रयास करता है (मान निकालने में असमर्थ!)।
Get-ARTAutomationRunbookCode - निर्दिष्ट Runbook का स्रोत कोड निकालने के लिए REST API विधि को आमंत्रित करता है।
Get-ARTAzVMPublicIP - Azure VM सार्वजनिक IP पता पुनर्प्राप्त करता है।
Get-ARTResourceGroupDeploymentTemplate - इनपुट पैरामीटर के आधार पर Resource Group Deployment Template JSON प्रदर्शित करता है, या एक बार में सभी को खींचता है।
Get-ARTAzVMUserDataFromInside - इंस्टेंस मेटाडेटा एंडपॉइंट तक पहुँचकर VM के अंदर से Azure VM उपयोगकर्ता डेटा पुनर्प्राप्त करता है।