Die Option --rules mit benutzerdefinierten Regeln nutzen
In diesem Schritt erkunden Sie die Option --rules, die es John the Ripper ermöglicht, eine Reihe von vordefinierten oder benutzerdefinierten Regeln auf Wörter aus einer Wortliste anzuwenden. Regeln sind mächtige Transformationen, die auf Wörter angewendet werden können, wie z. B. das Anhängen von Zahlen, das Ändern der Groß-/Kleinschreibung oder das Duplizieren von Zeichen, wodurch die Wahrscheinlichkeit, Passwörter zu knacken, die Variationen gängiger Wörter sind, erheblich erhöht wird.
John wird mit mehreren integrierten Regelwerken geliefert, wie z. B. Wordlist (Standard), Single und Jumbo. Sie können die verfügbaren Regelwerke auflisten mit:
john --list=rules
Dieser Befehl gibt eine Liste von Regelwerken aus.
Nun verwenden wir eine benutzerdefinierte Regeldatei. Wir haben in der Einrichtung eine einfache benutzerdefinierte Regeldatei namens custom_rules.txt erstellt, die Regeln wie :$[0-9] (eine Ziffer anhängen) und Az (den ersten Buchstaben großschreiben) enthält.
Versuchen wir, user1 erneut zu knacken, aber diesmal unter Verwendung unserer benutzerdefinierten Regeln. Angenommen, das Passwort von user1 war Password123 (großes P, dann 123). Unsere Wortliste enthält nur password. Die Regel Az wird den ersten Buchstaben großschreiben und :$[0-9] wird eine Ziffer anhängen.
john --wordlist=/home/labex/project/wordlist.txt --rules=/home/labex/project/custom_rules.txt /home/labex/project/passwords.txt --format=sha512crypt
Dieser Befehl wendet die Regeln aus custom_rules.txt auf jedes Wort in wordlist.txt an, bevor er sie gegen die Hashes versucht. Zum Beispiel könnte password zu Password, password0, password1 usw. und dann zu Password0, Password1 usw. werden.
Sie können Regeln auch mit der Option --stdout (die wir im nächsten Schritt behandeln werden) kombinieren, um zu sehen, welche Wörter von Ihren Regeln generiert werden:
john --wordlist=/home/labex/project/wordlist.txt --rules=/home/labex/project/custom_rules.txt --stdout
Dieser Befehl gibt alle Wörter, die durch Anwendung von custom_rules.txt auf wordlist.txt generiert wurden, auf Ihrem Terminal aus. Dies ist nützlich zum Debuggen Ihrer Regelwerke.
Die Option --rules ist ein leistungsstarkes Merkmal zur Erweiterung der Effektivität von Wortlistenangriffen durch die Generierung gängiger Passwortvariationen.