Articles

Decrittografia del traffico SSL/TLS con Wireshark

In questo articolo, faremo Linux impostare e catturare HTTPS (Hypertext Transfer Protocol Secure) pacchetti in Wireshark. Quindi proveremo a decodificare le crittografia SSL (Secure Socket Layer).

Nota che: La decrittografia di SSL / TLS potrebbe non funzionare correttamente tramite Wireshark. Questa è solo una prova per vedere cosa è possibile e cosa non è possibile.

Cosa sono SSL, HTTPS e TLS?

In realtà, tutti questi tre termini tecnici sono correlati. Quando usiamo solo HTTP (Hypertext Transfer Protocol), non viene utilizzata alcuna sicurezza del livello di trasporto e possiamo facilmente vedere il contenuto di qualsiasi pacchetto. Ma quando viene utilizzato HTTPS, possiamo vedere che TLS (Transport Layer Security) viene utilizzato per crittografare i dati.

Semplicemente possiamo dire.

HTTP + (over) TLS / SSL = HTTPS

Nota: HTTP invia i dati sulla porta 80 ma HTTPS utilizza la porta 443.

Screenshot per i dati HTTP:

Screenshot per i dati HTTPS:

Configura Linux per il pacchetto SSL descrizione

Passo 1
Aggiungi sotto la variabile d’ambiente all’interno del .file bashrc. Aprire il .bashrc e aggiungere la riga sottostante alla fine del file. Salvare e chiudere il file.

esporta SSLKEYLOGFILE=~/.chiave ssl.log

Ora eseguire il comando qui sotto per ottenere l’effetto di esso.

sorgente~/.bashrc

e ‘ Ora di provare il seguente comando per ottenere il valore di “SSLKEYLOGFILE”

echo $SSLKEYLOGFILE

Ecco lo screenshot per tutti i passaggi di cui sopra

Passo 2
Il precedente file di log non è presente in Linux. Creare il file di registro di cui sopra in Linux. Utilizzare il comando seguente per creare un file di registro.

toccare~/.chiave ssl.log

Passo 3
Avvia Firefox installato di default e apri qualsiasi sito https come Linuxhint o Upwork.

Qui ho preso il primo esempio come upwork.com.

Dopo che il sito Web upwork è stato aperto in Firefox, controlla il contenuto di quel file di registro.

Comando:

cat~/.chiave ssl.log

Se questo file è vuoto, Firefox non utilizza questo file di registro. Chiudere Firefox.

Seguire i seguenti comandi per installare Firefox.

Comandi:

sudo add-apt-repository ppa:ubuntu-mozilla-daily/firefox-aurora
sudo apt-get update
sudo apt-get install firefox

Ora, avviare Firefox e controllare il contenuto del file di log

Comando:

cat ~/.chiave ssl.log

Ora possiamo vedere enormi informazioni come lo screenshot qui sotto. Siamo pronti.

Passo 4
Ora dobbiamo aggiungere questo file di log all’interno di Wireshark. Segui il percorso sottostante:

Wireshark->Edit->Preferences->Protocol->SSL->”Here provide your master secret log file path”.

Follow the below screenshots for visual understanding.

Dopo aver fatto tutte queste impostazioni, fare OK e iniziare a Wireshark sul interfacce necessarie.

Ora il set up è pronto per verificare la decrittografia SSL.

Analisi Wireshark

Dopo Wireshark inizia la cattura, mettere il filtro come “ssl” in modo che solo i pacchetti SSL vengono filtrati in Wireshark.

Guarda lo screenshot qui sotto, qui possiamo vedere HTTP2 (HTTPS) è aperto per alcuni pacchetti che prima erano crittografia SSL/TLS.

Ora possiamo vedere la scheda “SSL decrittografato” in Wireshark e protocolli HTTP2 sono aperti visibili. Vedi lo screenshot qui sotto per i puntatori.

vediamo le differenze tra il “Prima file log SSL abilitato” e “Dopo il file log SSL abilitato” per l’ https://linuxhint.com

Ecco lo screenshot per i pacchetti di Linuxhint quando “SSL log non è stato attivato”

Ecco lo screenshot per i pacchetti di Linuxhint quando “log SSL è abilitato”

Possiamo vedere le differenze facilmente. Nel secondo screenshot, possiamo vedere chiaramente l’URL che è stato richiesto dall’utente.

https://linuxhint.com/bash_scripting_tutorial_beginners/\r\n

Ora possiamo provare altri siti web e osservare se questi metodi funzionano o meno.

Conclusione

I passaggi precedenti mostrano come configurare Linux per decifrare la crittografia SSL / TLS. Possiamo vedere che ha funzionato bene, ma alcuni pacchetti sono ancora crittografati SSL/TLS. Come ho detto prima potrebbe non funzionare per tutti i pacchetti o completamente. Tuttavia, è bene conoscere la decrittografia SSL/TLS.