|
|
# TP Freak
|
|
|
*Par question de temps, nous ne pourrons aborder que la faille FREAK et non LogJam. Néanmoins, comme vous l’aurez compris en cours, les principes sont les mêmes, mais surviennent à des moments différents. Une fois qu’une des failles est comprise, il suffit de comprendre quand intervient l’autre.*
|
|
|
|
|
|
|
|
|
## Partie 0 - Configuration de l’environnement (2 minutes)
|
|
|
|
|
|
Pour cela, lancez vdn, sur le réseau secure, et clonez le [dépôt](https://codefirst.iut.uca.fr/git/corentin.lemaire/FreakTP). Vous y trouverez un fichier **httpd.conf** (ex 2) et une image docker appelée **openssl-image** (pour l’exercice 3).
|
|
|
Lancer les commandes suivantes à la racine du dépot pour la partie 3:
|
|
|
```bash
|
|
|
python3 -m venv .venv
|
|
|
source .venv/bin/activate/
|
|
|
pip3 install pycryptodome sympy
|
|
|
```
|
|
|
|
|
|
## Partie 1 - Étude des failles (10 minutes)
|
|
|
|
|
|
### Exercice 1
|
|
|
Quelles sont les versions vulnérables de OpenSSL et httpd aux failles FREAK et
|
|
|
LogJam ?
|
|
|
Trouver des serveurs d’archives contenant toutes les versions de ces outils, on ne
|
|
|
vous demande pas de la télécharger
|
|
|
|
|
|
### Exercice 2
|
|
|
Dans le httpd.conf donné dans l’archive de ce TP, qu'est-ce qui fait qu’un serveur
|
|
|
ayant cette configuration soit vulnérable ?
|
|
|
|
|
|
|
|
|
## Partie 2 - Pratique (18 minutes)
|
|
|
|
|
|
### Exercice 3
|
|
|
Installez une version de OpenSSL vulnérable (de préférence pas trop vieille).
|
|
|
Dans cette version, quelles sont les suites de chiffrement vulnérables et pourquoi ?
|
|
|
Cherchez une commande pour afficher les ciphers de votre version d’OpenSSL
|
|
|
|
|
|
**Commandes utiles :**
|
|
|
```bash
|
|
|
docker load -i openssl-image
|
|
|
docker run -it –name (nom conteneur) openssl-image bash
|
|
|
openssl ciphers
|
|
|
```
|
|
|
|
|
|
### Exercice 4
|
|
|
Nous avons récupéré une trame via l’attaque FREAK. Concrètement, P. Lafourkade
|
|
|
a échangé des données avec un site web vulnérable. Malheureusement, lui aussi
|
|
|
Clément Chieu, Mathis Delage, Renaud Beuret et Corentin Lemaire
|
|
|
était vulnérable, car il avait essayé de refaire l’attaque FREAK et avait donc installé
|
|
|
une ancienne version d’OpenSSL, sans la remettre à jour derrière.
|
|
|
À cause de cela, L. Profot a profité de l’échange pour forcer l’échange entre le
|
|
|
serveur et P. Lafourkade à utiliser une suite de chiffrement de type EXPORT limitant
|
|
|
la taille des clés à 128 bits. Dans sa “bienveillance”, il a partagé la clé publique de
|
|
|
128 bits utilisée par P. Lafourcade. Saurez-vous déchiffrer les secrets de P.
|
|
|
Lafourkade ?
|
|
|
|
|
|
Maintenant que vous avez la clé privée, vous pouvez déchiffrer tous les messages
|
|
|
de P. Lafourkade. Nous espérons que vous avez compris la faille FREAK et pourquoi
|
|
|
la taille de clé est importante.
|
|
|
|
|
|
### Exercice Bonus
|
|
|
Une nouvelle trame a été interceptée, mais la clé est de taille 256 bits cette fois. Retrouver
|
|
|
la clé privée. Comparez les temps pour casser une clé de 128 et 256 bits.
|
|
|
|
|
|
## Autres
|
|
|
Durant la création de ce TP, j'écoutais :
|
|
|
<img src="useless/buffalo.jpg" width="200"/> | [**Bon anniversaire les petits indiens**](https://www.youtube.com/watch?v=yK25b9KHyZM) - *Buffalo - (2012)* |
|