| Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a. |
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 ...
![]() |
| | #1 (permalink) |
| Registriert seit: 17.01.05 ![]() Likes: 0 | 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 |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | 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. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 17.01.05 ![]() Likes: 0 | 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 |
| | |
| | #4 (permalink) | |||
| Member of Honour ![]() Registriert seit: 29.01.05 ![]() Likes: 0 | Zitat:
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:
Zitat:
Bye, nz | |||
| | |
| | #5 (permalink) | |
| Senior Member Registriert seit: 23.12.03 ![]() Likes: 0 | Zitat:
Das Ganze nennt sich dann "collission". http://www.rsasecurity.com/rsalabs/node.asp?id=2176 cu Silenced | |
| | |
| | #6 (permalink) |
| Registriert seit: 07.02.05 ![]() Likes: 0 | 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? |
| | |
| | #7 (permalink) |
| Senior Member Registriert seit: 23.12.03 ![]() Likes: 0 | @nooby nein, das hast du vollkommen richtig verstanden |
| | |
| | #8 (permalink) | |
| Registriert seit: 01.03.05 ![]() Likes: 0 | Zitat:
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* | |
| | |
| | #9 (permalink) |
| Member of Honour ![]() Registriert seit: 29.01.05 ![]() Likes: 0 | 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 |
| | |
| | #10 (permalink) |
| Registriert seit: 03.10.05 ![]() Likes: 0 | 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 |
| | |
| | #11 (permalink) | |
| Registriert seit: 20.09.05 ![]() Likes: 0 | Zitat:
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 | |
| | |
| | #12 (permalink) |
| Registriert seit: 03.10.05 ![]() Likes: 0 | danke das bringt mich schion mal weiter ![]() kann mir noch jemand bei den anderen fragen helfen ? danke schonmal |
| | |
| | #13 (permalink) |
| Senior Member Registriert seit: 18.09.05 ![]() Likes: 0 | 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? |
| | |
| | #14 (permalink) |
| Registriert seit: 20.09.05 ![]() Likes: 0 | @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 |
| | |
| | #15 (permalink) |
| Registriert seit: 03.10.05 ![]() Likes: 0 | 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? |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |