2FA/MFA/OTP Bypass

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Tecniche avanzate per il bypass di 2FA

Accesso diretto all’endpoint

Per bypassare 2FA, accedi direttamente all’endpoint successivo: conoscere il path è cruciale. Se non funziona, modifica l’header Referrer per simulare la navigazione dalla pagina di verifica 2FA.

Riutilizzo del token

Il riutilizzo di token precedentemente usati per l’autenticazione all’interno di un account può essere efficace.

Utilizzo di token non usati

Si può tentare di estrarre un token dal proprio account per bypassare 2FA in un altro account.

Esposizione del token

Verifica se il token viene rivelato nella risposta dell’applicazione web.

L’uso del link di verifica inviato via email alla creazione dell’account può permettere l’accesso al profilo senza 2FA, come evidenziato in un dettagliato post.

Manipolazione della sessione

Avviare sessioni sia per l’utente attacker che per la vittima, e completare 2FA solo per l’account attacker senza procedere, consente di provare ad accedere allo step successivo nel flusso dell’account vittima, sfruttando limitazioni nella gestione della sessione lato backend.

Meccanismo di reset della password

Analizza la funzione di password reset, che esegue il login nell’app dopo il reset, per capire se è possibile usare più volte lo stesso link. Effettuare il login con le credenziali appena resettate potrebbe bypassare 2FA.

Compromissione di piattaforme OAuth

Compromettere l’account di un utente su una piattaforma OAuth trusted (es. Google, Facebook) può offrire una via per bypassare 2FA.

Attacchi di brute force

Assenza di rate limit

L’assenza di un limite sul numero di tentativi di codice permette attacchi brute force, anche se è possibile che ci siano limitazioni silenti.

Nota che anche se è presente un rate limit dovresti verificare se la risposta cambia quando viene inviato l’OTP valido. In this post, il bug hunter ha scoperto che anche se il rate limit viene attivato dopo 20 tentativi falliti rispondendo con 401, se viene inviato quello valido si riceve una 200.

Slow brute force

Un attacco di brute force lento è praticabile quando esistono rate limit sul flusso ma non un limite globale.

Reset del limite tramite reinvio del codice

Il reinvio del codice può resettare il rate limit, facilitando ulteriori tentativi di brute force.

Circumventare rate limit client-side

Esistono tecniche documentate per bypassare il rate limiting lato client.

Azioni interne senza rate limit

I rate limit possono proteggere i tentativi di login ma non le azioni interne dell’account.

Costi del reinvio SMS

Il reinvio eccessivo dei codici via SMS genera costi per l’azienda, pur non bypassando 2FA.

Rigenerazione infinita di OTP

La generazione infinita di OTP con codici semplici permette il brute force riprovando un piccolo set di codici.

Sfruttamento di race condition

Sfruttare race condition per bypassare 2FA è descritto in un documento specifico.

Vulnerabilità CSRF/Clickjacking

Esplorare vulnerabilità CSRF o Clickjacking per disabilitare 2FA è una strategia valida.

Exploit della funzione “Remember Me”

Indovinare il valore del cookie “remember me” può bypassare le restrizioni.

Impersonificazione dell’indirizzo IP

Impersonare l’IP della vittima tramite l’header X-Forwarded-For può bypassare restrizioni basate sull’IP.

Utilizzo di versioni più vecchie

Sottodomini

Testare sottodomini che potrebbero essere su versioni vecchie prive di supporto 2FA o con implementazioni 2FA vulnerabili.

Endpoint API

Vecchie versioni di API, indicate da percorsi /v*/ possono essere vulnerabili a metodi di bypass 2FA.

Gestione di sessioni precedenti

Terminare le sessioni esistenti al momento dell’attivazione di 2FA protegge gli account da accessi non autorizzati da sessioni compromesse.

Controlli di accesso con backup codes

La generazione immediata e il possibile recupero non autorizzato dei backup codes alla attivazione di 2FA, specialmente con misconfigurazioni CORS o vulnerabilità XSS, rappresenta un rischio.

Disclosure di informazioni sulla pagina 2FA

La divulgazione di informazioni sensibili (es. numero di telefono) nella pagina di verifica 2FA è un problema.

Reset password che disabilita 2FA

Un processo che dimostra un possibile bypass coinvolge la creazione dell’account, l’attivazione di 2FA, il reset della password e il successivo login senza richiesta di 2FA.

Decoy requests

Usare decoy requests per offuscare i tentativi di brute force o fuorviare i meccanismi di rate limiting aggiunge un ulteriore livello alle strategie di bypass. Creare tali richieste richiede una comprensione fine delle misure di sicurezza dell’applicazione e dei comportamenti del rate limiting.

Errori nella costruzione dell’OTP

Se l’OTP è creato sulla base di dati che l’utente possiede già o che vengono inviati prima della creazione dell’OTP, è possibile che l’utente riesca a generarne uno valido e bypassare la verifica.

References

P

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks