John the Ripper
| John the Ripper | |
|---|---|
| Basisdaten
| |
| Entwickler | SolarDesigner / Openwall Project |
| Aktuelle Version | 1.9.0[1][2] (12. April 2019) |
| Betriebssystem | Unix, Windows oder DOS |
| Programmiersprache | C |
| Kategorie | Spionagesoftware |
| Lizenz | GPL |
| openwall.com/john/ | |
John the Ripper, kurz John oder JtR, ist eine von Alexander Peslyak (SolarDesigner) geschriebene und weit verbreitete freie Software zum Testen von Authentifizierungseinrichtungen und Ermitteln von Passwörtern. Es unterliegt der GNU General Public License. Die erste Version wurde 1996 vorgestellt. Ursprünglich für Unix-Betriebssysteme entwickelt, ist es derzeit auf 14 verschiedenen Betriebssystemen lauffähig und ist eines der beliebtesten derartigen Programme. Es wird auch der Quellcode zur Anpassung an andere Computersysteme bereitgestellt.
John kann zu einem vorhandenen Hashwert eines Passworts durch Brute-Force bzw. durch einen Wörterbuchangriff (Dictionary-Attack, Passwörter aus einer Textdatei auslesen) das Passwort ermitteln. Dies funktioniert durch Hashen des Probe-Passworts, des sogenannten Kandidaten, und Vergleich des daraus entstandenen Hashwerts mit dem gegebenen. Sind beide gleich, so wurde das Passwort gefunden, falls es sich nicht um eine Hashkollision handelt, die aber sehr unwahrscheinlich ist. Die Kandidaten können dabei aus einer Wörterliste ausgelesen werden, oder im incremental mode anhand von Regulären Ausdrücken von John generiert werden. Für den letzteren Modus liegen zahlreiche Ausdrücke bei, die sich daran orientieren, wie Menschen Passwörter bilden.
John ist in der Lage, mit DES (Traditional, BSDI, Kerberos, Microsoft LM), MD5 sowie Blowfish zu testen. Patches, die auf der Website bereitgestellt, aber offiziell nicht unterstützt werden, erweitern den Umfang um wesentlich mehr Algorithmen von diverser Software und auch Passwortdateien. Der Schwerpunkt von John liegt jedoch bei kryptographischen Hash-Funktionen.
Die Assemblerbefehle mit der MMX-Erweiterung, welche lange Zeit die beste Optimierung (für x86-CPUs) darstellte, wurde ab der Version 1.7.2 durch die modernen SSE2-Assemblerbefehle ersetzt. Er ermöglicht auf neueren CPUs eine wesentliche Leistungssteigerung. Ursache hierfür ist weniger der verwendete SSE2-Befehlssatz, sondern vielmehr die Registeranzahl, welche neuere CPUs bieten. Wurden früher nur 8 Register in die CPU integriert, so sind es bei neuen AMD/INTEL Prozessoren bereits 16.
Für AMD gilt dabei eine Einschränkung, welche eventuell noch bereinigt wird. AMD-Prozessoren stehen im 32-Bit-Modus lediglich 8 der 16 Register zur Verfügung. Daher ist es bei AMD64-Prozessoren anzuraten, den 64-Bit-Betriebmodus bzw. MMX (im 32-Bit-Modus) als Optimierung zu wählen. Diese Erkenntnis führte zur SSE2-Entwicklung in John The Ripper.
Auch wurde eine AltiVec-Unterstützung für die PowerPC-Architektur (PPC) eingeführt, die ebenfalls enorme Geschwindigkeitssteigerungen bringen soll.
Ab Version 1.7.2 bietet John SSE2 auch auf diversen BSD-Betriebssystemen an. So stehen für OpenBSD, FreeBSD und NetBSD wesentlich mehr build targets zur Verfügung.
Ebenfalls neu ist ab Version 1.7.2 eine kommerzielle Version, welche allerdings ebenfalls den Quellcode mitbringt. Diese Version soll sich an Firmen richten, die John zur regulären Prüfung ihrer Passwörter einsetzen. Veränderte Regeln sowie einige Verbesserungen der Dokumentation (welche auf die Zielplattform abgestimmt wurde) sind ausschließlich für diese Version vorgenommen worden. Firmen und Administratoren erhalten damit einen Zeitvorteil, der gegenüber der kostenlosen Version, welche oftmals Änderungen per Hand an der Konfiguration erfordert, teilweise gravierend ist.
Verteiltes und paralleles Rechnen
Mit Hilfe von Distributed John (djohn) lässt sich der Rechenaufwand auf mehrere Rechner nach dem Prinzip des Verteilten Rechnens aufteilen. Mit Hilfe von John-MPI (John the Ripper MPI-Patch) kann der Rechenaufwand auf mehrere Cores eines oder mehrerer Systeme nach dem Prinzip des parallelen Rechnens unter Verwendung von MPI aufgeteilt werden.
Rechtliches
John the Ripper kann zur unerlaubten Umgehung von Sicherheitsvorkehrungen verwendet werden. Damit stehen bestimmte Handlungen, wie die gezielte Verbreitung zu diesem Zweck in Deutschland nach § 202c StGB („Hackerparagraf“) unter Strafe.
Weblinks
Einzelnachweise
- ↑ Release 1.9.0. 12. April 2019 (abgerufen am 12. April 2019).
- ↑ Release 1.9.0. 12. April 2019 (abgerufen am 8. September 2020).