Archiv der Kategorie: Workaround

UNBLOG Tutorials Usability and Addons Integration with Technical Workarounds and Tutorials for Professionals.

MD5 Hash Offline erzeugen

MD5 Hash auf dem eigenen Rechner erzeugen

MD5-Hashes sollte man nicht bei Online Hash Generatoren erzeugen, da nicht sicher ist, dass diese nicht in Rainbow-Tables landen.

Message-Digest Algorithm 5 (MD5) ist eine weitverbreitete kryptografische Hash-Funktion. Sie erzeugt MD5-Hashes mit einer Länge von 128 Bit. Die 128 Bit langen MD5-Hashes werden normalerweise als 32-stellige Hexadezimalzahl notiert.

MD5 wurde im Jahr 1991 von Ronald L. Rivest am Massachusetts Institute of Technology als Nachfolger von MD4 entwickelt. Es ist bekannt, dass MD5 keine Kollisionsresistenz bietet und zwischenzeitlich somit als unsicher gilt. Auch die Preimage-Resistenz ist theoretisch gebrochen, allerdings ist ein Preimage-Angriff gegen MD5 nicht praktikabel.

Bislang ist die Anwendung von MD5 noch immer weit verbreitet, und wird genutzt um in Datenbanken abgelegte Passwörter als Hash zu schreiben. Auf diese Weise wird verhindert, dass Passwörter im Klartext abgespeichert werden, was sonst ein hohes Sicherheitsrisiko darstellen würde.

User Authentifizierung

Bei einer User Authentifizierung wird das von ihm übermittelte Passwort mittels MD5 gehasht und der MD5-Hash wird mit dem MD5-Hash in der Datenbank verglichen. Sind beide Hashes gleich, gilt der User als authentifiziert. Wichtig ist dabei der Einsatz sogannter Salts, um gegenüber Angreifern ein wirksames Mittel gegen sogenannte Rainbow-Tabellen zu haben.

MD5-Hash erzeugen mit Notepad++

Eine zusätzliche Funktion in Notepad++, die gelegentlich hilfreich sein kann, ist der Hash-Generator. Mit dem MD5, SHA-1, SHA-256 und SHA-512 Hash-Generator, wird aus einer Text Eingabe oder einer Datei ein kryptografischer Hash generiert.

MD5 Hash Offline erzeugen mit Notepadd++

Klicke auf Tools -> MD5 -> Generate, um MD5-Hashes zu generieren.

MD5 Hash Generator Notepad++

quote Notepad++ ist ein kostenloser Quellcode-Editor und Notepad-Ersatz und kann hier heruntergeladen wrden. Die Verwendung läuft in der MS Windows-Umgebung und unterliegt der GNU General Public License.

Sicherheit bei Online Hash-Generatoren

Die MD5-Hashes sollten nicht Online über Generatoren auf Webseiten erzeugt werden, da nicht sichergestellt ist, dass diese letzten Endes nicht in Rainbow-Table landen. Rainbow Tabellen sind Datenstrukturen, die eine schnelle, speichereffiziente Suche nach der ursprünglichen Zeichenfolge für einen gegebenen Hashwert ermöglicht.

Hash Rainbow Tabellen

Der Begriff „Rainbow“ bezieht sich auf die verschiedenen Farben innerhalb der Tabelle, mit denen verschiedene Reduktionsfunktionen und -Schritte gekennzeichnet werden. Geht es darum, eine Vielzahl von Passwörtern zu knacken, sorgen Rainbow Tables für eine erhebliche Komplexitätsreduktion, weil ein vorgefertigtes Datenset mit Passwort-Hashes vorliegt. Die Passwörter werden mit diesem Datenset abgeglichen. Bei diesem Prozess werden die Hash-Files – vereinfacht ausgedrückt – in kleine Teile gesplittet und anhand von Berechnungen mit Buchstaben und Wörtern korreliert, bis das Klartext-Passwort ermittelt ist.

Hash in Windows PowerShell erzeugen

Unter Windows lässt sich in der PowerShell ein MD5-Hash erzeugen, hierzu eine entsprechende Funktion erstellt werden kann.

Function Get-MD5Hash {
    param
    (
        [String] $String
    )
    $Hash = New-Object System.Text.StringBuilder
    $([System.Security.Cryptography.HashAlgorithm]::Create('MD5')).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String)) | 
    ForEach-Object {
        $null = $Hash.Append($_.ToString("x2"))
    }
    return $Hash.ToString().ToLower()
}

Der Aufruf in der PowerShell folgt nun mit dem Befehl.

PS C:\> Get-MD5Hash "NewPassword2"
c22625c6ea0e23bbf572849133bfd432

MD5-Hash erzeugen unter Linux

Unter Linux istmd5sumbereits Onboard, damit kann mit folgendem Befehl im Terminal Ctrl + Alt + T ein Hash erzeugt werden.

$ echo -n NewPassword2 | md5sum
c22625c6ea0e23bbf572849133bfd432

MD5-Hash in macOS erzeugen

Bei macOS kann man ebenfalls in einem Terminal den Befehl wie folgt ausführen.

$ echo -n "NewPassword2" | md5
c22625c6ea0e23bbf572849133bfd432

Die Option -n gibt den abschließenden Zeilenumbruch nicht aus.

Debian 12 /var/log/syslog? Gefunden

Debian 12 /var/log/syslog und weitere Logs sind nicht mehr vorhanden, der Grund ist das Syslog durch journald ersetzt wurde. Es ist der Wechsel mit diesem das Protokollsystem von rsyslog mit den traditionellen Log-Dateien durch systemd-journald abgelöst wurde. rsyslog wurde mit Debian 8 (Jessie) erstmals eingeführt.

Debian 12 /var/log/syslog? Gefunden

Bei Debian 12 wird man schnell feststellen, das viele Log-Dateien unter /var/log fehlen, wie etwa mail.log, kern.log oder /var/log/syslog, auch weitere Syslog Protokolle sind nicht vorzufinden.

tail: cannot open '/var/log/syslog' for reading: No such file or directory

Wie können nun die Systemprotokolle eingesehen werden? dazu nutzt man journalctl, das als User Frontend für systemd-journald dient.

Verwendung von journalctl

Hier einige Befehle für die Verwendung von journalctl.

  • journalctl: zeigt das gesamte Systemprotokoll an.
  • journalctl -f: folgt dem Systemprotokoll in Echtzeit,
    ähnlich wie tail -f /var/log/syslog
  • journalctl -b: zeigt das Protokoll für den letzten Bootvorgang an.
  • journalctl -u servicename: zeigt das Protokoll für einen systemd-Dienst an, zB. journalctl -u apache2.service
  • journalctl –since=yesterday: zeigt das Protokoll seit gestern an.

journalctl bietet viele weitere Optionen, hilfe gibt es mit der man page.

$ man journalctl
$ journalctl --help

Syslog bei Debian 11 und Debian 12

Was zuvor Syslog bis Debian 11 mit tail -f /var/log/syslog ging, ist nun unter Debian 12 journalctl -ef

Beispiele mit journalctl

Wie zuvor bis Debian 11 und Syslog mit tail -f /var/log/mail.log war, ist jetzt unter Debian 12 vergleichbar mit dem Befehl.

$ journalctl -u postfix@-.service -f

Was zuvor mit /var/log/auth.log ging, ist nun vergleichbar mit dem Befehl.

$ journalctl -f -u ssh.service

journald speichert Log-Meldungen in binärem Format und verwaltet diese unter /var/log/journal. Wobei journalctl -e die neuesten Meldungen aus dem Journal zeigt.

quote Das Paket rsyslog wird auf den meisten Systemen nicht mehr benötigt und kann unter Umständen entfernt werden.

Rsyslog in Debian 12

Es ist jedoch weiterhin möglich, das rsyslog-Paket auf Debain 12 zu nutzen. Nach der Installation funktioniert Syslog in Debian 12 wie gewohnt.

$ sudo apt install rsyslog

Nach der Installation von rsyslog ist es gestartet und ist standardmäßig für die Ausführung beim Systemstart aktiviert.

$ systemctl status rsyslog

Beachte dass systemd-journald auch weiterhin protokolliert, wenn rsyslog installiert und aktiviert ist. Daher werden auf Debian 12 die Protokolle mit syslog und systemd-journald, am Ende zweimal auf die Festplatte geschrieben. Auch kann es erforderlich sein syslog in /etc/rsyslog.conf zu konfigurieren.

Wer das Upgrade von Debian 11 auf Debian 12 (bookworm) gemacht hat, der findet die rsyslog.conf Datei von Debian 11 (bullseye) hier.

Wer Speicherplatz sparen möchte, kann die systemd-journald Protokollierung deaktivieren. Dies kann durch löschen des Protokoll Verzeichnis /var/log/journal erreicht werden, wodurch verhindert wird, dass journald die Protokollierung weiterhin dauerhaft speichert.

Protokolle mit Journalctl in Multitail anzeigen

Eines der Dinge, die wir bei Syslog vermissen, ist die Möglichkeit, Multitail mit farblich hervorgehobenen Protokolleinträgen zu verwenden. Aber auch dafür gibt es eine Lösung, wie die folgenden Beispiele zeigen.

Das Postfix-Protokoll mit Journalctl und Multitail anzeigen.

$ multitail -cS postfix -l "journalctl -f -u postfix@-.service"

Dem Apache Log auf Debian 12 mit Journalctl in Multitail folgen.

$ multitail -cS apache -l "journalctl -f -u apache2.service"

Debian 12 mit Journalctl in Multitail im syslog Schema folgen.

$ multitail -cS syslog -l "journalctl -f"

quote  Der ähnliche Beitrag hier könnte dich auch intressieren.