John the Ripper

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
John the Ripper
Entwickler SolarDesigner / Openwall Project
Aktuelle Version 1.8
(30. Mai 2013)
Betriebssystem Unix, Win32 oder DOS
Programmier­sprache C
Kategorie Spionagesoftware
Lizenz GPL
openwall.com/john/

John the Ripper, kurz John oder JtR, ist ein von Alexander Peslyak (SolarDesigner) geschriebenes und weit verbreitetes Programm zum Testen von Authentifizierungseinrichtungen und Passwörtern. Es unterliegt der GNU General Public License und ist damit quelloffen und frei verfügbar. Ursprünglich für Unix-Betriebssysteme entwickelt, ist es derzeit auf 14 verschiedenen Betriebssystemen lauffähig. Ebenfalls wird der Quellcode zur Anpassung an andere Computersysteme bereitgestellt. John ist eines der beliebtesten Programme zum Dekodieren und Testen von Passwörtern.

John ist dafür vorgesehen, verschlüsselte Passwörter eines Systems durch Brute-Force bzw. durch einen Wörterbuchangriff (Dictionary-Attack, Passwörter aus einer Textdatei auslesen) zu entschlüsseln. Dies funktioniert durch Verschlüsseln eines Textstrings, des sogenannten „Kandidaten“, und darauffolgenden Vergleich des verschlüsselten Textstrings mit dem schon verschlüsselten Passwort. Sind beide gleich, so wurde das Passwort oder eine Hash-Kollision gefunden. Die dabei verwendeten Textstrings können 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.

Die Assemblerbefehle mit der MMX-Erweiterung, welche lange Zeit die beste Optimierung (für x86-CPUs) darstellte, wurde seit 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.

Seit 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.

John The Ripper ist in der Lage, DES (Traditional, BSDI, Kerberos, Microsoft LM), MD5 sowie Blowfish zu knacken. Patches, die ebenfalls auf der Website gefunden werden können, aber offiziell nicht unterstützt werden, erlauben es, wesentlich mehr Algorithmen bzw. Passwortdateien von diverser Software zu knacken. Der Schwerpunkt von John liegt aber klar bei kryptographischen Hash-Funktionen statt Dateiformaten.

Ebenfalls neu ist seit 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[Bearbeiten]

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.

Siehe auch: Asymmetrisches Kryptosystem

Rechtliches[Bearbeiten]

John the Ripper kann Passwörter zur unerlaubten Umgehung von Sicherheitsvorkehrungen herstellen oder aufdecken. Damit stehen bestimmte Handlungen, wie die gezielte Verbreitung zu diesem Zweck in Deutschland nach § 202c StGB („Hackerparagraf“) unter Strafe.

Weblinks[Bearbeiten]