NTLM-Hash-Funktion im Terminal?

Mir ist bewusst, dass im Terminal eine Reihe von Hash-Funktionen verfügbar sind, z. B. echo "text" | openssl <hashname>oder perl -MDigest::SHA -nle 'print Digest::SHA::sha224_hex($_), ":", $_'. Ich konnte jedoch keine Möglichkeit finden, NTLM zu hashen.

Kennt jemand eine Methode (vorzugsweise eine effiziente Methode) zum Hashen in NTLM über das Terminal?

Was meinen Sie, wenn Sie „eine effiziente Methode“ sagen? - Anscheinend gibt es etwas, das Sie uns nicht sagen. Warum benötigen Sie eine effiziente Methode, wenn Sie nur einmal hashen? .... Könnte es sein, dass Ihr eigentliches Problem darin besteht, dass Sie viele Hashes machen wollen und stattdessen eines der Programme brauchen, das versucht, Passwörter zu bruteforcen?
Bitte werfen Sie einen Blick auf meinen hier verlinkten Forumsbeitrag: stackoverflow.com/questions/51412536/… Wie Sie sehen können, versuche ich, jede Zeile einer Textdatei zu hashen, und daher ist eine effizientere Methode wünschenswerter. Wie auch immer, ich frage mich nur, wie der Befehl lauten würde, den NTLM-Hash-Algorithmus auf nur ein Wort anzuwenden, geschweige denn auf zahlreiche Zeilen. Eine Anleitung wäre sehr willkommen. Danke
Bitte erläutern Sie, was Ihr ursprüngliches Problem ist (dh Verwendung dafür). Es ist Zeitverschwendung, verschiedene Unterfragen für mögliche Lösungen zu beantworten, die Sie sich vielleicht ausgedacht haben. Es scheint wahrscheinlich, dass es eine Standardlösung für Ihr ursprüngliches Problem gibt, die viel einfacher zu vermitteln ist. Im Moment ist Ihre Frage nicht sinnvoll, da der Overhead bei der Verwendung separater Befehle für das Hashing (dh das Starten von Shell-Prozessen) (rechnerisch) viel teurer ist als das Hashing selbst. Daher ist es sinnlos, das Hashing selbst zu optimieren.
Wie Sie vielleicht gesehen haben, erhielt ich von „Jon“ auf Stack Overflow eine hervorragende Antwort, die sich als Lösung für praktisch alle Probleme erwies, die ich hatte. Ich versuche, den Befehl perl Digest:: zu verwenden, um eine Hash-Funktion zu verwenden, und es ist mir gelungen, zahlreiche Funktionen zu finden, darunter Tiger, SHA, Md5, Md2 , Gost usw. Ich konnte jedoch keine ähnliche Funktion auf metacpan.org finden die Funktionalität für den NTLM-Hash bereitstellt. Daher wende ich mich an AskDifferent, um zu sehen, wie der Befehl lautet, um dies zu erreichen (falls es überhaupt einen gibt).
Dann stellst du die Frage an der falschen Stelle. Was Sie brauchen, ist kein "Befehl", sondern eine Perl-Implementierung des NTLM-Hashs ... Mehrere solcher Implementierungen sind übrigens auf CPAN verfügbar.
Auch wenn sich die endgültige Antwort als rechenineffizient erweist, bin ich immer noch neugierig zu wissen, wie der Befehl für eine NTLM-Hash-Funktion unter MaOS lautet
Ich verstehe nicht, warum Sie sich auf "Befehl" konzentrieren. Das ist der völlig falsche Fokus. Es ist wie zu fragen: "Es dauert zu lange, wenn ich Nägel mit meinem Schuh einschlage. Bitte schlagen Sie einen besseren Schuh vor."
@jksoegaard Vielen Dank für den Rat, wo würden Sie dann raten, sich weiter zu diesem Problem zu erkundigen? Aus Interesse, was ist die Nicht-Perl-Implementierung des NTLM-Hash?
Ihre Frage ergibt keinen Sinn. Es gibt Hunderte von Nicht-Perl-Implementierungen des NTLM-Hash.
Können Sie nicht einfach beschreiben, wofür Sie das brauchen ... dh warum versuchen Sie, das zu bauen? Dann kann ich Ihnen die Lösung sehr leicht geben, denke ich. Diese andere Sache ist ziemlich sinnlos, da Sie mit einem separaten ntlm-Hashing-Befehl niemals zu einer effizienten Lösung kommen werden.
@jksoegaard Das war mir nicht bewusst. Vielleicht wäre die bessere Frage: Wie kann man einen NTLM-Hash am besten in ein Bash-Skript implementieren? Ich würde mich sehr freuen, wenn Sie mir auch nur im Geringsten helfen könnten
Das ist noch keine gute Frage. Bitte treten Sie zurück und erklären Sie das ursprüngliche Problem. Dh versuchen Sie Passwörter zu knacken? - Versuchen Sie, Ihr eigenes Authentifizierungssystem zu erstellen? - oder was ist das? Es ist absolut nichts falsch daran, eines dieser Dinge tun zu wollen, sagen Sie es einfach.
@jksoegaard Meine Verwendung dafür ist eine Integration in ein Bash-basiertes Datenbanksystem, das eingehende Passwörter in den gewünschten Hash-Algorithmus des Benutzers hashen kann. Wie gesagt, ich habe über 99% des "Projekts" erreicht, aber mir fehlt immer noch die Funktionalität für das Bash-Skript, um in NTLM hashen zu können.
Das ist also eine Schulaufgabe? dh Hausaufgaben? Wie auch immer, Sie scheinen fest entschlossen zu sein, nicht preisgeben zu wollen, warum Sie dies tun möchten, und als solches können Sie nie die tatsächliche Hilfe erhalten, die Sie benötigen. Aber um Ihre Frage zu beantworten, wenn Sie genau das tun möchten, was Sie schreiben (was keine gute Idee ist), dann ersetzen Sie einfach MD5 in Jons Antwort durch MD4. Dadurch erhalten Sie NTLM-Hashes. Denken Sie daran, dass die Eingabe in Unicode erfolgen muss.
@jksoegaard Nein, ich möchte, dass mein Skript als Backend einer Webschnittstelle fungiert, in der Benutzer jede gewünschte Zeichenfolge effizient in fast jede gewünschte Hash-Funktion hashen können. Ich verstehe nicht, wie viele Details, die ich Ihnen im Moment zur Verfügung stelle, relevant sind, um die anstehende Frage zu lösen, eine NTLM-Funktion in ein Bash-Skript zu integrieren ...
Es macht überhaupt keinen Sinn. Es gibt keine Möglichkeit, eine "Webschnittstelle" zum Hashen einer einzelnen Zeichenfolge zu verwenden, um im wahrsten Sinne des Wortes "effizient" zu werden. Bash scheint auch nicht der häufigste Kandidat für die Erstellung von Web-Backends zu sein? ;-)
Ich versuche wirklich, Ihnen sehr zu helfen. Es ist jedoch wichtig, das eigentliche Problem zu lösen. Informieren Sie sich hier über das XY-Problem: meta.stackexchange.com/questions/66377/what-is-the-xy-problem

Antworten (1)

Sie können mit der NTLM-Methode wie folgt hashen:

perl -MAuthen::Passphrase::NTHash -nle 'print Authen::Passphrase::NTHash->new(passphrase => $_)->hash_hex, ":", $_' < infile >> outfile

Ihren Kommentaren zufolge handelt es sich bei Ihrer Frage jedoch um ein XY-Problem. Sie versuchen wirklich, eine Website zu erstellen, die es jedem ermöglicht, jede Zeichenfolge effizient mit einem beliebigen Hash-Algorithmus zu hashen. Dafür ist die oben genannte Kommandozeile nicht geeignet.

Vielen Dank für ihre Antwort; das ist genau das, wonach ich gesucht habe. Ich habe dies mit installiert, cpan install Authen::Perl::NTLMaber ich wurde befördert, dass ich "möglicherweise das Authen::Passphrase::NTHash-Modul installieren muss". Welches CPAN-Modul müsste ich installieren, um dies zu beheben? (Das heißt, was wären die Befehle, um dieses Abhängigkeitsproblem zu beheben?) Nochmals vielen Dank :)
Sie müssen Authen::Perl::NTLM nicht installieren. Sie müssen Authen::Passphrase::NTHash installieren.
Danke, habe das gerade installiert, aber den Fehler "nicht erkanntes Attribut" erhalten (alles ist genau wie angegeben ausgefüllt)
Habe es jetzt behoben...
Funktioniert einwandfrei, vielen Dank! Genau das was ich gesucht habe :)