Comment faire sauter la protection d’une feuille Excel ?
Sommaire
I. Présentation
Comment cracker le mot de passe d'une feuille ou d'un classeur Excel ? Voilà, une bonne question et qui devrait se poser à un moment donné dans la carrière de tout informaticien...
Déjà, il faut savoir qu'il y a plusieurs façons de protéger le contenu d'un fichier Excel. On peut le protéger intégralement grâce au chiffrement et à une protection par mot de passe : son contenu est accessible et visible seulement aux personnes qui ont connaissance du mot de passe. Ensuite, on peut protéger son contenu partiellement, soit au niveau d'une feuille pour protéger les cellules ou au niveau du classeur pour protéger sa structure. Ainsi, un utilisateur ne pourra pas modifier le contenu des cellules déclarées comme étant en lecture seule.
Au sein d'un document Excel, ces protections se configurent au niveau de l'onglet "Révision" puis "Protéger la feuille" ou "Protéger le classeur".
Ces protections internes peuvent être désactivées si l'on connaît le mot de passe définit par l'utilisateur. Néanmoins, dans le cas où l'on oubli le mot de passe ou qu'on veut le cracker, on peut effectuer cette opération assez facilement ! Ce qui n'est pas le cas lorsque c'est le fichier Excel en lui-même qui est protégé, là il faut faire appel à la bonne vieille méthode par Brute Force (et ce n'est pas gagné !).
Dans ce tutoriel, nous allons voir comment cracker le mot de passe d'une feuille Excel pour déverrouiller l'accès au contenu. Suite à cette opération, vous allez récupérer la main sur l'ensemble du contenu du fichier ainsi que la structure du classeur.
II. Cracker le mot de passer d'une feuille Excel
Pour ôter la protection d'une feuille Excel de manière brute lorsque l'on a oublié le mot de passe, ou qu'on la jamais connu, il faut suivre les étapes suivantes. Pour le moment, si l'on essai le contenu des cellules verrouillées, on obtient le message suivant : "La cellule ou le graphique que vous essayez de modifier se trouve sur une feuille protégée. Pour apporter une modification à celui-ci, vous devez ôter la protection de la feuille. Vous serez peut-être invité à entrer un mot de passe."
Commencez par fermer le fichier...
La première étape consiste à renommer le fichier. Effectuez un clic droit dessus et cliquez sur "Renommer" (ou raccourci F2). Remplacez l'extension "XLSX" par "ZIP" et validez. Un message de confirmation va apparaître : confirmez ?
Si vous êtes sur Windows 8, Windows 8.1 ou Windows 10, vous pouvez double-cliquer directement sur le fichier ZIP pour accéder à son contenu. Sur Windows 7, vous devez installer un outil pour exploiter les archives ZIP, je vous recommande 7-Zip.
Au sein de l'archive, accédez au dossier "xl" puis "worksheets" que l'on peut traduire en "feuille de calcul". Dans ce dossier, vous retrouvez autant de fichiers que vous avez de feuilles de calcul dans votre classeur Excel.
Note : la manipulation qui va suivre est à réaliser dans chacune des feuilles de calcul dont vous souhaitez ôter la protection.
Pour ma part, il y a qu'une seule feuille, j'obtiens donc le fichier "sheet1.xml". Il va falloir modifier ce fichier donc il faut le sortir de l'archive ZIP : faites un glisser-déposer (ou un copier-coller) sur le Bureau de votre session par exemple.
Modifiez le fichier avec votre éditeur de texte préféré, ou tout simplement avec le Bloc-notes. Un double-clic sur le fichier XML vous permettra de l'ouvrir et de choisir Bloc-notes dans les suggestions.
Dans ce fichier, nous retrouvons un ensemble de balises XML concernant la configuration de la feuille. Il y a une balise qui va nous intéresser tout particulièrement, elle se nomme sheetProtection. Elle contient le mot de passe de la protection de cette feuille du fichier Excel, ou en tout cas son hash dans le champ hashValue !
Nous n'allons pas chercher à déchiffrer ce mot de passe... On va tout simplement faire sauter la protection. Pour cela, vous devez retirer complétement la balise sheetProtection, c'est-à-dire de "<sheetProtection" au premier "/>" rencontré.
Ce qui fait que vous allez supprimer une balise semblable à celle-ci :
<sheetProtection algorithmName="SHA-512" hashValue="u++sLPYhHQIeD4iiRYg90DlMJEXjf1KJpRMae7hGIdlyzD1vbkm98XxAwPeot8hTbMYY6T0ph3wHtnGOuyOTEg==" saltValue="+bYPN+GkTA6Yi463dQYuPQ==" spinCount="100000" sheet="1" objects="1" scenarios="1"/>
En image :
Une fois que c'est fait : enregistrez le fichier et fermez-le. Il va falloir le remettre dans l'archive ZIP, effectuez un glisser-déposer vers l'archive ZIP, au même endroit que l'emplacement d'origine. L'explorateur de Windows va vous avertir que le fichier existe déjà, validez pour le remplacer.
Pour finir, il va falloir renommer le fichier dans le sens inverse. A la place de l'extension ZIP, nous allons remettre XLSX (ou XLS) comme extension de fichiers !
Maintenant, il ne reste plus qu'à ouvrir le fichier Excel : la protection n'est plus là, vous pouvez modifier la feuille à votre guise ! ?
Voilà, vous venez de cracker le mot de passe d'une feuille Excel !
III. Cracker le mot de passe d'un classeur Excel
Lorsque le mot de passe est positionné au niveau du classeur directement pour protéger la structure du fichier Excel, la procédure est un peu différente. Enfin, du moins, il ne faut pas modifier le même fichier.
Vous devez effectuer la même opération que pour la feuille de calcul, à savoir modifier l'extension en ZIP et la remettre à la fin. Néanmoins, lorsqu'il s'agit d'ôter la protection d'un classeur Excel, le fichier à modifier n'est pas le même.
Accédez au dossier "xl" une fois avoir ouvert le ZIP, et modifiez le fichier "workbook.xml". Dans ce fichier, il va falloir supprimer la balise "workbookProtection" sur le même principe qu'on l'a fait pour la feuille.
Ce qui revient à supprimer une chaîne comme celle-ci :
<workbookProtection workbookAlgorithmName="SHA-512" workbookHashValue="eiOSBAVwRnxSh1OO2ZYxy6OnOwGUx/HlykPi4x6D7ODGSK8lTGuP+SIOatKCH3qWA9jqZ8MU0MR4611Q2PIycQ==" workbookSaltValue="y+QTpzVfDQwAm/VtPCgHKw==" workbookSpinCount="100000" lockStructure="1"/>
Enregistrez le fichier et fermez-le. Remettez-le dans l'archive ZIP en écrasant le fichier existant. Ouvrez votre fichier Excel : le tour est joué ! Vous voyez, ce n'est pas plus compliqué sur la protection d'un classeur, c'est seulement un fichier différent à modifier.
Testé à l’instant avec Office 365 (fichier enregistré en local bien sûr), OK pour feuille protégé cela fonctionne mais pas pour le classeur entier, le Zip ne s’ouvre pas (avec l’explorateur de fichiers en tout cas)
*protégée ?
Bonjour,
Je n’ai pas le dossier xl lorsque j’ouvre l’archive pourquoi?
Heureusement que maintenant on a AIP 🙂
Bonjour,
Merci pour votre tuto !
Cependant en essayant d’ouvrir mon Workbook celui-ci est hashé.
Auriez-vous une autre solution ?
ça marche trop bien ! merci 🙂
merci , t’es le meilleur
bonjour, tout s’est bien déroulé j’ai suivi toutes les étapes et repéré la partie à supprimer.
Quand je la sélectionne je n’arrive pas à supprimer ni avec la touche « suppr » ni avec la sourie clic droit …
une idée
Bonjour,
l’algorithme de hashage utilisé pour protéger une feuille est bien du SHA-512? Si c’est le cas, est-il possible de reproduire un hash avec un salage et l’injecter dans la balise à la place du vrai mot de passe? Peut-être que je me trompe, mais c’est comme ça que les mots de passe sont stockés, non?
Et concernant le mot de passe d’ouverture d’un fichier Excel?
Merci d’avance