Come ottenere gli hash delle password in macOS 10.14

Non è possibile aprire la cartella con gli hash delle password memorizzate, quindi è necessario andare a disabilitare SIP (System Integrity Protection), una caratteristica che è stata introdotta in Mac OS X El Capitan (10.11). SIP impedisce la modifica di alcuni permessi, e può essere modificato solo lato client, in modalità single-user o recovery. Nemmeno l'accesso admin o root lo farà. In questo caso, stiamo cercando di modificare la cartella [math]/private/var/db/dslocal/nodes/Default/users/.plist[/math].

Step 1: Per prima cosa, disconnettete tutti gli utenti e chiudete tutte le applicazioni, poi riavviate il vostro Mac. Quando senti il suono "dummmmm" o chime, vai e tieni premuto CMD+R dopo il suono ma prima che appaia il logo Apple. Continuate a tenere premuto finché il logo Apple non scompare (tra 30 secondi e 10 minuti, a seconda di quanto è veloce il vostro Mac), e sarete in modalità di recupero.

Sulla barra superiore, andate in [math]Utilità > Terminale[/math] e digitate [math]csrutil disable[/math]. Questo disabiliterà il 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]. Se ci sono cartelle/file sulla tua strada, clicca con il tasto destro su di esse, premi "Ottieni informazioni", clicca sul lucchetto in basso a destra e inserisci un nome utente e una password da amministratore quando richiesto. Cambiate i permessi di "everyone" in lettura e scrittura.

Una volta che siete finalmente in [math]/private/var/db/dslocal/nodes/Default/users/[/math], scorrete in basso verso il basso e trovate il nome utente dell'account di cui state cercando di ottenere l'hash della password. Modificate i permessi del file <[math]username>.plist[/math] in Sola lettura, quindi aprite il file facendo doppio clic. Yay!

Per ottenere la sezione specifica dell'hash, insieme alle iterazioni e alla chiave di entropia, inserite

[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]

E inserite la password admin quando richiesto. Se stai cercando di craccare una password (ti suggerisco Hashcat), ti suggerisco di controllare questa fantastica guida (non è una promozione) dell'utente klanomath su StackExchange.

- Mat