Az - Unauthenticated Enum & Initial Entry
Azure Tenant
Enumeração do Tenant
Existem algumas APIs públicas do Azure que, apenas conhecendo o domínio do tenant, um atacante poderia consultar para obter mais informações sobre ele. Você pode consultar diretamente a API ou usar a biblioteca PowerShell AADInternals:
API | Informação | Função AADInternals |
---|---|---|
login.microsoftonline.com/<domínio>/.well-known/openid-configuration | Informações de login, incluindo o ID do tenant |
|
autodiscover-s.outlook.com/autodiscover/autodiscover.svc | Todos os domínios do tenant |
|
login.microsoftonline.com/GetUserRealm.srf?login=<NomeUsuário> | Informações de login do tenant, incluindo o Nome do tenant e o domínio do tipo de autenticação .
Se o |
|
login.microsoftonline.com/common/GetCredentialType | Informações de login, incluindo informações de SSO de Desktop |
|
Você pode consultar todas as informações de um tenant do Azure com apenas um comando da biblioteca AADInternals:
Exemplo de saída das informações do locatário do Azure:
É possível observar detalhes sobre o nome do locatário, ID e nome da "marca". Além disso, o status do Logon Único para Desktop (SSO), também conhecido como SSO sem interrupções, é exibido. Quando ativado, esse recurso facilita a determinação da presença (enumeração) de um usuário específico dentro da organização alvo.
Além disso, a saída apresenta os nomes de todos os domínios verificados associados ao locatário alvo, juntamente com seus respectivos tipos de identidade. No caso de domínios federados, o Nome de Domínio Totalmente Qualificado (FQDN) do provedor de identidade em uso, normalmente um servidor ADFS, também é divulgado. A coluna "MX" especifica se os e-mails são roteados para o Exchange Online, enquanto a coluna "SPF" denota a listagem do Exchange Online como remetente de e-mails. É importante observar que a função de reconhecimento atual não analisa as declarações "include" dentro dos registros SPF, o que pode resultar em falsos negativos.
Enumeração de Usuários
É possível verificar se um nome de usuário existe dentro de um locatário. Isso inclui também usuários convidados, cujo nome de usuário segue o formato:
O email é o endereço de email do usuário onde em "@" é substituído por sublinhado "_".
Com AADInternals, você pode facilmente verificar se o usuário existe ou não:
Enumeração não autenticada e Entrada Inicial
Nesta seção, vamos explorar como realizar a enumeração não autenticada e obter acesso inicial em ambientes do Azure.
Enumeração não autenticada
A enumeração não autenticada é uma técnica que pode ser usada para coletar informações sobre recursos e serviços disponíveis em um ambiente do Azure sem a necessidade de autenticação. Isso pode incluir descobrir informações sobre instâncias de máquinas virtuais, contas de armazenamento, grupos de segurança de rede, entre outros.
Entrada Inicial
Uma vez que informações relevantes tenham sido coletadas durante a fase de enumeração não autenticada, é possível utilizar esses dados para obter acesso inicial ao ambiente do Azure. Isso pode envolver a identificação de vulnerabilidades ou configurações inadequadas que possam ser exploradas para ganhar acesso não autorizado.
Você também pode usar um arquivo de texto contendo um endereço de e-mail por linha:
Existem três métodos de enumeração diferentes para escolher:
Método | Descrição |
---|---|
Normal | Isso se refere ao API GetCredentialType mencionado acima. O método padrão. |
Login | Este método tenta fazer login como o usuário. Nota: as consultas serão registradas no log de logins. |
Autologon | Este método tenta fazer login como o usuário via endpoint de autologon. As consultas não são registradas no log de logins! Como tal, funciona bem também para ataques de pulverização de senha e força bruta. |
Depois de descobrir os nomes de usuário válidos, você pode obter informações sobre um usuário com:
O script o365creeper também permite descobrir se um email é válido.
Enumeração de Usuários via Microsoft Teams
Outra boa fonte de informação é o Microsoft Teams.
A API do Microsoft Teams permite pesquisar usuários. Em particular, os endpoints de "pesquisa de usuário" externalsearchv3 e searchUsers podem ser usados para solicitar informações gerais sobre contas de usuários inscritos no Teams.
Dependendo da resposta da API, é possível distinguir entre usuários que não existem e usuários existentes que têm uma assinatura válida do Teams.
O script TeamsEnum pode ser usado para validar um conjunto dado de nomes de usuário contra a API do Teams.
Enumeração não autenticada e Entrada Inicial
Nesta seção, vamos discutir como realizar a enumeração não autenticada e obter acesso inicial em ambientes do Azure.
Enumeração não autenticada
A enumeração não autenticada é uma técnica usada para coletar informações sobre recursos e serviços disponíveis em um ambiente do Azure sem a necessidade de autenticação. Isso pode incluir descobrir informações sobre instâncias de máquinas virtuais, contas de armazenamento, grupos de segurança de rede e muito mais.
Entrada Inicial
Uma vez que a enumeração não autenticada tenha sido realizada com sucesso, o próximo passo é obter acesso inicial ao ambiente do Azure. Isso pode ser feito explorando vulnerabilidades conhecidas, como configurações incorretas de segurança, credenciais fracas ou até mesmo a falta de patches de segurança.
É importante ressaltar que a obtenção de acesso inicial sem autorização é ilegal e deve ser realizada apenas em ambientes nos quais você tenha permissão explícita para realizar testes de segurança.
Além disso, é possível enumerar informações de disponibilidade sobre usuários existentes, como:
Disponível
Ausente
Não perturbe
Ocupado
Offline
Se uma mensagem de ausência do escritório estiver configurada, também é possível recuperar a mensagem usando o TeamsEnum. Se um arquivo de saída foi especificado, as mensagens de ausência do escritório são armazenadas automaticamente no arquivo JSON:
Enumeração não autenticada e entrada inicial
Nesta seção, vamos discutir como realizar a enumeração não autenticada e obter acesso inicial em ambientes do Azure.
Enumeração não autenticada
Para realizar a enumeração não autenticada em um ambiente do Azure, você pode usar ferramentas como Nmap
para identificar serviços em execução e possíveis vulnerabilidades. Além disso, a enumeração de DNS pode revelar informações úteis sobre a infraestrutura do alvo.
Entrada inicial
Após identificar possíveis vulnerabilidades durante a enumeração não autenticada, você pode explorá-las para obter acesso inicial ao ambiente do Azure. Isso pode incluir a exploração de serviços desatualizados, configurações incorretas ou credenciais fracas para ganhar acesso não autorizado. Certifique-se de documentar todas as etapas e resultados para referência futura.
Serviços do Azure
Agora que sabemos os domínios usados pelo inquilino do Azure, é hora de tentar encontrar serviços do Azure expostos.
Você pode usar um método do MicroBust para esse objetivo. Essa função irá procurar o nome do domínio base (e algumas permutações) em vários domínios de serviços do Azure:
Armazenamento Aberto
Você pode descobrir armazenamento aberto com uma ferramenta como InvokeEnumerateAzureBlobs.ps1 que usará o arquivo Microburst/Misc/permitations.txt
para gerar permutações (muito simples) e tentar encontrar contas de armazenamento abertas.
URLs SAS
Um token de acesso compartilhado (SAS) é um URL que fornece acesso a uma determinada parte de uma conta de armazenamento (pode ser um contêiner completo, um arquivo...) com permissões específicas (leitura, escrita...) sobre os recursos. Se você encontrar um vazado, poderá acessar informações sensíveis, eles se parecem com isso (isso é para acessar um contêiner, se fosse apenas concedendo acesso a um arquivo, o caminho do URL também conteria esse arquivo):
https://<storage_account_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
Use Storage Explorer para acessar os dados
Comprometer Credenciais
Phishing
Phishing Comum (credenciais ou Aplicativo OAuth -Ataque de Concessão de Consentimento Ilícito-)
Password Spraying / Brute-Force
pageAz - Password SprayingReferências
Última actualización