PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : /etc/shadow



pombaer
16.10.14, 09:12
Hallo erstmal!
Ich stehe glaube ich gerade mal auf dem Schlauch. Ich beschäftige mich gerade mit der Userauthentifizierung in Linux, speziell mit der Kennwortänderung über saltstack und der Verschleierung des Kennwortes in der Konfiguration. Dazu habe ich mir jetzt auch angesehen wie /etc/shadow aufgebaut ist und wie der Kennworthash gespeichert wird. Mir ist klar was ein Passwort Salt ist, nur stellt sich mir eben gerade die Sinnfrage.

zB ein md5 Kennwort mit sieht zB wie foglt aus:

$1$q9HnDHlM$ZwV3yJ9O/r5XVNVex.IkW1

Dabei ist das $ Zeichen ein Feldtrenner zwischen Hast Algorithmus, Salt, Passwort Hash.

Was bringt mir eigentlich der "salt" String wenn ein Angreifer meine Shadow Datei in die Hände bekommt abgesehen davon das er nicht sieht ob 2 Benutzer ev. das selbe Kennwort benutzen? Wirkt sich die Berechnung das Hashwertes bei einer Brutforce Methode derart gewaltig aus wenn ich ein 8 Zeichen Salt an ein Kennwort voranstelle? Das Salt kann ich ja 1:1 bei einer Attacke verwenden, zB:

1. Kennwort generieren mit zufälligem Salt:
openssl passwd -1 redhat123
$1$q9HnDHlM$ZwV3yJ9O/r5XVNVex.IkW1

2. Prüfen Kennworttest:
openssl passwd -1 -salt q9HnDHlM redhat123
$1$q9HnDHlM$ZwV3yJ9O/r5XVNVex.IkW1

Daraus errechnet sich wieder der selbe Hast --> Kennwort erraten.
Sinn macht es natürlich wenn ein Angreifer nur den Hash Wert in die Hände bekommt, in diesem Fall wird das aber kaum der Fall sein denke ich.

Vielleich nimmt sich jemand die Zeit das zu erklären, sehe vlt. nur den Wald vor lauter Bäumen nicht.

marce
16.10.14, 09:56
der Vorteil des Salt liegt hauptsächlich darin, daß Du damit keine Rainbow-Tables verwenden kannst.

... und idealerweise ist natürlich der Salt an anderer Stelle gespeichert als der Hash.