Offensive Services

PDF Passwort knacken mit Zydra!

Aktualisiert am

In dieser Woche stellen wir das Tool Zydra vor. Mit Zydra können verschiedene Dateitypen geknackt werden, die mit einem Passwort geschützt sind. Archive wie bspw. ZIP oder RAR können genauso wie eine PDF mit einem Passwort versehen sein. All diese Dateitypen können mit Zydra geknackt werden.

Installation von Zydra

Wie viele andere Pentest-Tools ist auch Zydra auf der Plattform GitHub verfügbar. Es sind verschiedene Möglichkeiten beschrieben, wie der Nutzer Zydra installieren kann. Es ist bspw. möglich, Zydra in einem Docker-Container oder einer Vagrant-Instanz zu verwenden, wir beschäftigen uns hier allerdings mit dem klassischen Weg. Hierfür wird zunächst das gesamte Repository geklont, sodass wir sämtliche Dateien auf unserem lokalen System gespeichert haben. Der Befehl hierfür lautet:

git clone https://github.com/hamedA2/Zydra.git

Anschließend befindet sich auf unserem lokalen System ein Ordner mit dem Namen Zydra. Nun bewegen wir uns in diesen Ordner mit dem Befehl cd Zydra (cd = change directory) und finden dort die Dateien des GitHub-Repositorys. Eine andere Möglichkeit ist es, das Repository auf dem Desktop zu speichern und anschließen mit dem Explorer (Windows) oder dem Finder (macOS) manuell in diesen Ordner wechseln.

Zydra-Ordner

PDF Passwort knacken

Die Verwendung von Zydra ist sehr einfach, da es nicht viele Optionen gibt, dafür sind die einzelnen Funktionen umso mächtiger. Um nun ein PDF Passwort oder ein anderes Passwort einer Datei zu knacken, muss die Python-Datei Zydra.py aufgerufen werden.

Dies ist am einfachsten durch das Terminal bzw. die Kommandozeile unter Windows durchzuführen. Mit dem Kommando python3 Zydra.py -h erhalten Sie eine ausführliche Ansicht über die Funktionen von Zydra:

Zydra -h

Um nun ein PDF Passwort zu knacken, können wir zwischen 2 verschiedenen Modi auswählen. Der erste Modus ist der Dictionary Mode, indem wir eine Liste mit Passwörtern verwenden, die nacheinander als Passwort ausprobiert werden. Der zweite Modus ist der Brute-Force Mode. Hier müssen wir neben einem Buchstaben-Set (bspw. nur Kleinbuchstaben) noch angeben, welche Datei geknackt werden soll und aus wie vielen Buchstaben ein Passwort minimal und maximal bestehen soll.

Da der Brute-Force Mode jede Kombination ausprobiert, die mit der min- und max-Länge aus dem Buchstabenset kreiert werden kann, dauert dieser Modus sehr lange. In unserem Beispiel verwenden wir daher den Dictionary Mode. Mit dem Flag -f geben wir an, welche Datei geknackt werden soll. In unserem Beispiel die Datei secret.zip, die sich in dem gleichen Ordner befindet wie die Zydra-Python-Datei. Unsere Wörterliste nehmen wir aus der SecLists, die wir in der 7. Woche der Pentest-Tool Serie erläutert haben. Der Befehl lautet somit: python3 Zydra.py -f secret.zip -d ../SecLists/Passwords/Common-Credentials/10k-most-common.txt

Eine weitere Anleitung zu den Möglichkeiten von Zydra finden Sie auf der wonderhowto, jedoch ist die Verwendung für andere Dateitypen wie bspw. PDF genau die gleiche. Hier können Sie sich weiter Installationswege ausführlich anschauen, sodass Sie im Anschluss eigene Passwort geschützte Dateien knacken können. Denken Sie jedoch daran, dass Sie lediglich eigene Dateien knacken sollten, da Sie ansonsten eine Straftat begehen!

Foto des Autors

Vincent Reckendrees

Hallo, ich bin Vincent Reckendrees und leite das Team Offensive Services bei der AWARE7 GmbH. In meinem Bachelor und Master Studium habe ich mich auf IT-Sicherheit spezialisiert und BSI zertifizierter IS-Penetrationstester. Meine Leidenschaft gilt Reverse Engineering, Hardware- und Web-Sicherheit. Als Experte für Penetrationstests finde ich Schwachstellen in Systemen und Netzwerken und nutze sie, um realistische Cyberangriffe zu simulieren und Sicherheitsmaßnahmen zu verbessern. Durch Reverse Engineering entdecke ich Fehler und Verbesserungsmöglichkeiten in Software und Hardware. Meine Fähigkeiten in Hardware- und Web-Sicherheit ermöglichen es mir, physische Geräte und Online-Plattformen vor einer Vielzahl von Cyberbedrohungen zu schützen und ihre Integrität und Zuverlässigkeit zu gewährleisten.