Hjem > Computers > Passord i Mac OS X 10.6 «Snow Leopard»

Passord i Mac OS X 10.6 «Snow Leopard»

Jeg tenkte det var på tide å skrive litt mer om passord, denne gangen om passord i «Snow Leopard». Passordhashingen som brukes i 10.6 er fremdeles saltede SHA-1-hasher. Dette ble introdusert i 10.4, og har vært brukt siden. Hashene er lagret under /var/db/shadow/hash/. Shadow og hash-mappen kan kun nåes som rootbruker, så du vil trenge administratorrettigheter for å prøve det som jeg har gjort her.

Hash-filen består av en mengde nullere, en god del tegn og så en mengde nullere igjen. SHA-1 hashen består av 48 tegn, hvorav de 8 første hexadesimale tegnene (32 bits) er den tilfeldige delen av hashen (kalt et salt). Disse tegnene er tilfeldige og brukes for å generere hashen. Den tilfeldige delen av hashen betyr altså at om flere brukere har samme passord, vil hashen ikke være lik. Når en bruker logger på kjøres passordet gjennom en enveisfunksjon (kalt en hash-funksjon) og sammenlignes med det hashede passordet. Stemmer disse overens får brukeren logget inn.

Siden 10.4 har det også blitt gjor andre forandringer i Mac OS X som har betydning for brukeradministrasjonen:

  • NetInfo-databasen er borte, det samme er alle verktøyene (ncl, nidump etc.) knyttet til denne databasen. Databasen er nå erstattet av XML-filer som finnes i /var/db/dslocal. Håndteringen av det som databasen gjorde er nå delt mellom programmene Katalogverkøy og Kontoer under Systemvalg
  • Directory Utility/Katalogverktøy er også fjernet, men finnes under /System/Library/CoreServices/Katalogverktøy (eller via Systemverktøy -> kontoer -> påloggingsvalg -> koble til …)

Aktivering av root-brukeren gjøres via Katalogverktøy (Rediger -> Aktiver rot-bruker), og for å finne en brukers UID må man altså gå via kontrollpanelet. Det er desverre ingen Terminal-verktøy som kan gi oss denne informasjonen. I en av de tidligere versjonene av Mac OS X (10.1 tror jeg det var) var det faktisk mulig å hente ut hashen også via Terminalkommandoen nidump. Tidene forandrer seg. ;-)

For å cracke et passord, som vi skal gjør nå, trenger man noen verktøy. Passord-crackeren jeg har brukt mest heter John The Ripper og cracker passord ved såkalt bruteforce. Da prøves passord én etter én, hashes, og sammenlignes med den gitte hashen (det er altså ikke selve hashen som crackes). Hvor lang tid det tar å cracke et passord er veldig avhengig av maskinen det gjøres på, hvor godt programmet er (utnytter det f.eks. alle CPU-registerne på en effektiv måte) og ikke minst hvilken algoritme passordet er hashet med.

Gratisversjonen av John The Ripper som du selv kan kompilere støtter ikke salted SHA-1-hasher. Men, det er laget en allerede pre-compilert versjon som kan lastes ned som gjør dette. Ellers finnes det andre programmer som støtter saltede SHA-1-hasher, bla. MacKrack (er lenge siden jeg har brukt det riktignok så jeg vet ikke hvordan det er nå).

Opprettet testbruker
Navn: Ann
Passord: xEmm
UUID: 79C0ABA9-C500-42EA-9901-1BF36C7333C4

Fra /var/db/shadow/hash/79C0ABA9-C500-42EA-9901-1BF36C7333C4

Hash-filen til Ann (med Windows-deling aktivert):

B33822CC510F1C9119690D8972BFDCE300000000000000000000000000000 <– LanMan hash
000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000CD0BDA45C7C657A0E <– SHA1-hash
783AD571AB16CFBA72D86BA7263856A000000000000000000000000000000 <– (resten)
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000

LanMan-hashen, for Windows-deling (32 tegn):
B33822CC510F1C9119690D8972BFDCE3

Saltet SHA-1 (48 tegn):
CD0BDA45C7C657A0E783AD571AB16CFBA72D86BA7263856A

Salt (8 tegn):
CD0BDA45

SHA-1 (40 tegn):
C7C657A0E783AD571AB16CFBA72D86BA7263856A

Cracking av SHA-1 (med pre-compilert John The Ripper (1.7.3.1-macosx-universal) med støtte for saltede SHA-1-hasher):

/john annSHA1.txt
Loaded 1 password hash (Mac OS X 10.4+ salted SHA-1 [32/64])
xEmm (ann)
guesses: 1 time: 0:00:03:12 (3) c/s: 1774K trying: xEmm

Oppsettet av annSHA1.txt:
ann:CD0BDA45C7C657A0E783AD571AB16CFBA72D86BA7263856A

Cracking av LanMan viste jeg kort her. Enjoy! ;-)

Advertisements
Kategorier:Computers
  1. Ingen kommentarer så langt.
  1. No trackbacks yet.

Legg igjen en kommentar

Fyll inn i feltene under, eller klikk på et ikon for å logge inn:

WordPress.com-logo

Du kommenterer med bruk av din WordPress.com konto. Logg ut / Endre )

Twitter picture

Du kommenterer med bruk av din Twitter konto. Logg ut / Endre )

Facebookbilde

Du kommenterer med bruk av din Facebook konto. Logg ut / Endre )

Google+ photo

Du kommenterer med bruk av din Google+ konto. Logg ut / Endre )

Kobler til %s

%d bloggers like this: