PDF-Dokumente mit John the Ripper knacken

Kali LinuxBeginner
Jetzt üben

Einleitung

In diesem Lab werden Sie den Prozess des Knackens von passwortgeschützten PDF-Dokumenten mit dem leistungsstarken Open-Source-Passwort-Cracking-Tool John the Ripper erkunden. Sie lernen, wie Sie ein sicheres PDF erstellen, seinen Hash extrahieren und dann versuchen, das Passwort zu knacken. Dieses Lab behandelt auch verschiedene PDF-Verschlüsselungstypen und gibt Best Practices für die Sicherung Ihrer PDF-Dokumente. Das Verständnis dieser Konzepte ist entscheidend für Cybersicherheitsexperten und alle, die sensible Informationen im PDF-Format verarbeiten.

Erstellen eines passwortgeschützten PDF-Dokuments

In diesem Schritt erstellen Sie eine einfache Textdatei und konvertieren sie in ein passwortgeschütztes PDF-Dokument. Wir werden zu diesem Zweck die Befehle enscript und ps2pdf verwenden. enscript konvertiert Textdateien in PostScript, und ps2pdf konvertiert PostScript in PDF.

Erstellen Sie zuerst eine einfache Textdatei namens secret.txt in Ihrem Verzeichnis ~/project.

echo "This is a secret document." > ~/project/secret.txt
cat ~/project/secret.txt

Konvertieren Sie als Nächstes secret.txt in eine PostScript-Datei.

enscript -p ~/project/secret.ps ~/project/secret.txt
ls -l ~/project/secret.ps

Konvertieren Sie nun die PostScript-Datei in ein passwortgeschütztes PDF. Wir setzen sowohl das Benutzerpasswort als auch das Eigentümerpasswort auf labex123. Das Benutzerpasswort beschränkt das Öffnen des Dokuments, während das Eigentümerpasswort Berechtigungen wie Drucken oder Bearbeiten einschränkt.

ps2pdf -sOwnerPassword=labex123 -sUserPassword=labex123 ~/project/secret.ps ~/project/protected.pdf
ls -l ~/project/protected.pdf

Sie haben erfolgreich ein passwortgeschütztes PDF-Dokument erstellt.

Hash aus PDF mit pdf2john extrahieren

In diesem Schritt extrahieren Sie den Hash aus dem passwortgeschützten PDF-Dokument mit pdf2john.py. pdf2john.py ist ein Python-Skript, das mit John the Ripper geliefert wird und dazu dient, knackbare Hashes aus PDF-Dateien zu extrahieren.

Suchen Sie zuerst das Skript pdf2john.py. Es befindet sich normalerweise im Verzeichnis run der John the Ripper-Installation.

find /usr/share/john -name pdf2john.py

Verwenden Sie nun pdf2john.py, um den Hash aus ~/project/protected.pdf zu extrahieren und ihn in einer Datei namens pdf_hash.txt zu speichern.

python3 /usr/share/john/pdf2john.py ~/project/protected.pdf > ~/project/pdf_hash.txt
cat ~/project/pdf_hash.txt

Die Ausgabe zeigt eine Hash-Zeichenkette, die John the Ripper zu knacken versuchen kann. Das Format enthält typischerweise Informationen über die PDF-Version, den Verschlüsselungstyp und den eigentlichen Hash.

PDF-Hash mit John the Ripper knacken

In diesem Schritt verwenden Sie John the Ripper, um den extrahierten PDF-Hash zu knacken. Für diese Demonstration verwenden wir eine einfache Wortliste.

Erstellen Sie zuerst eine Wortlistendatei namens wordlist.txt in Ihrem Verzeichnis ~/project. Fügen Sie labex123 (das korrekte Passwort) und einige andere gängige Passwörter hinzu.

echo -e "password\n123456\nlabex123\nqwerty" > ~/project/wordlist.txt
cat ~/project/wordlist.txt

Verwenden Sie nun John the Ripper mit der wordlist.txt, um den Hash in pdf_hash.txt zu knacken.

john --wordlist=~/project/wordlist.txt ~/project/pdf_hash.txt

John the Ripper verarbeitet den Hash und die Wortliste. Wenn er eine Übereinstimmung findet, zeigt er das geknackte Passwort an.

Nach dem Knacken können Sie die von John gefundenen und gespeicherten Passwörter anzeigen.

john --show ~/project/pdf_hash.txt

Sie sollten labex123 als das geknackte Passwort für protected.pdf sehen.

PDF-Verschlüsselungstypen verstehen

In diesem Schritt lernen Sie verschiedene PDF-Verschlüsselungstypen kennen und wie diese die Sicherheit eines PDF-Dokuments beeinflussen. Die PDF-Verschlüsselung hat sich im Laufe der Zeit weiterentwickelt, wobei neuere Versionen einen stärkeren Schutz bieten.

Die PDF-Verschlüsselung verwendet typischerweise Algorithmen wie RC4 oder AES. Auch die Schlüssellänge variiert, wobei längere Schlüssel mehr Sicherheit bieten.

  • RC4 40-bit: Dies ist eine ältere und schwächere Verschlüsselungsmethode, die leicht zu knacken ist.
  • RC4 128-bit: Ein gebräuchlicherer älterer Standard, der jedoch modernen Knacktechniken immer noch anfällig ist.
  • AES 128-bit: Ein stärkerer Verschlüsselungsstandard, der widerstandsfähiger gegen Brute-Force-Angriffe ist.
  • AES 256-bit: Die derzeit stärkste für PDFs verfügbare Verschlüsselung, die robusten Schutz bietet.

Sie können exiftool verwenden, um die Verschlüsselungsdetails eines PDFs zu überprüfen. Lassen Sie uns das von uns erstellte protected.pdf überprüfen.

exiftool ~/project/protected.pdf | grep "Encryption"

Die Ausgabe zeigt Details wie Encryption : RC4 128-bit oder AES 256-bit an, abhängig von den Tools und Versionen, die zur Erstellung des PDFs verwendet wurden. Unser ps2pdf-Befehl verwendet standardmäßig RC4 128-bit für ältere Kompatibilität. Stärkere Verschlüsselung erfordert spezifische Optionen oder neuere PDF-Erstellungswerkzeuge.

Das Verständnis des Verschlüsselungstyps ist entscheidend, da er direkt den Aufwand beeinflusst, der zum Knacken eines Passworts erforderlich ist. Schwächere Verschlüsselungstypen sind wesentlich schneller zu knacken.

PDF-Dokumente ordnungsgemäß sichern

In diesem Schritt lernen Sie bewährte Verfahren zur Sicherung von PDF-Dokumenten, um unbefugten Zugriff und das Knacken zu verhindern. Während Tools wie John the Ripper schwache Passwörter knacken können, können starke Sicherheitsmaßnahmen dies extrem schwierig oder unmöglich machen.

Hier sind wichtige Empfehlungen zur Sicherung Ihrer PDF-Dokumente:

  1. Verwenden Sie starke Passwörter: Dies ist der wichtigste Schritt. Ein starkes Passwort sollte sein:

    • Lang (mindestens 12-16 Zeichen).
    • Komplex (Mischung aus Großbuchstaben, Kleinbuchstaben, Zahlen und Symbolen).
    • Einzigartig (nicht für andere Konten oder Dokumente verwendet).
    • Zufällig (vermeiden Sie Wörterbuchwörter oder persönliche Informationen).
  2. Verwenden Sie starke Verschlüsselungsalgorithmen: Wählen Sie immer den höchsten verfügbaren Verschlüsselungsstandard, vorzugsweise AES 256-bit. Stellen Sie bei der Erstellung von PDFs sicher, dass Ihre Software für die Verwendung moderner Verschlüsselung konfiguriert ist.

  3. Legen Sie sowohl Benutzer- als auch Eigentümerpasswörter fest:

    • Benutzerpasswort: Beschränkt das Öffnen des Dokuments. Dies ist der primäre Schutz.
    • Eigentümerpasswort: Beschränkt Berechtigungen wie Drucken, Kopieren von Inhalten, Bearbeiten oder Hinzufügen von Kommentaren. Selbst wenn das Benutzerpasswort bekannt ist, kann das Eigentümerpasswort bestimmte Aktionen verhindern.
  4. Speichern Sie Passwörter nicht zusammen mit Dokumenten: Speichern Sie das Passwort für ein PDF niemals am selben Ort oder auf demselben System wie das PDF selbst.

  5. Aktualisieren Sie die Software regelmäßig: Stellen Sie sicher, dass Ihre PDF-Erstellungs- und -Anzeigesoftware auf dem neuesten Stand ist, um von den neuesten Sicherheitspatches und Verschlüsselungsstandards zu profitieren.

  6. Erwägen Sie digitale Signaturen: Für Authentizität und Integrität können digitale Signaturen die Herkunft des Dokuments überprüfen und sicherstellen, dass es nicht manipuliert wurde.

Durch die Befolgung dieser Praktiken können Sie die Sicherheit Ihrer PDF-Dokumente erheblich verbessern und sensible Informationen vor unbefugtem Zugriff schützen.

Zusammenfassung

In diesem Lab haben Sie praktische Erfahrungen mit dem Knacken passwortgeschützter PDF-Dokumente mit John the Ripper gesammelt. Sie haben gelernt, wie man ein passwortgeschütztes PDF erstellt, seinen Hash mit pdf2john.py extrahiert und dann erfolgreich das Passwort knackt. Darüber hinaus haben Sie verschiedene PDF-Verschlüsselungstypen untersucht und deren Auswirkungen auf die Sicherheit verstanden. Abschließend haben Sie wichtige Best Practices zur ordnungsgemäßen Sicherung von PDF-Dokumenten überprüft und die Bedeutung von starken Passwörtern und modernen Verschlüsselungsstandards hervorgehoben. Dieses Wissen ist entscheidend für den Schutz sensibler Informationen und das Verständnis potenzieller Schwachstellen in PDF-Dateien.