hacktricks/pentesting-web/2fa-bypass.md
2024-04-06 18:35:30 +00:00

146 lines
7.9 KiB
Markdown

# 2FA/OTP Bypass
<details>
<summary><strong>Impara l'hacking di AWS da zero a esperto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository GitHub di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## **Tecniche avanzate per bypassare la Two-Factor Authentication (2FA)**
### **Accesso diretto all'endpoint**
Per bypassare la 2FA, accedere direttamente all'endpoint successivo, conoscere il percorso è cruciale. Se non si riesce, modificare l'**header Referrer** per simulare la navigazione dalla pagina di verifica della 2FA.
### **Riutilizzo del token**
Il riutilizzo di token precedentemente utilizzati per l'autenticazione all'interno di un account può essere efficace.
### **Utilizzo di token inutilizzati**
Estrarre un token dal proprio account per bypassare la 2FA in un altro account può essere tentato.
### **Esposizione del token**
Verificare se il token viene divulgato in una risposta dall'applicazione web.
### **Sfruttamento del link di verifica**
Utilizzare il **link di verifica via email inviato durante la creazione dell'account** può consentire l'accesso al profilo senza la 2FA, come evidenziato in un dettagliato [post](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
### **Manipolazione della sessione**
Iniziare sessioni sia per l'account dell'utente che per l'account della vittima e completare la 2FA per l'account dell'utente senza procedere, consente di tentare di accedere al passaggio successivo nel flusso dell'account della vittima, sfruttando le limitazioni della gestione della sessione lato server.
### **Meccanismo di reset della password**
Indagare sulla funzione di reset della password, che effettua l'accesso dell'utente all'applicazione dopo il reset, per verificare se consente più reset utilizzando lo stesso link è cruciale. Effettuare l'accesso con le credenziali appena resettate potrebbe bypassare la 2FA.
### **Compromissione della piattaforma OAuth**
Compromettere l'account di un utente su una piattaforma OAuth affidabile (ad esempio, Google, Facebook) può offrire un percorso per bypassare la 2FA.
### **Attacchi di forza bruta**
#### **Assenza di limiti di velocità**
L'assenza di un limite sul numero di tentativi di codice consente attacchi di forza bruta, anche se potrebbe essere presente un potenziale limite di velocità silenzioso.
#### **Forza bruta lenta**
Un attacco di forza bruta lento è possibile quando esistono limiti di velocità di flusso senza un limite di velocità globale.
#### **Reset del limite di invio del codice**
L'invio del codice ripristina il limite di velocità, agevolando i tentativi di forza bruta continui.
#### **Circumvenzione del limite di velocità lato client**
Un documento illustra le tecniche per eludere il limite di velocità lato client.
#### **Assenza di limiti di velocità per le azioni interne**
I limiti di velocità possono proteggere i tentativi di accesso, ma non le azioni interne dell'account.
#### **Costi di invio ripetuto del codice SMS**
L'invio ripetuto di codici tramite SMS comporta costi per l'azienda, anche se non bypassa la 2FA.
#### **Rigenerazione infinita dell'OTP**
La rigenerazione infinita dell'OTP con codici semplici consente la forza bruta riprovando un piccolo insieme di codici.
### **Sfruttamento delle race condition**
Lo sfruttamento delle race condition per il bypass della 2FA può essere trovato in un documento specifico.
### **Vulnerabilità CSRF/Clickjacking**
Esplorare le vulnerabilità CSRF o Clickjacking per disabilitare la 2FA è una strategia valida.
### **Sfruttamento della funzione "Ricordami"**
#### **Valori prevedibili dei cookie**
Indovinare il valore del cookie "ricordami" può bypassare le restrizioni.
#### **Impersonazione dell'indirizzo IP**
L'impersonazione dell'indirizzo IP della vittima tramite l'header **X-Forwarded-For** può bypassare le restrizioni.
### **Utilizzo di versioni precedenti**
#### **Sottodomini**
Testare i sottodomini potrebbe utilizzare versioni obsolete prive di supporto per la 2FA o contenere implementazioni vulnerabili della 2FA.
#### **Endpoint API**
Le versioni più vecchie dell'API, indicate dai percorsi della directory /v\*, potrebbero essere vulnerabili a metodi di bypass della 2FA.
### **Gestione delle sessioni precedenti**
Terminare le sessioni esistenti al momento dell'attivazione della 2FA protegge gli account dall'accesso non autorizzato da sessioni compromesse.
### **Flaw di controllo degli accessi con codici di backup**
La generazione immediata e il recupero potenzialmente non autorizzato dei codici di backup al momento dell'attivazione della 2FA, specialmente con misconfigurazioni CORS/vulnerabilità XSS, rappresenta un rischio.
### **Divulgazione di informazioni sulla pagina della 2FA**
La divulgazione di informazioni sensibili (ad esempio, il numero di telefono) sulla pagina di verifica della 2FA è un problema.
### **Disabilitazione della 2FA tramite reset della password**
Un processo che dimostra un potenziale metodo di bypass coinvolge la creazione dell'account, l'attivazione della 2FA, il reset della password e l'accesso successivo senza il requisito della 2FA.
### **Richieste fittizie**
Utilizzare richieste fittizie per oscurare i tentativi di forza bruta o ingannare i meccanismi di limitazione della velocità aggiunge un ulteriore livello alle strategie di bypass. La creazione di tali richieste richiede una comprensione dettagliata delle misure di sicurezza dell'applicazione e dei comportamenti di limitazione della velocità.
## Riferimenti
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/it/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
<details>
<summary><strong>Impara l'hacking di AWS da zero a esperto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* \*\*Condividi i tuoi trucchi di hacking inviando PR ai repository GitHub di
</details>