AWS - Identity Center & SSO Unauthenticated Enum
Phishing del codice del dispositivo AWS
Inizialmente proposto in questo post sul blog, è possibile inviare un link a un utente utilizzando AWS SSO che se l'utente accetta permetterà all'attaccante di ottenere un token per impersonare l'utente e accedere a tutti i ruoli ai quali l'utente è in grado di accedere nel Centro dell'Identità.
Per eseguire questo attacco sono necessari:
La vittima deve utilizzare il Centro dell'Identità
L'attaccante deve conoscere il sottodominio utilizzato dalla vittima
<sottodominiovittima>.awsapps.com/start
Solo con queste informazioni, l'attaccante sarà in grado di inviare un link all'utente che se accettato concederà all'attaccante l'accesso all'account utente AWS.
Attacco
Trova il sottodominio
Il primo passo dell'attaccante è scoprire il sottodominio utilizzato dall'azienda vittima nel loro Centro dell'Identità. Questo può essere fatto tramite OSINT o indovinando + BF poiché la maggior parte delle aziende utilizzerà il proprio nome o una variazione del proprio nome qui.
Con queste informazioni, è possibile ottenere la regione in cui è stata configurata il Centro dell'Identità:
Genera il link per la vittima & Invialo
Esegui il seguente codice per generare un link di accesso AWS SSO in modo che la vittima possa autenticarsi. Per la demo, esegui questo codice in una console python e non uscire in quanto in seguito avrai bisogno di alcuni oggetti per ottenere il token:
Aspetta che la vittima accetti
Se la vittima era già loggata in AWS dovrà solo accettare il concedere i permessi, se non lo era, dovrà effettuare il login e poi accettare il concedere i permessi. Ecco come appare attualmente il prompt:
Ottieni il token di accesso SSO
Se la vittima ha accettato il prompt, esegui questo codice per generare un token SSO impersonando l'utente:
Il token di accesso SSO è valido per 8 ore.
Impersonare l'utente
Phishing dell'MFA non pescabile
È divertente sapere che l'attacco precedente funziona anche se viene utilizzato un "MFA non pescabile" (webAuth). Questo perché il flusso di lavoro precedente non esce mai dal dominio OAuth utilizzato. A differenza di altri attacchi di phishing in cui l'utente deve sostituire il dominio di accesso, nel caso del flusso di lavoro del codice dispositivo è preparato in modo che un codice sia noto da un dispositivo e l'utente può effettuare l'accesso anche da una macchina diversa. Se accettato il prompt, il dispositivo, solo conoscendo il codice iniziale, sarà in grado di recuperare le credenziali dell'utente.
Per ulteriori informazioni su questo controlla questo post.
Strumenti Automatici
Riferimenti
Last updated