Az - Conditional Access Policies / MFA Bypass
Informações Básicas
As políticas de Acesso Condicional do Azure são regras configuradas no Microsoft Azure para impor controles de acesso a serviços e aplicativos do Azure com base em certas condições. Essas políticas ajudam as organizações a proteger seus recursos aplicando os controles de acesso corretos nas circunstâncias adequadas. As políticas de acesso condicional basicamente definem Quem pode acessar O Que de Onde e Como.
Aqui estão alguns exemplos:
Política de Risco de Login: Esta política pode ser configurada para exigir autenticação multifator (MFA) quando um risco de login é detectado. Por exemplo, se o comportamento de login de um usuário for incomum em comparação com seu padrão regular, como fazer login de um país diferente, o sistema pode solicitar autenticação adicional.
Política de Conformidade de Dispositivo: Esta política pode restringir o acesso aos serviços do Azure apenas a dispositivos que estejam em conformidade com os padrões de segurança da organização. Por exemplo, o acesso pode ser permitido apenas a dispositivos que tenham software antivírus atualizado ou que estejam executando uma determinada versão do sistema operacional.
Bypasses de Políticas de Acesso Condicional
É possível que uma política de acesso condicional esteja verificando algumas informações que podem ser facilmente manipuladas, permitindo um bypass da política. E se, por exemplo, a política estiver configurando MFA, o atacante poderá contorná-la.
Plataformas de Dispositivo - Condição de Dispositivo
É possível definir uma condição com base na plataforma do dispositivo (Android, iOS, Windows, macOS), no entanto, isso é baseado no user-agent, então é bastante fácil de contornar. Mesmo fazendo todas as opções exigirem MFA, se você usar um user-agent que não é reconhecido, conseguirá contornar a MFA.
Localizações: Países, Faixas de IP - Condição de Dispositivo
Claro que, se isso estiver configurado na política condicional, um atacante poderia simplesmente usar uma VPN no país permitido ou tentar encontrar uma maneira de acessar de um endereço IP permitido para contornar essas condições.
Aplicativos Cliente do Office365
Você poderia indicar que, se os clientes acessarem aplicativos do Office 365 pelo navegador, eles precisam de MFA:
Para contornar isso, é possível fingir que você está fazendo login em um aplicativo a partir de um aplicativo de desktop (como no Microsoft Teams no exemplo a seguir), o que contornará a proteção:
Como o aplicativo Microsoft Teams tem muitas permissões, você poderá usar esse acesso.
Você pode encontrar o ID de mais aplicativos públicos com permissões pré-definidas do Office365 no banco de dados do roadtools:
Este ataque é especialmente interessante porque, por padrão, aplicativos públicos do Office365 terão permissões para acessar alguns dados.
Outros aplicativos
Por padrão, outros aplicativos criados por usuários não terão permissões e podem ser privados. No entanto, os usuários também podem criar aplicativos públicos concedendo-lhes algumas permissões.
Um cenário potencial onde uma política é definida para exigir MFA para acessar um aplicativo quando o usuário está usando um navegador (talvez porque seja um aplicativo web e, portanto, será a única maneira), se houver um aplicativo proxy - um aplicativo permitido para interagir com outros aplicativos em nome dos usuários -, o usuário poderia fazer login no aplicativo proxy e então, através deste aplicativo proxy, fazer login no aplicativo inicialmente protegido por MFA.
Verifique as técnicas Invoke-MFASweep e donkeytoken.
Outros Bypasses de MFA do Az
Toque de chamada
Uma opção de MFA do Azure é receber uma chamada no número de telefone configurado onde será solicitado ao usuário que envie o caractere #
.
Como os caracteres são apenas tons, um atacante poderia comprometer a mensagem de correio de voz do número de telefone, configurar como mensagem o tom de #
e então, ao solicitar o MFA, garantir que o telefone da vítima esteja ocupado (ligando para ele) para que a chamada do Azure seja redirecionada para o correio de voz.
Dispositivos Compatíveis
As políticas frequentemente pedem um dispositivo compatível ou MFA, então um atacante poderia registrar um dispositivo compatível, obter um token PRT e burlar assim o MFA.
Comece registrando um dispositivo compatível no Intune, então obtenha o PRT com:
Encontre mais informações sobre esse tipo de ataque na seguinte página:
Ferramentas
Obtenha todas as políticas
MFASweep é um script PowerShell que tenta fazer login em vários serviços da Microsoft usando um conjunto de credenciais fornecido e tentará identificar se o MFA está habilitado. Dependendo de como as políticas de acesso condicional e outras configurações de autenticação multifatorial estão configuradas, alguns protocolos podem acabar sendo deixados como fator único. Ele também possui uma verificação adicional para configurações de ADFS e pode tentar fazer login no servidor ADFS local se detectado.
Donkey token é um conjunto de funções que visa ajudar consultores de segurança que precisam validar Políticas de Acesso Condicional, testes para portais Microsoft com 2FA habilitado, etc..
Teste cada portal se é possível fazer login sem MFA:
Porque o portal Azure não é restrito, é possível coletar um token do endpoint do portal para acessar qualquer serviço detectado pela execução anterior. Neste caso, o Sharepoint foi identificado, e um token para acessá-lo é solicitado:
Supondo que o token tenha a permissão Sites.Read.All (do Sharepoint), mesmo que você não consiga acessar o Sharepoint pela web por causa do MFA, é possível usar o token para acessar os arquivos com o token gerado:
Referências
Last updated