8.5 KiB
Account Takeover
{% hint style="success" %}
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Problema di Autorizzazione
L'email di un account dovrebbe essere tentata per essere cambiata, e il processo di conferma deve essere esaminato. Se risulta debole, l'email dovrebbe essere cambiata con quella della vittima designata e poi confermata.
Problema di Normalizzazione Unicode
- L'account della vittima designata
victim@gmail.com
- Un account dovrebbe essere creato utilizzando Unicode
per esempio:vićtim@gmail.com
Come spiegato in questo intervento, l'attacco precedente potrebbe essere effettuato abusando dei fornitori di identità di terze parti:
- Crea un account nel fornitore di identità di terze parti con un'email simile a quella della vittima utilizzando qualche carattere unicode (
vićtim@company.com
). - Il fornitore di terze parti non dovrebbe verificare l'email
- Se il fornitore di identità verifica l'email, forse puoi attaccare la parte di dominio come:
victim@ćompany.com
e registrare quel dominio e sperare che il fornitore di identità generi la versione ascii del dominio mentre la piattaforma della vittima normalizza il nome del dominio. - Accedi tramite questo fornitore di identità nella piattaforma della vittima che dovrebbe normalizzare il carattere unicode e permetterti di accedere all'account della vittima.
Per ulteriori dettagli, fare riferimento al documento sulla Normalizzazione Unicode:
{% content-ref url="unicode-injection/unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}
Riutilizzo del Token di Reset
Se il sistema target consente il riutilizzo del link di reset, dovrebbero essere fatti sforzi per trovare più link di reset utilizzando strumenti come gau
, wayback
o scan.io
.
Pre Account Takeover
- L'email della vittima dovrebbe essere utilizzata per registrarsi sulla piattaforma, e dovrebbe essere impostata una password (si dovrebbe tentare di confermarla, anche se la mancanza di accesso alle email della vittima potrebbe rendere questo impossibile).
- Si dovrebbe aspettare fino a quando la vittima si registra utilizzando OAuth e conferma l'account.
- Si spera che la registrazione regolare venga confermata, consentendo l'accesso all'account della vittima.
Misconfigurazione CORS per Account Takeover
Se la pagina contiene misconfigurazioni CORS potresti essere in grado di rubare informazioni sensibili dall'utente per prendere il controllo del suo account o fargli cambiare le informazioni di autenticazione per lo stesso scopo:
{% content-ref url="cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}
Csrf per Account Takeover
Se la pagina è vulnerabile a CSRF potresti essere in grado di far modificare all'utente la sua password, email o autenticazione in modo da poter accedere:
{% content-ref url="csrf-cross-site-request-forgery.md" %} csrf-cross-site-request-forgery.md {% endcontent-ref %}
XSS per Account Takeover
Se trovi un XSS nell'applicazione potresti essere in grado di rubare cookie, storage locale, o informazioni dalla pagina web che potrebbero permetterti di prendere il controllo dell'account:
{% content-ref url="xss-cross-site-scripting/" %} xss-cross-site-scripting {% endcontent-ref %}
Stessa Origine + Cookie
Se trovi un XSS limitato o un takeover di sottodominio, potresti giocare con i cookie (fissandoli ad esempio) per cercare di compromettere l'account della vittima:
{% content-ref url="hacking-with-cookies/" %} hacking-with-cookies {% endcontent-ref %}
Attacco al Meccanismo di Reset della Password
{% content-ref url="reset-password.md" %} reset-password.md {% endcontent-ref %}
Manipolazione della Risposta
Se la risposta di autenticazione può essere ridotta a un semplice booleano prova a cambiare false in true e vedere se ottieni accesso.
OAuth per Account Takeover
{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}
Iniezione dell'Intestazione Host
- L'intestazione Host viene modificata dopo l'inizio di una richiesta di reset della password.
- L'intestazione proxy
X-Forwarded-For
viene alterata inattacker.com
. - Le intestazioni Host, Referrer e Origin vengono cambiate simultaneamente in
attacker.com
. - Dopo aver avviato un reset della password e poi optato per rinviare la mail, vengono impiegati tutti e tre i metodi sopra menzionati.
Manipolazione della Risposta
- Manipolazione del Codice: Il codice di stato viene alterato in
200 OK
. - Manipolazione del Codice e del Corpo:
- Il codice di stato viene cambiato in
200 OK
. - Il corpo della risposta viene modificato in
{"success":true}
o un oggetto vuoto{}
.
Queste tecniche di manipolazione sono efficaci in scenari in cui viene utilizzato JSON per la trasmissione e la ricezione dei dati.
Cambiare l'email della sessione corrente
Da questo rapporto:
- L'attaccante richiede di cambiare la sua email con una nuova
- L'attaccante riceve un link per confermare il cambio dell'email
- L'attaccante invia alla vittima il link affinché lo clicchi
- L'email della vittima viene cambiata in quella indicata dall'attaccante
- L'attaccante può recuperare la password e prendere il controllo dell'account
Questo è accaduto anche in questo rapporto.
Vecchi Cookie
Come spiegato in questo post, era possibile accedere a un account, salvare i cookie come utente autenticato, disconnettersi e poi accedere di nuovo.
Con il nuovo accesso, anche se potrebbero essere generati cookie diversi, i vecchi hanno ricominciato a funzionare.
Riferimenti
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
{% hint style="success" %}
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.