sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #01539
Re: Dekryptering af passwd
Quoting Morten Olsen <pbk1105@xxxxxxxxxxxxxx>:
> Mads Bondo Dydensborg wrote:
> >
> > On Wed, 3 Feb 1999, Morten Olsen wrote:
> >
> > > Morten Sørensen wrote:
> > > >
> > > > Hej!
> > > >
> > > > Jeg har meget længe været temmelig nysgerrig mht. passwords i /etc/passwd.
> > > > Hvordan kan det være at ingen (nogensinde?) har dekrypteret/cracket denne fil. Jeg
> > > > ved at det er muligt (ved nemme passwords) med en brute force cracker, som bruger en
> > ordbog. Men hvordan hænger det sammen.. Hvordan checker 'systemet' så om passwordet
> > > > er rigtigt?
> > >
> > > ;) Det undrede jeg mig også over engang. Hit'et er at de ikke er
> > > crypterede i traditionel forstand, men "hashede" med en bijektiv
> >
> > Slaa lige bijektiv op. Algoritmen er netop -ikke- bijektiv....
>
> Doh! Lidt for lang tid siden jeg havde Mat for Dat. Den er selvgølgelig
> kun _injektiv_
> (f(a1) = f(a2) => a1=a2)
> >
> > > algoritme (dvs. der til hver password svarer der 1 og kun 1 krypteret
> > > streng).
> >
> > Hvert password giver anledning til kun een enkrypteret streng.
>
> ?? Ja det var det jeg skrev?
>
> > > Når man indtaster et password bliver selve dit password brugt
> > > til at kryptere den tomme streng (vist nok) med en envejs algoritme.
> >
> > Nej. Hvis man indtaster et password, og et salt, kan man faa en
> > enkrypteret streng. Naar man indtaster sit password bliver saltet fra
> > passwd filen brugt til at enkryptere passwordet med, derefter sammenlignes
> > de to enkrypterede strenge.
>
> Man indtaster ikke et salt. passwd programmet vælger et tilfældigt salt
> når man skifter password, dette salt gemmes ganske rigtigt som de 2
> første tegn i det enkrypterede password.
>
Gir man ikke perl's crypt funktion et salt? Eller har jeg missupf"cked de hele?
treads .. treads more treads..:)
> >
> > > Dvs. man kan ikke "dekryptere" det.
> > Det er korrekt. Fordi det ikke er bijektivt.
> >
> > > Når du indtaster passwordet ved
> > > login gøres dette, og hvis det krypterede stemmer med det der står i
> > > /etc/passwd, så må det være det rigtige. Vupti! De to første bogstaver i
> > > det krypterede password er det såkaldt "salt". Dette bruges til at opnå
> > > bedre sikkerhed. Passwords på Windows (LANMAN) bruger ikke et sådant, og
> > > er meget nemmere at brute-force.
> >
> > Passwords under SMB/LANMAN er, enkrypteret, langt stoerre. Unix/Linux er
> > begraenset til 8 tegn. Som jeg har laest dokumentation til samba, er
> > passwords under SMB/LANMAN "sikrere" end under unix/linux.
>
> Ja, men det er bare ikke rigtigt af forskellige grunde.
>
> 1. Hashen er åbenbart dårligere en crypt(2)
> 2. De bruger _ikke_ et salt, hvorfor brute-force er langt hurtigere.
> Desforuden er det enkrypterede password "clear-text"-ækvivalent. Dvs. du
> med en lettere modificeret smbclient, og adgang til de krypterede
> passwords kan du skaffe dig adgang. Derfor er det også vigtigt på linux
> systemer der kører samba at smbpassword filen _ikke_ kan læses af andre
> som /etc/passwd kan.
>
> På http://www.l0pht.com/l0phtcrack/ kan du finde en LANMAN password
> cracker. Samme sted kan du også læse en teknisk forklaring på hvorfor
> sikkerheden ved LANMAN krypterede passwords er ekstremt dårligt, pga.
> forskellige fejl i den challenge-response protocol der bruges. Dvs. du
> kan sniffe et LANMAN password fra nettet, og bruge deres crackprogram på
> det. Der er yderligere fejl i Win95/98 implementationen der gør det
> endnu hurtigere end hvis det er imellem NT maskiner.
>
> Mvh Morten
--
/Lars
Student at Department of Computer Science
University of Copenhagen
http://www.diku.dk/students/larsj/
References