Quale chiave usa Linux quando memorizza le password degli utenti?

7

Linux tipicamente memorizza i nomi utente e gli hash delle password in / etc / passwd o / etc / shadow.

Ora diciamo che ho una vecchia distro di CentOS e voglio provare a recuperare la password di un utente (è in un contesto legale di apprendimento a scuola) crittografata con DES, ho pensato che avrei bisogno di un testo in chiaro e un cifrario cifrato usando il stessa chiave della mia password sconosciuta, crack detta chiave, quindi decifrare il codice memorizzato per tale utente (giusto?).

Ora, la mia domanda è, come / quando Linux genera le chiavi durante la creazione degli utenti? Posso presupporre che la chiave fosse la stessa se ho creato un nuovo utente? In tal caso, la chiave utilizzata dal sistema è semplicemente recuperabile?

    
posta pwny 14.10.2012 - 20:46
fonte

3 risposte

7

Nella password salata dello schema basato su DES è una chiave, e il testo in chiaro è tutti zero, quindi non è crittografia, poiché i ruoli chiave e dei messaggi vengono scambiati.

Puoi iniziare con le pagine man di Wiki o crypt () per saperne di più sulla funzione crypt ():

link

link

    
risposta data 14.10.2012 - 21:26
fonte
9

Le password non sono crittografate, sono hash . È matematicamente impossibile ricavare la password originale dall'hash. La verifica viene eseguita tagliando la password immessa dall'utente e confrontandola con quella del vault. Se corrispondono, l'utente è autenticato e possono accedere.

    
risposta data 14.10.2012 - 20:54
fonte
2

Di default Linux usa SHA512 (password hash a partire da $ 6 $) per password utente hash.

I seguenti algoritmi di hash sono supportati da crypt ():

          ID  | Method
          ─────────────────────────────────────────────────────────
          1   | MD5
          2a  | Blowfish (not in mainline glibc; added in some
              | Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

Per modificare l'algoritmo hash di Linux, per impostazione predefinita dovresti modificare la variabile ENCRYPT_METHOD nel file /etc/login.defs oppure puoi utilizzare il programma authconfig.

Bruteforce è l'unico modo per decifrare l'hash delle password. Se stai cercando strumenti di cracking consulta JohnTheRipper o oclhashcat .

    
risposta data 15.10.2012 - 00:04
fonte

Leggi altre domande sui tag