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
- 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 github.
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.
Sfruttamento del link di verifica
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”
Valori cookie prevedibili
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
- https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35
- https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718
- https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116_1d0f6ce59992222b0812b7cab19a4bce
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
- 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 github.
HackTricks

