Comment fonctionne
le cryptage des fichiers et comment décrypter
un fichier ?
Dernière mise à jour : 07/04/2005
- Principes généraux
- Crypter un fichier
- Créer un agent de récupération
des données
- Sauvegarder une clé privée et son
certificat
- Restaurer un certificat ainsi que sa clé
- Désactiver la fonction
de cryptage
- Ajouter la commande "Crypter" dans
le menu contextuel de l' Explorateur
- Utiliser Cipher.exe
- Utiliser Efinfo.exe
- Récupérer un fichier cypté
- Utiliser Advanced EFS Data Recovery
pour récupérer un fichier crypté
- Sam Inside : Cracker un mot de
passe protégeant un compte d'utilisateur
- Crypter et décrypter
un fichier en utilisant la technologie EFS :
EFS utilise un double mécanisme de chiffrement utilisant
un algorithme appelé DESX 128 bits. Il est possible de
spécifier l'utilisation d'un algorithme FIPS en suivant
cette procédure :
1) Cliquez sur Démarrer/Exécuter puis saisissez
: gpedit.msc
2) Ouvrez Stratégie ordinateur local/Paramètres
Windows/Paramètres de sécurité/Stratégies
locales/Options de sécurité
3) Double-cliquez sur cette stratégie : Cryptographie système
: utilisez des algorithmes compatibles FIPS pour le cryptage,
le hachage et la signature
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Valeur DWORD 1 nommée : fipsalgorithmpolicy
- Crypter un fichier
:
1) Dans l'explorateur Windows cliquez avec le bouton droit de
la souris sur un fichier "test" puis sur la commande
Propriétés.
2) Cliquez sur bouton Avancé...
3) Cochez la case Crypter le contenu pour sécuriser les
données
Une boîte de dialogue vous demandera si vous souhaitez crypter
également le dossier parent ou seulement le fichier.
Si vous cliquez à nouveau sur le bouton Avancé vous
aurez alors accès au bouton Détails.
Il sera spécifié le nom de l'utilisateur pouvant
accéder de manière transparente au fichier et, éventuellement,
le nom de l'agent de récupération (il peut y en
avoir plusieurs).
Si vous cliquez sur le bouton Ajouter, il est possible de définir
d'autres utilisateurs qui pourront accéder de manière
transparente au fichier.
Le système génère un certificat de cryptage
pour chaque utilisateur . Ce certificat est doté d' une
paire de clés. Une clé secrète est attribuée
au fichier et sera cryptée à son tour à l'
aide de la clé publique.
- Créer un agent
de récupération des données :
L'intérêt consiste en ce qu'un agent de récupération
des données sera capable de récupérer un
fichier quelque soit l'utilisateur qui l'aura chiffré.
1) Ouvrez une session sur le compte désigné comme
agent récupérateur.
2) Cliquez sur Démarrer/Exécuter puis saisissez
: cmd
3) En Invite de commandes saisissez : cipher /r:Nom_Fichier
Nom_Fichier peut être n'importe quoi.
Il vous est demandé de saisir un mot de passe.
Deux fichiers seront créés dans le répertoire
par défaut. Par exemple :
cipher /r:jean
jean.CER : Certificat de sécurité
jean.PFX : Échange d'informations personnelles
Il est conseillé de sauvegarder ces deux fichiers sur un
support amovible.
4) Cliquez sur Démarrer/Exécuter puis saisissez
: gpedit.msc
5) Ouvrez : Stratégie ordinateur local/Paramètres
Windows/Paramètres de sécurité/Stratégies
de clé publique/Système de fichiers EFS (Encrypting
File System).
6) Avec le bouton droit de la souris cliquez sur une partie vide
du volet de droite.
7) Cliquez sur Ajouter un agent de récupération
des données... puis le bouton Suivant.
8) Sélectionnez l'emplacement du fichier portant l'extension
.CER et validez pour le reste.
Rappelez-vous que si le fichier a été crypté
avant qu'un utilisateur ait été désigné
comme agent de récupération des données il
ne lui sera pas possible de le déchiffrer.
Il faut que l'utilisateur originel accède au fichier crypté
pour que l'agent récupérateur puisse à son
tour accéder au fichier crypté.
- Sauvegarder une clé
privée et son certificat :
1) Dans Internet Explorer, cliquez sur outils/Options Internet...
puis l'onglet Contenu
2) Dans la rubrique Certificats, cliquez sur le bouton Certificats...
3) Sélectionnez le nom de l'agent puis cliquez sur le bouton
Exporter...
4) Cochez le bouton radio Oui, exporter la clé privée
5) Entrez éventuellement un mot de passe
6) Saisissez le chemin où vous voulez placer le fichier
ainsi que son nom (arbitrairement choisi) et l'extension .PFX.
Par exemple :
a:\jean.pfx
7) Validez pour le reste.
Il est également possible d'utiliser cette méthode
:
1) Cliquez sur Démarrer/exécuter puis saisissez
: certmgr.msc
Vous pouvez éventuellement ajouter ce composant logiciel
enfichable à une "MMC".
2) Ouvrez Certificats -utilisateur actuel/Personnel/Certificats
3) Avec le bouton droit de la souris cliquez sur un des utilisateurs
listés puis choisissez la commande Toutes les tâches/Exporter...
- Restaurer un certificat
ainsi que sa clé :
Avec le bouton droit de la souris cliquez sur le fichier portant
l'extension .PFX puis sur la commande Installer PFX
- Désactiver
la fonction de cryptage :
1) Cliquez sur Démarrer/Exécuter puis saisissez
: regedit
2) Dans l'éditeur du Registre, ouvrez
:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS
Créez (ou modifiez) une valeur Dword nommée : EfsConfiguration
Affectez-lui la valeur 1
- Ajouter
la commande "Crypter" dans le menu contextuel de l'
Explorateur :
1) Cliquez sur Démarrer/Exécuter
puis saisissez : regedit
2) Dans l'éditeur du Registre, ouvrez
:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\
Advanced
Créez ( ou modifiez ) une valeur Dword nommée :
EncryptionContextMenu
Affectez-lui la valeur 1
- Utiliser Cipher :
La syntaxe est la suivante :
cipher [{/e|/d}] [/s:Répertoire] [/a] [/i] [/f] [/q] [/h]
[/k] [/u[/n]] [NomChemin [...]] | [/r:NomCheminSansExtension]
| [/w:NomChemin]
/e : crypte les dossiers spécifiés. Les dossiers
sont marqués de manière à ce que les fichiers
qui s'y ajoutent ultérieurement soient cryptés également.
/d : décrypte les dossiers spécifiés. Les
dossiers sont marqués de manière à ce que
les fichiers qui s'y ajoutent ultérieurement soient cryptés
également.
/s: Répertoire : exécute l'opération sélectionnée
dans le dossier et tous les sous-dossiers spécifiés.
/a :exécute l'opération pour des fichiers et des
répertoires.
/i : poursuit l'exécution de l'opération spécifiée
même en présence d'erreurs.
/f : force le cryptage ou le décryptage de tous les objets
spécifiés.
/q : signale uniquement les informations les plus importantes.
/h : affiche les fichiers cachés ou les fichiers système.
Par défaut, ces fichiers ne sont pas cryptés ou
décryptés.
/k : crée une nouvelle clé de cryptage de fichier
pour l'utilisateur qui exécute cipher. Si vous utilisez
cette option, cipher ignore toutes les autres options.
/u : met à jour la clé de cryptage de fichier de
l'utilisateur ou la clé de l'agent de récupération
à partir des clés en cours dans tous les fichiers
cryptés stockés sur les lecteurs locaux (dans le
cas où les clés ont été modifiées).
Cette option fonctionne uniquement avec /n.
/n : empêche la mise à jour des clés. Utilisez
cette option pour rechercher tous les fichiers cryptés
stockés sur les lecteurs locaux. Cette option fonctionne
uniquement avec /u.
NomChemin : spécifie un modèle, un fichier ou un
dossier.
/r:NomCheminSansExtension : génère une nouvelle
clé privée et un nouveau certificat d'agent de récupération
puis les écrit dans des fichiers dont le nom est indiqué
dans NomCheminSansExtension. Si vous utilisez cette option, cipher
ignore toutes les autres options.
/w:NomChemin : supprime les données de portions inutilisées
d'un volume. NomChemin peut désigner un répertoire
quelconque du volume concerné. Si vous utilisez cette option,
cipher ignore toutes les autres options.
Afin de crypter un dossier nommé Test, saisissez :
cipher /e "c:\documents and settings\anderruthy\mes documents\test"
Afin de décrypter ce même dossier, saisissez :
cipher /d "c:\documents and settings\anderruthy\mes documents\test"
Afin de décrypter un fichier nommé "Nouveau
document.txt", saisissez :
cipher /d /a "c:\documents and settings\anderruthy\mes documents\test\Nouveau
document texte.txt"
- Utiliser Efinfo.exe
:
La syntaxe est la suivante :
efsinfo [/u] [/r] [/c] [/i] [/y] [/s: Répertoire] [Chemin
[...]] [/?]
/u : affiche les informations de cryptage.
/r : affiche l'agent de récupération des données.
/c : affiche les informations de certificat.
/i : ignore les erreurs.
/y : affiche l'empreinte numérique de l'ordinateur local.
/s: Répertoire : entame la commande spécifiée
dans l'ensemble de l'arborescence de "Répertoire".
[Chemin [...] : permet de spécifier le chemin visé.
Par exemple :
efsinfo /u "c:\documents and settings\anderruthy\mes documents\test"
efsinfo /r "c:\documents and settings\anderruthy\mes documents\test"
- Récupérer
un fichier cypté :
On différenciera deux possibilités :
Un agent de récupération a été désigné
avant.
Un autre compte d'utilisateur a accès au fichier crypté
: cela veut dire que vous avez cliquez sur le bouton Détails
et que vous avez ajouter un compte d'utilisateur autorisé
à accéder au fichier.
Le compte d'utilisateur existe encore mais je ne peux plus accéder
à ce compte d'utilisateur :
- Un agent de récupération a été désigné
avant ou vous avez été rajouté dans les comptes
autorisés à accéder au fichier : aucun souci
!
- Aucun agent de récupération n'avait été
désigné et aucun compte n'a été rajouté
: c'est fichu !
- Le mot de passe initial du compte a été perdu
:
Nous imaginons la manipulation suivante :
L'utilisateur "Jean" crypte un fichier puis il change
son mot de passe ou il créé un mot de passe alors
qu'il n'en possédait pas puis il essaye d'accéder
au fichier crypté : chocolat !
Il revient au mot de passe initial (ou il supprimer le mot de
passe attaché au compte s'il a créé le fichier
à partir d'un compte auquel aucun mot de passe n'était
attaché) : il retrouver l'accés au fichier.
Le compte d'utilisateur n'existe plus :
- Un agent de récupération a été désigné
avant ou un compte d'utilisateur pouvait accéder de manière
transparente au fichier : pas de problème !
- Aucun agent de récupération n'avait été
désigné : c'est fichu !
- Si aucun utilisateur n'avait accés au fichier de manière
transparente et si vous supprimez de votre compte d'utilisateur
le rôle d'agent récupérateur, vous perdez
l'accès au fichier ("Impossible d'ouvrir le document
: l'utilisateur ne possède pas les droits d'accès").
Il ne vous est plus possible de vous ajouter en tant qu'utilisateur
"transparent" ("Code d'erreur 5") ni donc
de le décrypter. Là aussi, le fait de se désigner
à nouveau comme agent de récupération des
données ne vous sera strictement d'aucun secours.
- Maintenant lisez le paragraphe suivant !
- Utiliser Advanced EFS
Data Recovery :
Ce programme fonctionne dans ce type de configuration :
a) Vous avez créé un compte d'utilisateur
b) Il y a des fichiers cryptés sur ce compte
c) Vous avez supprimé le compte d'utilisateur (et donc
vous n'avez plus accès au compte ni au fichier crypté).
De plus, cela suppose que vous connaissez le compte d'utilisateur
et le mot de passe qui était attaché à ce
compte. J'ai fait un test sur une version d'essai qui comporte
comme limitation que seules les premiers 512 Ko de données
de chaque fichier seront récupérées.
L'archive ZIP se télécharge à partir de cette
adresse :
http://www.elcomsoft.com/aefsdr.html
Vous obtenez un fichier nommé Setup.exe placé dans
le dossier Aefsdr qui lancera le programme d'installation.
1) Cliquez tout d'abord sur le bouton Scan for keys
2) Sélectionnez la lettre de lecteur puis cliquez sur le
bouton Start Scan
A priori tout sera indiqué comme étant en rouge
3) Cliquez alors sur le bouton Add user password
4) Dans la zone de texte User name:, saisissez le nom d'utilisateur
et le mot de passe de l'utilisateur puis cliquez sur le bouton
OK
Là, certaines entrées seront surlignées en
vert
5) Cliquez sur l'onglet Encrypted files
6) Cliquez sur le bouton Scan for encrypted files
Là aussi cochez la case correspondant à votre lecteur
puis cliquez sur le bouton Start Scan
7) Sélectionnez le fichier à décrypter puis
cliquez sur le bouton Decrypt
8) Dans la boîte de dialogue qui apparaît sélectionnez
l'emplacement du fichier qui sera copié
Le fichier sera placé dans ce type d'arborescence : ..\AEFSDR_C_DECRYPTED\..
Il ne vous reste plus qu'à supprimer la version précédente...
Pas de souci particulier cela semble fonctionner parfaitement.
- Cracker un mot de passe
protégeant un compte d'utilisateur :
Il existe différents outils qui reste d'un abord assez
rebutant mais j'en ai testé quelques uns (dans les limites
de mes faibles compétences). SAMInside est capable de retrouver
en un temps record un mot de passe protégeant un compte
d'utilisateur à condition qu'il ne soit pas "optimisé"
et que nous restions dans les limitations imposées par
la version de démonstration. C'est par ailleurs une excellente
façon de tester la vulnérabilité d'un mot
de passe. Le programme se télécharge à partir
de cette adresse : http://www.insidepro.com/eng/index.shtml
Une fois l'archive ZIP décompressée il vous suffit
de double-cliquer sur un fichier nommé SAMInside_Demo.exe.
1) Cliquez sur la flèche placée à droite
de l'icône des comptes d'utilisateurs puis sur Import from
local machine using Sheduler
Signalons que deux algorithmes sont utilisés pour enregistrer
les mots de passe des utilisateurs déclarés : LanMan
(LM) et NTLM (NT).
2) Cochez la case placée devant le nom de l'utilisateur
à "attaquer" puis cliquez sur l'icône représentant
une loupe.
Si vous n'avez pas mis en place une vraie politique de sécurité
concernant la création des mots de passe, ces derniers
seront retrouvés quasi instantanément.
Cliquez sur l'icône Attack Options ou appuyez sur la touche
F9 afin d'accéder aux paramètres de chacune des
formes d'attaque.
L'onglet Brute-force attack ne vous laisse la possibilité
dans la version de "Démo" que de retrouver un
mot de passe inscrit en lettres capitales.
L'onglet Dictionnary attack vous permet de spécifier l'emplacement
d'un fichier de dictionnaire portant l'extension .dic. Rappelons
qu'il en existe beaucoup sur Internet disponible en libre téléchargement.
L'onglet Distributed attack vous permet de décomposer votre
attaque entre différentes machines.
L'onglet Common vous permet de définir la priorité
accordée au processus et, éventuellement, de changer
d'interface linguistique (mais ce programme n'est pas disponible
en français).
Si vous cliquez sur l'icône de la Corbeille il vous est
possible de réinitialser la liste des utilisateurs (non,
cette commande ne supprime pas les comptes d'utilisateurs correspondants
!).
L'icône du dossier vous permet de démarrer une attaque
en vous servant de, par exemple, un fichier "Dump".
Pour ce faire suivez cette procédure :
PwDump2 peut être téléchargé à
partir de cette adresse : http://www.bindview.com/support/Razor/Utilities/
Une fois l'archive ZIP décompressée ouvrez une fenêtre
d'Invite de commandes et placez-vous sur le dossier contenant
le fichier exécutable. Saisissez ce type de commande :
pwdump2.exe >c:\passe
Il sera généré un fichier nommé Passe
(sans extension) qui contiendra l'ensemble des clés de
hachage stockée dans la base SAM.
À nouveau dans SAMInside choisissez la commande Import
from PWDUMPfile... Les comptes d'utilisateur et les clés
de hachage seront inscrites en clair.
Je pense que ce type de programme a deux utilités majeures
:
Vous permettre d'accéder à un compte d'utilisateur
"faiblement protégé" mais dont l'accès
est nécessaire si vous désirez récupérer
des données cryptées.
Vous permettre de tester l'ensemble des mots de passe protégeant
les comptes d'utilisateur déclarés sur votre machine.
Je n'ai pas fait de test approfondi mais il est sûr que
de nombreux mots de passe "classiques" du genre 12345678,
toto, abc, etc. ne résistent vraiment pas longtemps à
ce type de programmes ! |