1- Stéganographie
La stéganographie est « l’art de la dissimulation ». Cela consiste à cacher un
message/fichier dans un objet anodin. Il y a de nombreux exemples d’usage de
cette technique depuis l’antiquité (tatouage sur le crane en attendant que les
cheveux repoussent, encre invisible, micropoint, ...).
L’informatique permet d’affiner cette technique en ajoutant des fichiers
dans un autre fichier d’apparence anodine (utilisation par exemple de la technique
LSB – Least Significant Bit)
Exercice: 1
Commençons par installer steghide en tapant :
$ sudo apt-get install steghide |
Téléchargez le fichier image canal_midi.jpg et le
fichier image canal.jpg. Regardez les deux images.
Voyez vous des différences ?
Vous avez appris par ailleurs que la passphrase utilisée est « canal ».
Vérifiez que la photo canal_midi.jpg contient bien du contenu caché en utilisant
$ steghide info canal_midi.jpg |
Vérifiez que la photo canal.jpg ne contient rien de codé avec ce mot
de passe.
Extrayez ensuite le contenu en tapant :
$ steghide extract -sf canal_midi.jpg |
2- Attaque de mots de passe par force brute
Nous allons maintenant essayer de cracker un mot de passe par force brute
(essai de toutes les combinaisons possibles). Il existe de nombreux logiciels
permettant de tester toutes les combinaisons, alliant usage de la puissance du
processeur comme celle de la carte graphique (GPU).
Téléchargez le fichier crack.zip.
Par « chance », vous avez appris par ailleurs que le mot de passe est au
maximum composé de 5 éléments et seulement composé de caractères en minuscules
Calculez le nombre d’essais à effectuer maximum pour cracker le mot de passe.
Estimer ce nombre d’essais si on utilise des majuscules. Qu’en concluez-vous ?
Pour essayer de décrypter le mot de passe, installons le logiciel fcrackzip
(outil de décryptage) :
$ sudo apt-get install fcrackzip
|
Décodons ensuite le fichier en utilisant :
$ fcrackzip -u -c a -p aaaaa crack.zip
|
- -u permet d’essayer le mot de passe trouvé avec unzip
- -c a indique que vous allez utiliser tous les caractères en minuscules pour
essayer de décrypter le mot de passe
- -p aaaaa indique que vous voulez décoder jusqu’à 5 caractères
3- Exercice récapitulant le tout
En sachant que pour encoder un fichier, il faut utiliser la commande
$ steghide
embed -cf fichier.jpg -ef fichier_à_cacher,
|
- Créez un fichier zip contenant n’importe quoi protégé par un mot de passe de
5 lettres.
- Créez un deuxième fichier zip protégé par un autre mot de passe (à vous de
décider lequel avec la taille de votre choix) contenant votre clé publique.
- Cachez votre fichier zip dans une image jpeg en utilisant le premier mot de
passe
- Partagez deux images jpeg dont l’une contenant le message caché et le premier
fichier zip
- Récupérez le travail d’un de vos collègues et essayez de retrouver la clé
publique partagée !
- Codez un message secret avec la clé publique trouvée et la transmettre à
votre collègue
- Récupérez le message codé et le décoder...
Si vous voulez aller plus loin vous pouvez utiliser la version Kali Linux qui propose de nombreux outils de
crytpanalyse/test de pénétrations et autre soutils pour la sécurité
informatique.