- John the ripper
-
John the Ripper Entwickler: SolarDesigner / Openwall Project Aktuelle Version: 1.7.3.1
(3. März 2009)Betriebssystem: Unix, Win32 oder DOS Programmiersprache: C Kategorie: Spionagesoftware Lizenz: GPL openwall.com/john/ John the Ripper, kurz John oder JtR, ist ein weit verbreitetes Programm zum Knacken von Passwörtern. Es unterliegt der GNU General Public License und ist damit quelloffen und frei verfügbar. Ursprünglich für UNIX-Betriebssysteme entwickelt, läuft es derzeit auf 14 verschiedenen Betriebssystemen (plus generischem C-Code, der überall kompilieren sollte). John ist eines der beliebtesten Programme zum Knacken oder 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 und darauffolgendem Vergleich des verschlüsselten Textstrings mit dem schon verschlüsselten Passwort. Sind beide gleich, so wurde das Passwort 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.
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.
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.
Abspaltung
Mit Hilfe von Distributed John (djohn) lässt sich der Rechenaufwand auf mehrere Rechner verteilen.
Siehe auch: Asymmetrisches Kryptosystem
Weblinks
- offizielle Webseite (engl.)
- Projektseite bei Freshmeat.net
- djohn (engl.)
- Deutschsprachige Anleitung auf computec.ch
Wikimedia Foundation.