Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Algorithmen für die SAM

Diskussion: Algorithmen für die SAM im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Hallo, ich interesiere mich für die funktionsweise der Algorithmen mit der die USER und PASSWÖRTER in der SAM abgelegt ...

Antwort
Alt 17.01.05, 02:23   #1 (permalink)
 
Registriert seit: 17.01.05
subzeroo Leistung: Facit NTK
Likes: 0
Standard Algorithmen für die SAM

Anzeige

Hallo,

ich interesiere mich für die funktionsweise der Algorithmen mit der die USER und PASSWÖRTER in der SAM abgelegt werden. Ausserdem würde ich gerne verstehen wie solche Tools wie LC4 genau funktionieren, wie sie auf die SAM zugreifen und vor allem gehts mir um die Algorithmen.
Wie heisen diese Algorithmen, und wie prüft ein System ob das eingegebene Passwort zu dem Benutzer stimmt.

Mfg und danke im Voraus : subzeroo

subzeroo ist offline   Mit Zitat antworten
Alt 17.01.05, 14:53   #2 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
es gibt soganannte Hashalgorithmen, diese sind Mathematische "Einwegfunktionen".
Sprich es ist extrem leicht eine Zahl in einen Hashwert (Ergebnis einer Hashfunktion) zu wandeln, aber nahezu unmöglich aus einem Hashwert die Zahl zu bekommen.

Hashalgorithmen arbeiten nicht mit geheimen Schlüssel oder ähnliches. Jeder kann sich die Algorithem anschauen.

Also du gibst jetzt dein Passwort in so einen Hashalgorithmus, dieser zerstückelt ihn und bildet daraus einen Hashwert.
Dieser Hashwert wird jetzt in der SAM Datei gespeichert.

Wenn du dich einloggen möchtest, wird wieder das Passwort durch den Hashalgorithmus geschickt, und wenn das gleiche raus kommt, war es das richtige Passwort.

Denn ein Hashalgorithmus generiert immer das gleiche Ergebnis aus dem gleichen Anfang (hier: Passwort).

Naja LC4 holt sich jetzt die Hashwerte aus der Datei, allerdings kann man vom Hashwert nicht in den Anfang/Passwort zurück.

Also generiert es ein mögliches Passwort, setzt es in den Algorithmus ein, und wenn das gleiche raus kommt, hat es das richtige Passwort erraten.
Wenn nicht, wird das nächts mögliche Passwort genommen und eingesetzt und anschließen überprüft.
Dies nennt man Brute Force.


Auf neueren Computer kann man ca. 5 bis 10 Mio. Passwörter die Sekunde testen, darum sollte das Passwort lang genug sein.
Elderan ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 21.01.05, 00:59   #3 (permalink)
Themenstarter
 
Registriert seit: 17.01.05
subzeroo Leistung: Facit NTK
Likes: 0
Standard Sam

Hallo,

vielen Dank,

das mit der Hashfunktion habe ich jetzt geschnallt, ein mögliches Passwort wird in die Hash zusammen mit einem Salt-Wert eingeben und der dazugehörige Hashwert berechnet. z.B.

hash = 29475;
salt = 09743;
crypt(hash,salt);

Was mich noch interesiert, wie ist die SAM aufgebaut?
gibt es eine Beschreibung irgendwo?
wie wird der Salt-Wert für die Hash funktion ermitelt, ich glaube er steht auch in der SAM oder ?

Das Passwort steht immer im Zusammenhang mit einem Benutzernamen , der muss doch auch in der SAM stehen?
Deshalb interesiert mich der Aufbau der SAM.



Mit freundlichen grüßen Subzeroo

vielen dank im Voraus
subzeroo ist offline   Mit Zitat antworten
Alt 30.01.05, 20:22   #4 (permalink)
Member of Honour
 
Registriert seit: 29.01.05
NeonZero Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von Elderan
Wenn du dich einloggen möchtest, wird wieder das Passwort durch den Hashalgorithmus geschickt, und wenn das gleiche raus kommt, war es das richtige Passwort.
Nicht unbedingt. Ich will hier nicht als Klugscheißer auftreten, aber für subzeroo könnte es sonst ein Verständnisproblem geben, wenn er versucht, den Sinn eines Hashes zu verstehen. Ein Hash-Algorithmus bildet aus einem beliebig großen Wert einen Wert mit einer fest vorgegebenen Größe. Damit eignet sich der Hash-Wert hervorragend als Prüfsumme in einer DB, in der man eine feste Größe pro Eintrag vorgesehen hat.

Niemand kann Anhand des Hash-Wertes den Ursprungswert zurückrechnen. Der Grund: Mehrere unterschiedliche Ursprungswerte können ein und denselben Hash-Wert bilden. Das bedeutet, dass es mehrere mögliche Zahlen und Buchstabenkombinationen gibt, die denselben Hash erzeugen und damit als gültiges Passwort erkannt werden. Solche gültigen ?Nebenpassworte? lassen sich gut mit Brute Force ermitteln (ohne Wörterbuch!).

Zitat:
Original von subzeroo
wie wird der Salt-Wert für die Hash funktion ermitelt, ich glaube er steht auch in der SAM oder?
Der Salt-Wert ist ein Zufallswert, welche in den ersten beiden Bytes des Hashes abgelegt wird. Dadurch wird erreicht, daß die Hashes von zwei identischen Passworten unterschiedlich aussehen.

Zitat:
Original von subzeroo
Das Passwort steht immer im Zusammenhang mit einem Benutzernamen , der muss doch auch in der SAM stehen?
Jup. Allerdings bekommt jede Kennung eine eigene ID. Und diese steht mit dem Hash definitiv in der SAM.

Bye, nz
NeonZero ist offline   Mit Zitat antworten
Alt 31.01.05, 14:20   #5 (permalink)
Senior Member
 
Registriert seit: 23.12.03
silenced Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von NeonZero
...dass es mehrere mögliche Zahlen und Buchstabenkombinationen gibt, die denselben Hash erzeugen und damit als gültiges Passwort erkannt werden. Solche gültigen ?Nebenpassworte? lassen sich gut mit Brute Force ermitteln (ohne Wörterbuch!).
Bye, nz
Egal ob mit oder ohne Wörterbuch.

Das Ganze nennt sich dann "collission".

http://www.rsasecurity.com/rsalabs/node.asp?id=2176

cu

Silenced
silenced ist offline   Mit Zitat antworten
Alt 09.02.05, 17:37   #6 (permalink)
 
Registriert seit: 07.02.05
n00by Leistung: Facit NTK
Likes: 0
Standard

wie sieht das aus, kann man dann also mit irgendeinem PW, das den gleichen hash hat, den zugriff bekommen?

oder gibts da noch eine schutzfunktion?
n00by ist offline   Mit Zitat antworten
Alt 10.02.05, 09:10   #7 (permalink)
Senior Member
 
Registriert seit: 23.12.03
silenced Leistung: Facit NTK
Likes: 0
Standard

@nooby

nein, das hast du vollkommen richtig verstanden
silenced ist offline   Mit Zitat antworten
Alt 15.03.05, 14:30   #8 (permalink)
 
Registriert seit: 01.03.05
SmOkEr Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von n00by
wie sieht das aus, kann man dann also mit irgendeinem PW, das den gleichen hash hat, den zugriff bekommen?

oder gibts da noch eine schutzfunktion?
na wie ich das verstanden habe macht hier der salt wert (zufallswert) einen unterschied.

nehmen wir an dein pw is 1234 das passowort von mir 2345,
und der hashwert wäre zufällig gleich, wär da immer noch der salt wert (1. beiden bytes) der ein anderer wäre.
wär schon mörder zufall denk ich.

nehm ich jetzt mal an *lach*
SmOkEr ist offline   Mit Zitat antworten
Alt 11.05.05, 18:05   #9 (permalink)
Member of Honour
 
Registriert seit: 29.01.05
NeonZero Leistung: Facit NTK
Likes: 0
Standard

Sorry, die Beiträge zum Thread sind mir irgendwie durch die Lappen gegangen. Aber besser spät als nie ?

>n00by: wie sieht das aus, kann man dann also mit irgendeinem PW, das den gleichen hash hat, den zugriff bekommen?

Genau das. Diese Dinger nennt man Nebenpassworte. Deshalb auch der Hinweis mit dem Brute Force ohne Wörterbuch, da Nebenpassworte i.d.R. cryptisch sind (ein Wörterbuch macht hier keinen Sinn).

>n00by: oder gibts da noch eine schutzfunktion?

Nein.

>Silenced: nein, das hast du vollkommen richtig verstanden

Bezieht sich Dein ?nein? nun auf seinen ersten oder den zweiten Satz? *grübel*

>Sm0kEr: na wie ich das verstanden habe macht hier der salt wert (zufallswert) einen unterschied.

Ich glaube da liegt ein Missverständnis vor. Der Slat-Wert soll vornehmlich verhindern, daß man durch Auslesen der SAM sieht, bei welchen Kennungen das gleiche Passwort verwendet wurde (die Hashwerte gleicher Passworte ? aber mit unterschiedlichen salt-Werten - unterscheiden sich voneinander).

Will das Betriebssystem den Hashwert eines eingegebenen Passwortes ermitteltn, so wird das Klartextpasswort dem Hash-Algorithmus übergeben. Zuvor aber extrahiert das System den Saltwert aus der SAM. Dieser Wert wird ebenfalls dem Hashalgorithmus mitgeteilt. Nur so weiß der Algorithmus erst, auf welche Weise er den Hash bilden soll. Bei richtiger Passworteingabe muß schließlich derselbe Hash erzeugt werden, wie er auch in der SAM steht. Nur wenn beide übereinstimmen, nimmt das System an, daß das Passwort korrekt ist.

Der Salt-Wert führt zudem zu folgendem Phänomen (das ist es vermutlich, was Du meinst): Angenommen ?NebEn1? ist ein gültiges Nebenpasswort für Kennung1, welche als Passwort tatsächlich ?Müller? erhalten hat. Dann ist ?NebEn1? nicht automatisch ein gültiges Nebenpasswort für Kennung2, welche ebenfalls das Passwort ?Müller? hat. Der Grund: In beiden Kennungen wird ein unterschiedlicher Salt-Wert verwendet, was dazu führt, daß der Hashalgorithmus aus ?NebEn1? in Kennung2 einen Hashwert bildet, welcher sich vom ?Müller?-Hash der Kennung2 unterschiedet. ?NebEn1? funzt also nur unter Kennung1.

>Sm0kEr: und der hashwert wäre zufällig gleich, wär da immer noch der salt wert (1. beiden bytes) der ein anderer wäre.

Aber: Der Slat-Wert gehört zum Hash. So bringt eine Hash- / (Neben-) Passwortliste also auf jeden Fall das gültige Nebenpasswort hervor, wenn Dein Hash in der Liste gefunden wird. Im Klartext: Ein Nebenpasswort, welches zu diesem Hash passt, passt auch zum salt wert.

Und: Das per Brute Force gefundene Nebenpasswort passt auf den Hash der angegriffenen Kennung. Da ist es vollkommen egal, ob es auch auf den Hash einer anderen Kennung passt, welches dasselbe Passwort verwendet, oder nicht.

Ich hoffe, alle Klarheiten wurden beseitigt?

Bye, nz
NeonZero ist offline   Mit Zitat antworten
Alt 04.10.05, 00:12   #10 (permalink)
 
Registriert seit: 03.10.05
Sydonay Leistung: Facit NTK
Likes: 0
Standard

hey miteinander, hab das nicht ganz verstanden und dachte mir ich frag einfach frech nach. also... dass das passwort an den algo übergeben wird ist mir klar, aber was macht der salt wert? wie wird der salt wert generiert? zufallsgenerator? doch wohl kaum, denn wie würde windows bei der anmeldung dann rausfinden ob das pass wichtig ist wenn eine koponente in der rechnung zufallsgeneriert ist? oder wird der salt wert klartext abgespeichert?

eine weitere frage... könnte man die sam datei nicht eigentlich einfach editieren?
mit knoppix oder ähnlichem, also den hashwert so ändern das er zu einem passwort passt das man kennt?

und gleich noch eine... wenn man den algo für windows kennt, dann könnte man doch per brute force alle möglichen zahlen-zeichen-sondezeichenkombinationen erstellen die man sich vorstellen kann (nun gut sagen wir mal bis zu 9 zeichen oder so) und zu jedem dieser werte den hash generieren und dieses "wissen" dann in eine datenbank hauen auf die jeder zugriff hat, und man dann nur nach dem hash suchen muss und sofort die möglichen passwörter ausgegeben werden.... oder denk ich falsch ?

danke schonmal, syd
Sydonay ist offline   Mit Zitat antworten
Alt 04.10.05, 15:55   #11 (permalink)
 
Registriert seit: 20.09.05
Nick H. Leistung: Facit NTK
Likes: 0
Standard

Zitat:
eine weitere frage... könnte man die sam datei nicht eigentlich einfach editieren?
das Passwort löschen oder ändern ist kein Problem
zum löschen musst du es einfach mit nullen überschreiben
zum ändern musst du den neuen MD5 reinschreiben und Syskey ausschalten

aber wenn du das alte auslesen willst
kannste das auf 2000/XP dank Syskey vergessen
Nick H. ist offline   Mit Zitat antworten
Alt 04.10.05, 16:52   #12 (permalink)
 
Registriert seit: 03.10.05
Sydonay Leistung: Facit NTK
Likes: 0
Standard

danke das bringt mich schion mal weiter
kann mir noch jemand bei den anderen fragen helfen ?

danke schonmal
Sydonay ist offline   Mit Zitat antworten
Alt 04.10.05, 16:57   #13 (permalink)
Senior Member
 
Registriert seit: 18.09.05
[starfoxx] Leistung: Facit NTK
Likes: 0
Standard

Also ist so eine Abfrage thoretisch nicht sicher?
Ich meine klar, Mathematische Genistreich in der Verschlüsselung und alles, und dann komm ich und schreib nNeues Passwort rein?

Wie gut ist soeine "passwortdatenbank" gesichert?
zB bei der Windowsuserverwaltung? Linux? Andere Systeme? (zB. Grossrechner von Firmen)

Wäre demnach das einzig "sichere" System ein nicht-multiuserfähiges?
[starfoxx] ist offline   Mit Zitat antworten
Alt 04.10.05, 17:23   #14 (permalink)
 
Registriert seit: 20.09.05
Nick H. Leistung: Facit NTK
Likes: 0
Standard

@Sydonay

eins hab ich noch vergessen:
deine Idee mit der Datenbank mit den dazugehörigen Hashes gibts auch schon
nennt sich meines Wissens "Rainbow Table"

@starfoxx

was einem nicht multi-user system sicher sein soll versteh ich nicht
man könnte doch trotzdem mit ner Boot-Cd das PW ändern

eine sichere Möglichkeit ist jedenfalls das ganze über einen Server zu machen
so dass das PW nicht lokal gespeichert wird

ich glaub das Teil heißt "Domain-Controller"
oder das war jetzt wieder was ganz anderes
Nick H. ist offline   Mit Zitat antworten
Alt 04.10.05, 17:35   #15 (permalink)
 
Registriert seit: 03.10.05
Sydonay Leistung: Facit NTK
Likes: 0
Standard

isses nicht so das man die system datei auf diskette speichern kann (beim aktivieren von syskey) und so
verhindern kann das man auf die hash werte der passwörter kommt weil
die ja in der sam gespeichert sind welche durch den syskey codiert ist der
sich eben in der system datei befindet?

was ich mich frage... wie deaktiviert man syskey ohne das man in win ist?
Sydonay ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Algorithmen für die SAM
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zukunftsträchtige Algorithmen... enkore Cryptography & Encryption 9 09.08.09 21:17
Algorithmen cr4ven Code Kitchen 4 28.10.08 20:35
Algorithmen für WPA Elderan Cryptography & Encryption 4 23.10.05 20:13
Laufzeitanalyse bei Algorithmen Dawen Code Kitchen 4 17.05.05 15:36
Datenstrukturen und Algorithmen Dawen Code Kitchen 0 14.04.05 23:05


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61