MITM sul programma senza impostazioni proxy

2

Sto cercando di ispezionare il traffico di un programma (che è in esecuzione sul mio computer) che utilizza SSL su TCP su una porta non standard. Il traffico potrebbe essere o meno il traffico HTTP, probabilmente no. Né Charles né Fiddler2 sono in grado di rilevare la connessione. Come posso vedere il traffico non criptato? La soluzione deve funzionare su Windows 7.

    
posta Telanor 23.11.2014 - 22:22
fonte

3 risposte

3

Wireshark dovrebbe essere in grado di farlo. Tuttavia, il processo non è così semplice come si dovrebbe scansionare la memoria per il master secret.

Ecco un tutorial su come decrittografare SSL senza accesso alla chiave privata principale.

  1. Identifica il segreto principale e la chiave di sessione corrispondente. Questo può essere trovato nella porzione "Server Hello" dell'handshake SSL.
  2. Configura Wireshark per utilizzare il segreto principale. Salva la chiave master in un file di testo e configura wireshark per utilizzare il file segreto principale.
  3. Decifra la sessione SSL malware crittografata. Aprire il file pcap, fare clic con il tasto destro del mouse sulla sessione e selezionare "Follow SSL Stream".
risposta data 24.11.2014 - 04:26
fonte
1

Se il software utilizza una porta fissa e un nome host anziché IP per la connessione, è possibile reindirizzare il traffico al computer locale e utilizzarlo, ad es. ncat per rimuovere e readd ssl, quindi ispezionare il traffico in mezzo. Commenta se hai bisogno di maggiori dettagli.

    
risposta data 24.11.2014 - 07:49
fonte
1

Burp Suite può farlo al traffico MITM HTTP e HTTPS.

Questo è molto semplice tramite modalità proxy invisibile :

Normally, web proxies need to receive the full URL in the first line of the request in order to determine which destination host to forward the request to (they do not look at the Host header to determine the destination). If invisible proxying is enabled, when Burp receives any non-proxy-style requests, it will by parse out the contents of the Host header, and use that as the destination host for that request.

When using HTTPS with a proxy, clients send a CONNECT request identifying the destination host they wish to connect to, and then perform SSL negotiation. However, non-proxy-aware clients will proceed directly to SSL negotiation, believing they are communicating directly with the destination host. If invisible proxying is enabled, Burp will tolerate direct negotiation of SSL by the client, and again will parse out the contents of the Host header from the decrypted request.

Ovviamente l'applicazione dovrebbe avere fiducia nella CA radice di Burp e nel certificato che viene generato automaticamente da essa (cioè l'applicazione non sta usando pinning e utilizza radici attendibili a livello di sistema operativo, non le sue).

    
risposta data 03.08.2015 - 18:05
fonte

Leggi altre domande sui tag