AWS - Identity Center & SSO Unauthenticated Enum
Phishing de Código de Dispositivo AWS
Inicialmente proposto em este post de blog, é possível enviar um link para um usuário usando o AWS SSO que, se o usuário aceitar, o atacante poderá obter um token para se passar pelo usuário e acessar todas as funções às quais o usuário pode acessar no Centro de Identidade.
Para realizar esse ataque, os requisitos são:
A vítima precisa usar o Centro de Identidade
O atacante deve saber o subdomínio usado pela vítima
<victimsub>.awsapps.com/start
Apenas com essas informações, o atacante poderá enviar um link para o usuário que, se aceito, concederá ao atacante acesso à conta de usuário AWS.
Ataque
Encontrando o subdomínio
O primeiro passo do atacante é descobrir o subdomínio que a empresa da vítima está usando em seu Centro de Identidade. Isso pode ser feito via OSINT ou adivinhação + BF, pois a maioria das empresas estará usando seu nome ou uma variação de seu nome aqui.
Com essas informações, é possível obter a região onde o Centro de Identidade foi configurado com:
Gerar o link para a vítima e Enviá-lo
Execute o seguinte código para gerar um link de login do AWS SSO para que a vítima possa autenticar-se. Para a demonstração, execute este código em um console Python e não saia dele, pois posteriormente você precisará de alguns objetos para obter o token:
Aguarde até que a vítima aceite
Se a vítima já estiver logada na AWS, ela só precisará aceitar a concessão de permissões, caso contrário, ela precisará fazer login e depois aceitar a concessão de permissões. É assim que a solicitação parece atualmente:
Obtenha o token de acesso SSO
Se a vítima aceitou a solicitação, execute este código para gerar um token SSO se passando pelo usuário:
O token de acesso SSO é válido por 8h.
Impersonate the user
Phishing do MFA intransponível
É interessante saber que o ataque anterior funciona mesmo se um "MFA intransponível" (webAuth) estiver sendo usado. Isso ocorre porque o fluxo de trabalho anterior nunca deixa o domínio OAuth usado. Ao contrário de outros ataques de phishing onde o usuário precisa substituir o domínio de login, no caso do fluxo de código do dispositivo, um código é conhecido por um dispositivo e o usuário pode fazer login mesmo em uma máquina diferente. Se aceitar o prompt, o dispositivo, apenas por conhecer o código inicial, será capaz de recuperar credenciais para o usuário.
Para mais informações sobre isso verifique este post.
Ferramentas Automáticas
Referências
Última actualización