Nur für Gurus - NT-Hash
-
Hallo, ich habe vor mein AutoINSTALLATION-Programm:
http://home.arcor.de/kendy/
zu erweitern.Um die MAC-Adressenprüfung zu aktivieren, muss ein Passwort vergeben werden. Wenn man ein neues Passwort vergibt, überprüfe ich wie sicher das Passwort gegenüber einer Brute-Force-Attacke ist.
Nun möchte ich als weitere Option dem User anbieten, sein(e) Windows-Passwort(er) zu überprüfen, wie sicher diese sind.Dazu muss ich aber auf den NT-Hash bzw. LanManager Hash zugreifen. Dieser Zugriff ist standardmäßig deaktiviert (um Hackerangriffen vorzubeugen).
Es existieren aber Tools die unter anderem den SYSKEY-Schutz umgehen können (wie pwdump2). Dieses Tool ist Freeware, basiert aber auf der DOS-Eingabeaufforderung.
Wie kann ich den Code so umstricken, dass es auch unter MFC funktioniert und ich dem User (der ein Administrator des Systems sein muss) die Möglichkeit zu geben seine Passwörter nach den erforderlichen Sicherheitsanforderungen zu testen?
(pwdump2 unter: http://lasecpc13.epfl.ch/ntcrack/faq.php )
Ich habe schonmal etwas herumexperimentiert und es gibt auch keine Laufzeitfehler mehr. Das Problem ist, dass beim Zugriff auf die lsass.exe der Porzess lsass.exe abstürzt. Woran könnte das liegen?

Es wäre schön, wenn mal jemand über den Quelltext schauen würde:
-
Zwei Fragen:
-Wie starte ich die lsass.exe neu, nachdem sie abgestürzt ist, ohne meinen PC neuzustarten?
-Hast du beide Versionen mal durchdebuggt und alle Rückgabewerte etc. verglichen?
-
Hi, ich hab schon ne Weile danach gegoogelt, aber leider den Prozess der lsass.exe nicht wieder zum Laufen gebracht. Das Herunterfahren des Systems kannst du mit shutdown -a abbrechen, wie du sicher weißt.
Mit dem Debuggen hab ich mich noch nicht vollständig auseinandergesetzt, da es für meine bisherigen Programmieraufgaben eine eher untergeordnete Rolle gespielt hat. Es wäre super, wenn das jemand mit mehr "know how" mal probieren könnte.
-
Wie ich das Herunterfahren abbrechen kann, weiss ich auch.
Mein Verdacht:
Du startest deine nt_hash.exe aus der Entwicklungsumgebung heraus, Das Arbeitsverzeichnis ist ...\nt_hash\. Die DLL liegt aber in ...\nt_hash\Debug\. Versuch mal, ob's funktioniert, wenn du die exe aus'm explorer herausstartest, bzw die DLL in'S Projektverzeichnis legst, nciht in's Unterverzeichnis Debug. Später, wenn du das Programm nciht mehr aus der Entwicklungsumgebung startest muss die DLL natürlich im selben Verzeichnis sein, wie die exe.
-
Das hab ich mir schon gedacht, dass du weißt wie man das Herunterfahren abbricht...

Ich hab es gerade getestet und das Programm über den Explorer gestartet, wobei sich die dll-Datei im selben Verzeichnis wie die exe-Datei befunden hat. Es hat den selben Fehler zur Folge.
-
Mist!
Aber was anderes: Hast du eine Methode, wie du von den Hashes auf die Passwörter kommst?
-
Hashwerte kann man mit der Brute-Force-Methode entschlüsseln. Das ist aber nicht allzuschwer umzusetzen. Man muss halt nur alle möglichen Kombinationen durchprobieren, daraus einen Hashwert bilden und den mit dem bestehenden Hashwert vergleichen. Das würde ich im Anschluss programmieren.
Es wär echt super, wenn du mal die beiden Programme vergleichen könntest, so dass wir gemeinsam zu einer Lösung des Problems kommen. Ich könnte mir vorstellen, dass die dll-Datei angepasst werden muss (Quelltext hab ich ja angegeben), damit sie mit meinem angepassten c++-Code harmonisiert.
-
Krieg ich den Quellcode von AutoInstall, wenn ich's hinbekomm?
-
Nee, wenn du bedenkst dass ich knapp 1 Jahr daran gearbeitet habe...

Aber ich glaub über nen Link oder ne namentliche Ernennung könnte man schonmal nachdenken bzw. über den Quellcode zum Hashwerte ermitteln und entschlüsseln.
Ohne Quatsch, wäre wirklich stark wenn du das hinbekommen würdest. Bin nämlich wirklich überfragt, wo der Fehler nun im Detail steckt. Ich denke, da wirst du aber auch etwas dran zu knabbern haben. War ja schon nicht so einfach den Quelltext von c in c++ umzustricken.
-
Dressman1981 schrieb:
Nee, wenn du bedenkst dass ich knapp 1 Jahr daran gearbeitet habe...

Schade

Dann wirste noch n Stück warten müssen.
-
Ja ist ok, hoffe trotzdem dass du dir das so bald wie möglich mal anschauen kannst. Ich denke aber schon, dass du das als Moderator hinbekommst. Wir können auch ruhig mal über E-Mail in Kontakt treten:
-
Hallo, sorry dass ich nerve, aber hat sich jemand noch mal den Quelltext angeschaut und ist zu einer Lösung meines Problems gekommen?
