Root e la mia password sono uguali


8

Se posso cat /etc/shadowposso ottenere le password crittografate di root e del mio utente.

Queste password sono le stesse (lo so, cattiva sicurezza) per ogni account, ma /etc/shadowsi presentano come stringhe crittografate diverse.

Perché? Per ognuno vengono utilizzati algoritmi diversi?


Consiglierei di leggere questo come un buon punto di partenza. La risposta breve è che gli hash sono salati e che un hash senza sale non è affatto hash.
Boris the Spider,

Risposte:


10

Utenti separati significa un ID utente separato, e quindi algoritmi separati saranno coinvolti con l'algoritmo.

Anche un utente con lo stesso nome, la stessa password e creato allo stesso tempo (con una probabilità quasi certa) finirà con un hash diverso. Esistono altri fattori che aiutano a creare la crittografia.

Se vuoi dare un'occhiata a un rapido esempio qui , potresti spiegarlo meglio.


17
Solo per citare la parola qui: si chiama salare l'hash.
Ulrich Schwarz,

1
Utenti separati non significano necessariamente ID utente separati. Gli ID utente non influiscono su questo. La chiave primaria in /etc/passwd, /etc/shadowè il nome utente, non l'ID utente (che non è nemmeno menzionato in /etc/shadow).
Stéphane Chazelas,

La spiegazione non risponde alla domanda. Che cosa ha a che fare l'ID utente con quello? Inoltre, l'URL non fa davvero luce sulla risposta alla domanda.
contromodale

@ StéphaneChazelas No, utenti separati significano ID utente separati. Possono esserci più voci nei database utente con nomi utente diversi per lo stesso ID utente, ma sono tutti lo stesso utente, condividendo tutti i contesti di sicurezza (proprietà del file, segnali, ecc.) E differendo solo nei metodi di accesso ( ad esempio password diverse e shell diverse ma che portano allo stesso account).
Gilles 'SO- smetti di essere malvagio' il

@Gilles, non sono d'accordo. Puoi avere utenti diversi con lo stesso uid ma gid e gid supplementari diversi (vedi come i membri in / etc / group sono referenziati per nome, non uid), parametri di login diversi ... È sempre meno comune, soprattutto considerando che le cose come sudo non funziona bene con quello.
Stéphane Chazelas,

2

L'algoritmo è lo stesso. Le moderne suite shadow utilizzano moduli di autenticazione innestabili (PAM) e PAM consente di configurare un algoritmo di hashing. Si tratta di "salare", il che significa randomizzare la password per dare l'effetto che stai chiedendo.

Il saling è una contromisura degli attacchi del dizionario, in cui un utente malintenzionato con un dizionario di coppie password / hash conosciute cerca di scoprire se il valore hash specificato per una password sconosciuta corrisponde al valore hash per una delle password conosciute.

La salatura impedisce che un diverso valore di sale porti a un diverso valore di hash, quindi non importa che la password sia uguale. (È comunque una cattiva pratica, ma per altri motivi.) Per l'attacco del dizionario per avere successo, l'attaccante ora deve avere dizionari per ogni possibile valore salato. Un sale veramente casuale di dimensioni sufficienti renderà trascurabile la probabilità di successo di un tale attacco.

Lettura suggerita: come vengono archiviate le password in Linux (Comprensione dell'hashing con shadow utils)


0

Nel file shadow vedrai un numero compreso tra $$ (ad esempio $ 1 $ o qualcosa del genere). Indica l'algoritmo di hashing utilizzato dalla macchina. Identifica l'algoritmo e guarda come funziona. Ad esempio, $ 6 $ è SHA 512 che è progettato in modo tale che, anche se 2 persone hanno la stessa password, il digest hash della loro password sarà diverso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.