Cosa mi impedisce di usare l'avvelenamento ARP per forzare un client a usare HTTP?

2

Quindi stavo solo pensando a come l'avvelenamento ARP può essere usato per intercettare una richiesta di client, forgiare un certificato SSL e inviarlo indietro, con l'avvertenza di non incontrare la convalida del certificato, ma cosa succederebbe se intercettassi una comunicazione client , invia un 301 alla versione http del sito se la richiesta è SSL, quindi agisci per conto del client quando comunica con il server legittimo su HTTPS.

se il cliente crede che io sia il router, in che modo il client potrebbe mai sapere che è stato forzato su HTTP?

Ovviamente la barra del browser sarebbe bianca, non verde, ma è quasi un punto controverso a prescindere.

    
posta OneChillDude 17.04.2014 - 21:05
fonte

3 risposte

3

Se la richiesta iniziale del client è per HTTPS, il client eseguirà insistere prima facendo l'handshake SSL e solo allora, all'interno del tunnel SSL appena creato, il client invierà la richiesta HTTP effettiva , quello a cui vuoi rispondere con un codice 301. Ciò significa che se il cliente ha inserito l'URL https:// (o l'ha digitato, oppure ha seguito un segnalibro che lo include), quindi, come autore di un attacco, hai ancora un SSL lanciato contro di te.

Ovviamente, se il cliente è incline a fare clic sulle "friggin" avvertenze del browser "allora tutte le scommesse sono disattivate.

Allo stesso modo, se il client digita sempre il nome del server non elaborato e si aspetta che il server riceva la richiesta HTTP e rinvii un reindirizzamento a HTTPS, è possibile intercettare tale reindirizzamento e mantenere il client su un sito falso puro HTTP. Ci riporta sempre al cliente e ciò che è pronto ad accettare. Se il client esegue una richiesta HTTP (non HTTPS) ad un certo punto e non noterà la mancanza dell'icona del lucchetto o della barra dell'URL verde, sarà possibile sfruttare quell'unico punto di vulnerabilità per mantenere il client in un mondo non SSL, intercettando tutti i tentativi di reindirizzamento verso SSL. L'automazione di questo attacco è stata dimostrata con il nome sslstrip .

    
risposta data 17.04.2014 - 21:22
fonte
1

Se il client digita specificatamente https nel proprio browser, non è possibile fare ciò che si sta dicendo, poiché il browser prima richiederebbe il certificato prima di consentire l'invio del reindirizzamento 301. Non hai un certificato valido per il dominio, quindi l'utente vedrebbe un'eccezione del certificato.

Se inizialmente il client non tenta di impostare una connessione HTTPS, ma fa clic su un collegamento HTTPS o ottiene un reindirizzamento HTTPS, ci sono molte cose che puoi fare. Uno strumento per automatizzare questo è sslstrip .

    
risposta data 17.04.2014 - 21:17
fonte
0

Come hanno sottolineato gli altri rispondenti - se il client richiedesse esplicitamente una connessione HTTPS, l'attacco di downgrade che descrivesti non funzionerebbe. Tuttavia, potresti utilizzare un tipo di attacco avvelenante ARP come vettore per uno strumento come sslstrip per trasformare i reindirizzamenti https e https link a http. Questo è il motivo per cui ora abbiamo cose come HTTPS Everywhere e HSTS , per contrastare questi tipi di attacchi.

    
risposta data 19.03.2016 - 21:47
fonte

Leggi altre domande sui tag