Come sfogliare il protocollo proprietario su SSL?

8

Sto facendo ricerche di vulnerabilità su un'architettura client / server che utilizza un protocollo proprietario personalizzato inviato su SSL (porta 443). Devo essere in grado di intercettare il traffico ed essere in grado di visualizzarlo in testo chiaro in qualcosa come Wireshark , modificare il traffico e quindi inviarlo al server. Il "client" è un plug-in per ufficio Microsoft. Il mio obiettivo finale è quello di essere in grado di confondere le comunicazioni di rete non crittografate.

Ho provato a generare un certificato autofirmato con OpenSSL e a importare la chiave privata in Wireshark come protocollo "dati", ma senza fortuna. Vedo ancora i dati come "Dati applicazioni crittografati" .

Ho provato a seguire questi due collegamenti:

ma forniscono esempi per HTTP . Non sono sicuro se c'è qualche differenza, perché questo è un protocollo proprietario (ancora inviato sulla porta 443).

Il mio obiettivo finale è quello di poter utilizzare un fuzzer, come Sulley , per sondare il server alla ricerca di vulnerabilità. Qualcuno consiglia un buon modo per realizzare questo?

    
posta eliteparakeet 17.06.2013 - 23:59
fonte

3 risposte

9

Esistono due modi per decodificare il traffico SSL in transito:

Il primo è avere la chiave privata del server. Se lo hai, puoi nutrirlo con wireshark che farà il resto. Ci sono anche una manciata di strumenti dedicati per questo. Ma non può essere fatto senza la chiave privata del server.

Il secondo è MITM la connessione. Fiddler lo farà, come accennato in precedenza, e ci sono diversi strumenti di livello industriale che faranno altrettanto. Il problema è che è necessario disporre di un certificato attendibile dal cliente. Se utilizza l'archivio CA di Windows standard, dovrebbe essere sufficiente aggiungere il certificato di firma come CA sul computer client.

La seconda opzione suona più come quello che vuoi fare, e Fiddler suona molto simile allo strumento che stai cercando, dal momento che "giocherellare" con una connessione è esattamente quello che stai cercando di fare.

Si noti che se si sta lavorando con un protocollo personalizzato, ciò che si sta tentando di fare potrebbe comportare la scrittura di un codice personalizzato. Ma è possibile.

    
risposta data 18.06.2013 - 06:07
fonte
3

Potresti provare un debugger del proxy HTTP come fiddler e Burp Suite , perché anche HTTPS invia dati su un livello SSL, che è lo stesso del protocollo personalizzato su SSL. I debugger del proxy utilizzano un approccio man-in-the-middle, quindi è necessario impostare il certificato di Fiddler come attendibile dal client. Non è necessario generare un certificato utilizzando questo approccio.

    
risposta data 18.06.2013 - 05:38
fonte
0

Prova tcpcatcher (gratuito, Java), o vedi la mia risposta a Qual è un modo semplice per eseguire un attacco man-in-the-middle su SSL? per un breve elenco di altri strumenti e metodi.

Se sei stato in grado di far utilizzare al server il tuo certificato autofirmato, dovresti essere in grado di usare Wireshark, ma devi limitare i codici in modo che uno scambio di chiavi EDH non sia usato (no PFS , e vedi il rispondi a Perché diverse tecniche di scambio chiave per lo scambio di chiavi SSL? ). Il primo link che hai postato si riferisce all'utilizzo di EDH in "Metodo due" per impedire l'intercettazione quando Eve ha la chiave privata RSA.

    
risposta data 18.06.2013 - 12:47
fonte

Leggi altre domande sui tag