Wie kann ich beim Erstellen eines Linux-Benutzers einen bestimmten Verschlüsselungs-Hash festlegen?

Wie kann ich beim Erstellen eines Linux-Benutzers einen bestimmten Verschlüsselungs-Hash festlegen?

Ich möchte auf meinem Computer einige Linux-Benutzer erstellen, um JohnTheRipper mit verschiedenen Arten von Passwörtern (einschließlich Länge, Zeichensatz und Verschlüsselungs-Hash-Methode) zu testen. Wie kann ich einfach angeben, welcher Hash-Algorithmus beim Erstellen eines neuen Benutzers verwendet werden soll? Ich weiß, dass die Datei /etc/login.defs die Variable ENCRYPT_METHOD enthält, die auf vielen Debian-Systemen standardmäßig auf SHA512 eingestellt ist, aber ich wüsste, ob es möglich ist, einen anderen Verschlüsselungs-Hash zu verwenden, ohne diese Datei zu ändern.

ps: Ich habe versucht, diese Datei zu ändern, neu zu starten und einen neuen Benutzer mit dem Befehl adduser zu erstellen, aber der Benutzer der Verschlüsselungs-Hash-Methode ist immer der SHA512

Danke

Antwort1

Die einfachste Methode zum Einrichten eines Kennworts mit einer nicht standardmäßigen Hashing-Methode besteht darin, das Kennwort zunächst manuell zu hashen und dieses Kennwort dann beim Einrichten des Benutzers anzugeben:

 adduser --password HASHEDPASSWORD user

Dabei muss das HASHEDPASSWORD den Standards Ihres Systems für die cryptFunktion ( man 3 crypt) entsprechen:

Wenn Salt eine Zeichenfolge ist, die mit den Zeichen „$id$“ beginnt, gefolgt von einer Zeichenfolge, die mit folgendem endet "$":

         $id$salt$encrypted

Dann wird nicht die DES-Maschine verwendet, sondern die ID identifiziert die verwendete Verschlüsselungsmethode und diese bestimmt dann, wie der Rest der Kennwortzeichenfolge interpretiert wird. Die folgenden ID-Werte werden unterstützt:

          ID  | Method
          ---------------------------------------------------------
          1   | MD5
          2a  | Blowfish (not in mainline glibc; added in some
              | Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

Dies $5$salt$encrypted gilt sowohl für ein SHA-256-codiertes Passwort als auch $6$salt$encryptedfür ein SHA-512-codiertes Passwort.

Um einen korrekten Hash über die Kommandozeile zu generieren, können Sie nachsehenHier.

Antwort2

Nach einigen Tests besteht die beste Möglichkeit zum Erstellen unterschiedlicher Benutzer mit unterschiedlichen Hash-Algorithmen aus drei Schritten:

  1. Erstellen Sie den Benutzer ohne Passwort
  2. Erstellen Sie das Kennwort im UNIX-Format unter Verwendung der angegebenen Parameter (Salt, Kennwort, Hash-Algorithmus).
  3. Legen Sie das generierte UNIX-Passwort in /etc/shadow fest.

Hier ein Beispiel für einen Benutzertest1, mit Passwort1234Undmd5als Hashfunktion.

sudo adduser test1 --disabled-password sudo mkpasswd --method=md5 --salt=coolsalt 1234 $1$coolsalt$qTXiZzGn08J.xYkV1ce1y1

und bearbeiten Sie nun einfach die/etc/Schatten

Vor dem Bearbeiten test1:*:16559:0:99999:7:::

Nach der Bearbeitung test1:$1$coolsalt$qTXiZzGn08J.xYkV1ce1y1:16559:0:99999:7:::

Anschließend können Sie versuchen, sich mit diesem Benutzer anzumelden, um zu überprüfen, ob das Format korrekt ist.

whoami root su test1 Password: 1234 whoami test1

danke für die Hilfe

verwandte Informationen