Articles

Décryptage du trafic SSL/TLS avec Wireshark

Dans cet article, nous allons configurer Linux et capturer des paquets HTTPS (Hypertext Transfer Protocol Secure) dans Wireshark. Ensuite, nous allons essayer de décoder les chiffrements SSL (Secure Socket Layer).

Notez que: Le décryptage de SSL / TLS peut ne pas fonctionner correctement via Wireshark. Ce n’est qu’un essai pour voir ce qui est possible et ce qui n’est pas possible.

Que sont SSL, HTTPS et TLS ?

En fait, tous ces trois termes techniques sont interdépendants. Lorsque nous utilisons uniquement HTTP (Hypertext Transfer Protocol), aucune sécurité de la couche de transport n’est utilisée et nous pouvons facilement voir le contenu de n’importe quel paquet. Mais lorsque HTTPS est utilisé, nous pouvons voir que TLS (Transport Layer Security) est utilisé pour crypter les données.

Simplement, nous pouvons dire.

HTTP+(over)TLS/SSL=HTTPS

Remarque: HTTP envoie des données sur le port 80 mais HTTPS utilise le port 443.

Capture d’écran pour les données HTTP:

Capture d’écran pour les données HTTPS:

Configurez Linux pour la description des paquets SSL

Étape 1
Ajoutez la variable d’environnement ci-dessous à l’intérieur du.fichier bashrc. Ouvrez le.fichier bashrc et ajoutez la ligne ci-dessous à la fin du fichier. Enregistrez et fermez le fichier.

export SSLKEYLOGFILE=~/.clé ssl.log

Exécutez maintenant la commande ci-dessous pour en obtenir l’effet.

source ~/.bashrc

Maintenant, essayez la commande ci-dessous pour obtenir la valeur de « SSLKEYLOGFILE”

echo $SSLKEYLOGFILE

Voici la capture d’écran pour toutes les étapes ci-dessus

Étape 2
Le fichier journal ci-dessus n’est pas présent sous Linux. Créez le fichier journal ci-dessus sous Linux. Utilisez la commande ci-dessous pour créer un fichier journal.

touche ~/.clé ssl.log

Étape 3
Lancez Firefox installé par défaut et ouvrez n’importe quel site https comme Linuxhint ou Upwork.

Ici, j’ai pris le premier exemple comme upwork.com .

Une fois le site Web upwork ouvert dans Firefox, vérifiez le contenu de ce fichier journal.

Commande:

cat ~/.clé ssl.log

Si ce fichier est vide, Firefox n’utilise pas ce fichier journal. Fermez Firefox.

Suivez les commandes ci-dessous pour installer Firefox.Commandes

:

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

Maintenant, lancez Firefox et vérifiez le contenu de ce fichier journal

Commande:

cat ~/.clé ssl.log

Maintenant, nous pouvons voir d’énormes informations comme la capture d’écran ci-dessous. Nous sommes prêts à partir.

Étape 4
Maintenant, nous devons ajouter ce fichier journal dans Wireshark. Suivez le chemin ci-dessous:

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

Follow the below screenshots for visual understanding.

Après avoir effectué tous ces paramètres, faites OK et démarrez Wireshark sur les interfaces requises.

Maintenant, la configuration est prête à vérifier le déchiffrement SSL.

Analyse de Wireshark

Une fois que Wireshark commence à capturer, mettez le filtre en tant que « ssl” afin que seuls les paquets SSL soient filtrés dans Wireshark.

Regardez la capture d’écran ci-dessous, ici nous pouvons voir que HTTP2 (HTTPS) est ouvert pour certains paquets qui étaient auparavant cryptés SSL / TLS.

Maintenant, nous pouvons voir l’onglet « SSL déchiffré” dans Wireshark et les protocoles HTTP2 sont ouverts visibles. Voir la capture d’écran ci-dessous pour les pointeurs.

Voyons les différences entre « Avant le fichier journal SSL activé” et « Après le fichier journal SSL activé” pour https://linuxhint.com

Voici la capture d’écran pour les paquets de Linuxhint lorsque « le journal SSL n’était pas activé”

Voici la capture d’écran pour les paquets de Linuxhint lorsque « le journal SSL était activé”

Nous pouvons voir les différences facilement. Dans la deuxième capture d’écran, nous pouvons clairement voir l’URL demandée par l’utilisateur.

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

Maintenant, nous pouvons essayer d’autres sites Web et observer si ces méthodes fonctionnent ou non.

Conclusion

Les étapes ci-dessus montrent comment configurer Linux pour déchiffrer le cryptage SSL/TLS. Nous pouvons voir que cela a bien fonctionné mais certains paquets sont toujours cryptés SSL / TLS. Comme je l’ai mentionné plus tôt, cela peut ne pas fonctionner pour tous les paquets ou complètement. Pourtant, c’est un bon apprentissage du décryptage SSL / TLS.