Sida 1 av 1

Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 12 jan 2008, 16:53
av Emil.s
Ett exempel:
emil:$1$abcdefgh$XXXXXXXXXXXXXXXXXXXXX/:13812:0:99999:7:::

$1$: MD5 baserad hash
abcdefgh: Salt (?)
XX....: Lösenordet...

Men hur fungerar det egentligen med "Salt" egentligen? Om man inte använder salt så är det ju bara att använda standard MD5 eller liknande och testa alternativ efter alternativ...
Förslagsvis med rainbow tables.

Med en salt så är det väl bara brute force som gäller.
Men hur funkar det?

Om jag väljer lösenordet "ubuntu", och salten är "debian", skickas då lösenordet till tex "crypt" som "ubuntudebian" då eller?

Och kan man ändra vilken typ av hash som används? SHA-256 eller något...

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 12 jan 2008, 22:00
av mcNisse
Kolla man 3 crypt för detaljer.

Crypt funktionen tar två argument, saltet och lösenordet. Saltet står precis som du tror i klartext och används för generera olika hashkod för samma lösenord.

Ska du knäcka lösenord?

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 12 jan 2008, 22:04
av Emil.s
mcNisse skrev: Kolla man 3 crypt för detaljer.

Crypt funktionen tar två argument, saltet och lösenordet. Saltet står precis som du tror i klartext och används för generera olika hashkod för samma lösenord.

Ska du knäcka lösenord?
Knäcka lösenord fixar jag (eller iallafall JtR ;)). Mer nyfiken över hur det fungerar "bakom kulisserna".

Och:
"This string is used to perturb the algorithm in one of 4096 different ways."
"perturb", det fanns inte i min ordbok... :P Vad menas med ovan?

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 12 jan 2008, 22:12
av mcNisse
Permutera är en bra beskriving, av pertub. Du kan få 4092 olika strängar för samma lösenord. Det gäller DES algoritmen. md5 alguritmen har upp till 8 teckens salt så du får fler permutteringar av ett och samma lösenord.

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 13 jan 2008, 17:10
av Emil.s
mcNisse skrev: Permutera är en bra beskriving, av pertub. Du kan få 4092 olika strängar för samma lösenord. Det gäller DES algoritmen. md5 alguritmen har upp till 8 teckens salt så du får fler permutteringar av ett och samma lösenord.
Ah, läste på lite om allt möjligt här. Så nu tror jag att man hänger med lite. :P

Tackar! :)

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 14 jan 2008, 13:47
av Konservburk
Emil.s skrev: Om jag väljer lösenordet "ubuntu", och salten är "debian", skickas då lösenordet till tex "crypt" som "ubuntudebian" då eller?
Du är på rätt spår, men det är inte riktigt så enkelt. $1$-algorithmen är som
sagt md5-baserad. Den fungerar ungefär så här:

Vi börjar med <pass>, <salt> och den vanliga md5hash-funktionen (md5sum).

<H0> = md5(<pass>$1$<salt><annat>), 8 bitar per tecken
[<annat> är en sträng som beror på md5(<pass><salt><pass>) och <pass>]
<H1> = md5(<H0><pass>)
<H2> = md5(<pass><salt><pass><H1>)
<H3> = md5(<H2><salt><pass><pass>)
<H4> = md5(<pass><pass><H3>)
<H5> = md5(<H4><salt><pass><pass>)
<H6> = md5(<pass><salt><pass><H5>)
<H7> = md5(<H6><pass><pass>)
...
<H1000> = md5(<pass><pass><H999>)
[<Hn> byter plats med det yttersta <pass> varannan gång, <salt> skippas]
[var tredje gång, det mellersta <pass> skippas var sjunde gång]

Tillslut har vi $1$-hashen: $1$<salt>$<hash>
[<hash> är <H1000> utskriven i en 64-bas (6 bitar per tecken)]

Den riktiga koden, som intressant nog är beer-ware, återfinns här:
http://www.freebsd.org/cgi/cvsweb.cgi/s ... text/plain

Med ett blankt lösenord och utan salt reduceras det hela till att ta
md5summan av strängen "$1$" itererat 1001 gånger, vilket ger oss hashen
"$1$$qRPK7m23GJusamGpoGLby/" som uppenbarligen inte kräver något lösenord.
Emil.s skrev: Och kan man ändra vilken typ av hash som används? SHA-256 eller något...
Det finns flera olika, men jag vet inte alls vilka som fungerar i linux.  I OpenBSD
finns t.ex. $2$ som är en hash-algorithm som bygger på Blowfish och använder
128 bitar salt för varje 184 bitar lång hash.

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 14 jan 2008, 13:53
av andol
Börjar nästan bli dags att rekommendera en viss bok från herr Bruce Schneier :-)

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 14 jan 2008, 22:48
av Emil.s
Konservburk skrev: massor av text
Oj, nu var det nog lite överkurs. *puh* :P

Men line klokare vart man iallafall. Tackar tackar! :)

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 15 jan 2008, 13:39
av Konservburk
Emil.s skrev: Oj, nu var det nog lite överkurs. *puh* :P
Visst är det överkurs.  Det intressanta är att shadow-hasharna är betydligt
mer komplicerade än md5(md5(<pass>)<salt>) och liknande som ofta används
i andra sammanhang.  Men man måste ju inte kunna algorithmen själv för
att $1$-hasha ett lösenord.  Det går enkelt att göra med t.ex. openssl:

Kod: Markera allt

echo lösenord | openssl passwd -1 -stdin

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 21 jan 2008, 02:23
av Zhaozhou
andol skrev: Börjar nästan bli dags att rekommendera en viss bok från herr Bruce Schneier :-)
Detta vart ju onekligen intressant.

Vilken bok är det du rekommenderar? (:

SV: Ändra hash typ i shadow // Ändra salt i shadow?

Postat: 21 jan 2008, 02:33
av andol
Zhaozhou skrev:
andol skrev: Börjar nästan bli dags att rekommendera en viss bok från herr Bruce Schneier :-)
Detta vart ju onekligen intressant.

Vilken bok är det du rekommenderar? (:
När det kommer till kryptografi så är Bruce Schneiers Applied Cryptography lite av ett standardverk.