Réponses:
Les mots de passe sur un système Linux ne sont pas cryptés, ils sont hachés, ce qui est une énorme différence.
Il n'est pas possible d'inverser une fonction de hachage par définition. Pour plus d'informations, voir l'entrée Hash Wikipedia .
La fonction de hachage utilisée dépend de la configuration de votre système. MD5 et blowfish sont des exemples courants de fonctions de hachage utilisées.
Le "vrai" mot de passe d'un utilisateur n'est donc jamais stocké sur le système.
Si vous vous connectez, la chaîne que vous entrez comme mot de passe sera hachée et vérifiée par rapport à votre fichier / etc / shadow. Si cela correspond, vous avez évidemment entré le mot de passe correct.
Quoi qu'il en soit, il existe encore des vecteurs d'attaque contre les hachages de mot de passe. Vous pouvez conserver un dictionnaire de mots de passe populaires et les essayer automatiquement. Il existe de nombreux dictionnaires disponibles sur Internet. Une autre approche consisterait à simplement essayer toutes les combinaisons possibles de personnages qui consommeront énormément de temps. Ceci est connu sous le nom d'attaque bruteforce.
Les tables arc-en - ciel sont un autre bon vecteur d'attaque contre les hachages. L'idée derrière ce concept est de simplement pré-calculer tous les hachages possibles, puis de simplement rechercher un hachage dans les tableaux pour trouver le mot de passe correspondant. Il existe plusieurs projets informatiques distribués pour créer de telles tables , la taille diffère selon les caractères utilisés et est principalement de plusieurs To.
Pour minimiser le risque de telles tables de recherche, c'est une pratique courante et le comportement par défaut sous Unix / Linux d'ajouter un soi-disant " sel " au hachage du mot de passe. Vous hachez votre mot de passe, ajoutez une valeur de sel aléatoire au hachage et hachez à nouveau cette nouvelle chaîne. Vous devez enregistrer le nouveau hachage et le sel pour pouvoir vérifier si une valeur entrée est le mot de passe correct. L'énorme avantage de cette méthode est que vous devrez créer de nouvelles tables de recherche pour chaque sel unique.
John The Ripper (ou JTR) est un outil populaire pour exécuter des attaques par dictionnaire ou des attaques par force brute contre les mots de passe des utilisateurs de différents systèmes d'exploitation . Voir la page d' accueil du projet pour plus de détails:
John the Ripper est un pirate de mot de passe rapide, actuellement disponible pour de nombreuses versions d'Unix, Windows, DOS, BeOS et OpenVMS. Son objectif principal est de détecter les mots de passe Unix faibles.
Il est pratiquement impossible de décrypter ces mots de passe car ils sont cryptés à sens unique.
Vous ne pouvez décrypter le fichier caché que par force brute: il inclut les hachages des mots de passe, donc votre seule chance est de deviner les mots de passe, de calculer le hachage et de vérifier si les hachages sont identiques. Voir wikipedia pour plus de détails sur la génération de hachage.
Comme d'autres l'ont dit, vous ne pouvez pas vraiment décrypter le fichier caché.
La seule chose que vous pouvez essayer est de deviner le mot de passe par force brute à l'aide d'un outil comme John the Ripper . Cela peut réussir ou non, et prendra très certainement beaucoup de temps.
Les mots de passe sont cryptés à l'aide d'un algorithme qui prendra un mot de passe et créera un hachage unique à ce mot de passe. Ce hachage est stocké dans le fichier / etc / shadow. Il n'est pas possible de récupérer le mot de passe à partir du hachage. Les seules méthodes de récupération d'un mot de passe consistent à forcer brutalement l'intégralité de l'espace de clés ou à utiliser une sorte d' attaque par dictionnaire . Les premières fonctions de hachage utilisaient la norme DES. L'augmentation de la puissance de calcul a permis de forcer brutalement l'espace de clés DES dans un délai raisonnable. Les fonctions de hachage modernes utilisées pour crypter les mots de passe incluent MD5, SHA etc. Plus d'informations sur la bibliothèque crypt (3) peuvent être trouvées ici .