In che modo è possibile intercettare il mio traffico HTTPS?

2

Ho un leggero malinteso nel modo in cui funziona TLS. So che posso usare Burpsuite Proxy per intercettare il traffico HTTPS proveniente dal mio browser. Com'è possibile quando il server vedrà il proxy come browser, quindi qualsiasi handshake e crittografia succederà lì e il mio browser riceverà e invierà solo traffico senza sapere nulla di questo?

Credo che la domanda più definitiva che sto chiedendo sia, in che modo utilizzare Burpsuite senza un certificato autofirmato interrompa la connessione TLS e in che modo l'autocertificazione lo risolve?

    
posta Felipe Warrener-Iglesias 17.08.2018 - 13:02
fonte

2 risposte

4

Quando non attacchi il traffico usando MITM, TLS funziona così:

Client <===========> Server

Quando attacchi il traffico utilizzando MITM, ottieni una terza parte da intercettare e una comunicazione proxy

Client <=====> Proxy <======> Server

La sicurezza è negoziata separatamente tra client <==> proxy e proxy <==> server . Un proxy manterrà aperte due connessioni: una con il client e una con il server. Questo è in genere utilizzato da venditori AV, malware e prodotti di filtraggio aziendale. Se un client si affida al certificato del proxy, un browser probabilmente non evidenzierà il fatto che stai parlando con un proxy anziché con un server reale. Vedrai una barra verde in un browser per dire che la comunicazione è crittografata. Se fai clic sul certificato, vedrai il certificato proxy , invece del vero server sertificato. Ovviamente questo non funziona se è coinvolto blocco dei certificati .

Se il client non si fida del certificato proxy (che di solito è il caso a meno che non si installi in modo specifico proxy cert nella memoria del certificato attendibile), verrà visualizzato un errore del certificato.

Ci sono alcuni post online che parlano di Burp, ad esempio questo :

Burp CA certificate - Since Burp breaks SSL connections between your browser and servers, your browser will by default show a warning message if you visit an HTTPS site via Burp Proxy. This is because the browser does not recognize Burp's SSL certificate, and infers that your traffic may be being intercepted by a third-party attacker. To use Burp effectively with SSL connections, you really need to install Burp's Certificate Authority master certificate in your browser, so that it trusts the certificates generated by Burp.

    
risposta data 17.08.2018 - 15:40
fonte
2

Supponiamo di voler accedere alla homepage di SomeService tramite un proxy HTTPS. Inizi creando una connessione tra te e il tuo proxy. Quindi il tuo proxy crea una connessione tra se stesso e SomeService. Il tuo proxy è l'uomo nel mezzo, ma va bene perché sei consapevole di questo e lo vuoi.

Il tuo proxy non avrà problemi a comunicare con SomeService (è solo una normale connessione HTTPS senza MitM), ma il tuo browser avrà problemi a comunicare con il proxy. Questo perché hai digitato " link " nel tuo browser, e ricevendo una risposta da SomeService, hai ricevuto una risposta dal tuo proxy.

Il tuo browser sa che qualcosa non va, perché si aspettava un certificato firmato da qualcuno di cui si fidava che era stato dato a SomeService, ma invece ha ottenuto un certificato firmato da Burpsuite (che non è considerato di default) dicendo "questo è totalmente SomeService .com". Il tuo browser ti mostrerà quindi un errore, dicendo che non ha idea di chi abbia firmato questo certificato e che tu sia probabilmente spiato.

La soluzione è installare un certificato di root da Burpsuite. Quando lo installi, stai dicendo che ti fidi di qualsiasi certificato firmato da Burpsuite, che gli consente di intercettare il tuo traffico senza generare allarmi.

    
risposta data 17.08.2018 - 16:00
fonte