Comment obtenir les hachages de mots de passe dans macOS 10.14


Vous ne pouvez pas ouvrir le dossier dans lequel sont stockés les hachages de mots de passe, il faut donc aller désactiver SIP (System Integrity Protection), une fonctionnalité introduite dans Mac OS X El Capitan (10.11). SIP empêche la modification de certaines permissions et ne peut être modifié que côté client, en mode mono-utilisateur ou récupération. Même l'accès administrateur ou root n'y parviendra pas. Dans ce cas, nous essayons de modifier le dossier [math]/private/var/db/dslocal/nodes/Default/users/.plist[/math].


Etape 1 : Tout d'abord, déconnectez-vous de tous les utilisateurs et quittez toutes les applications, puis redémarrez votre Mac. Lorsque vous entendez le son "dummmmm" ou carillon, allez et maintenez CMD+R après le son mais avant l'affichage du logo Apple. Maintenez la pression jusqu'à ce que le logo Apple disparaisse (entre 30 secs - 10 min, selon la vitesse de votre Mac), et vous serez en mode récupération.

Sur la barre supérieure, allez dans [math]Utilitaires > Terminal[/math] et tapez [math]csrutil disable[/math]. Cela désactivera SIP. (skip the following step if you have admin access to your account)


Step O (O for Optional): If you don’t have admin access to your account, then you’ll need to do the same thing. Restart your Mac, when you hear the chime, this time, hold CMD+S. When single-user mode boots up, go and do the following:

  1. /sbin/mount -uw / 
  2. rm /var/db/.AppleSetupDone 
  3.  
  4. // If you get the error "rm /var/db/.AppleSetupDone: No such file or directory", then type the following: 
  5.  
  6. touch /var/db/.AppleSetupDone 
  7.  
  8. // For the previous step, please type carefully. Don't destroy your whole disk. 
  9.  
  10. reboot 

Now go restart your Mac and log on to your normal account.

Step 3: Once you’re in, open Finder and go to [math]/private/var/db/[/math]. Navigate all the way to [math]/private/var/db/dslocal/nodes/Default/users/.plist[/math]. S'il y a des dossiers/fichiers sur votre chemin, faites un clic droit dessus, appuyez sur "Get Info", cliquez sur le verrou en bas à droite et entrez un nom d'utilisateur et un mot de passe administrateur lorsque vous y êtes invité. Modifiez les autorisations de "tout le monde" en lecture et écriture.

Une fois que vous êtes enfin dans [math]/private/var/db/dslocal/nodes/Default/users/[/math], faites défiler vers le bas et trouvez le nom d'utilisateur du compte dont vous essayez d'obtenir le hachage du mot de passe. Modifiez les autorisations du fichier <[math]username>.plist[/math]en lecture seule, puis ouvrez le fichier en double-cliquant. Youpi !

Pour obtenir la section de hachage spécifique, ainsi que les itérations et la clé d'entropie, entrez

[math]sudo defaults read /var/db/dslocal/nodes/Default/users/.plist ShadowHashData|tr -dc 0-9a-f|xxd -r -p|plutil -convert xml1 - -o -[/math]

Et entrez le mot de passe administrateur lorsque vous y êtes invité. Si vous essayez de craquer un mot de passe (je suggère Hashcat), je vous suggère de consulter ce guide étonnant (pas une promotion) par l'utilisateur klanomath sur StackExchange.

- Mat