Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
bkcrack — Knacken der Legacy-Zip-Verschlüsselung mit dem Known-Plaintext-Angriff von Biham und Kocher. | Kitploit
Tools/GitHubGitHub/kimci86/bkcrack
Passwort-CrackingVerschlüsselungs-/EntschlüsselungstoolsSchwachstellenanalyseKryptographie
GitHubkimci86/bkcrack

bkcrack

Knacken der Legacy-Zip-Verschlüsselung mit dem Known-Plaintext-Angriff von Biham und Kocher.

Repository anzeigen
2.2k18822vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

bkcrack

CI badge coverage badge release badge license badge GitHub Sponsors badge

Cracke ältere Zip-Verschlüsselung mit dem Known-Plaintext-Angriff von Biham und Kocher.

Überblick

Ein ZIP-Archiv kann viele Einträge enthalten, deren Inhalt komprimiert und/oder verschlüsselt sein kann. Insbesondere können Einträge mit einem passwortbasierten symmetrischen Verschlüsselungsalgorithmus verschlüsselt sein, der als traditionelle PKWARE-Verschlüsselung, Legacy-Verschlüsselung oder ZipCrypto bezeichnet wird. Dieser Algorithmus erzeugt einen pseudozufälligen Bytestrom (Keystream), der mit dem Inhalt des Eintrags (Klartext) XOR-verknüpft wird, um verschlüsselte Daten (Chiffretext) zu erzeugen. Der Zustand des Generators, bestehend aus drei 32-Bit-Integern, wird mit dem Passwort initialisiert und dann während der Verschlüsselung kontinuierlich mit Klartext aktualisiert. Dieser Verschlüsselungsalgorithmus ist anfällig für Known-Plaintext-Angriffe, wie von Eli Biham und Paul C. Kocher in der Forschungsarbeit A known plaintext attack on the PKZIP stream cipher gezeigt wurde. Mit gegebenem Chiffretext und 12 oder mehr Bytes des entsprechenden Klartextes kann der interne Zustand des Keystream-Generators wiederhergestellt werden. Dieser interne Zustand reicht aus, um den Chiffretext vollständig zu entschlüsseln sowie andere Einträge, die mit demselben Passwort verschlüsselt wurden. Er kann auch verwendet werden, um das Passwort mit einer Komplexität von nl-6 zu bruteforcen, wobei n die Größe des Zeichensatzes und l die Länge des Passworts ist.

bkcrack ist ein Kommandozeilenwerkzeug, das diesen Known-Plaintext-Angriff implementiert. Die Hauptfunktionen sind:

  • Interne Zustände aus Chiffretext und Klartext wiederherstellen.
  • Passwort eines ZIP-Archivs mit dem internen Zustand entfernen oder ändern.
  • Das ursprüngliche Passwort aus dem internen Zustand wiederherstellen.

Installation

Vorkompilierte Pakete

Die neueste offizielle Version erhalten Sie auf GitHub.

Vorkompilierte Pakete für Ubuntu, MacOS und Windows stehen zum Download bereit. Extrahieren Sie das heruntergeladene Archiv an einen beliebigen Ort.

Unter Windows werden Microsoft-Laufzeitbibliotheken benötigt, damit bkcrack ausgeführt werden kann. Falls sie nicht bereits auf Ihrem System installiert sind, laden Sie das neueste Microsoft Visual C++ Redistributable-Paket herunter und installieren Sie es.

Aus dem Quellcode kompilieren

Alternativ können Sie das Projekt mit CMake kompilieren.

Laden Sie zunächst die Quelldateien herunter oder klonen Sie das Git-Repository. Dann wird durch Ausführen der folgenden Befehle im Quellbaum eine Installation im Ordner install erstellt.

cmake -S . -B build -DCMAKE_INSTALL_PREFIX=install
cmake --build build --config Release
cmake --build build --config Release --target install

Pakete von Drittanbietern

bkcrack ist in den unten aufgeführten Paket-Repositorien verfügbar. Diese Pakete werden von externen Betreuern bereitgestellt.

Packaging status

Verwendung

Einträge auflisten

Sie können eine Liste der Eintragsnamen und Metadaten in einem Archiv namens archive.zip wie folgt anzeigen:

bkcrack -L archive.zip

Einträge, die ZipCrypto-Verschlüsselung verwenden, sind anfällig für einen Known-Plaintext-Angriff.

Interne Schlüssel wiederherstellen

Der Angriff erfordert mindestens 12 Bytes bekannten Klartext. Mindestens 8 davon müssen zusammenhängend sein. Je größer der zusammenhängende bekannte Klartext, desto schneller der Angriff.

Daten aus Zip-Archiven laden

Mit einem Zip-Archiv encrypted.zip, dessen Eintrag cipher der Chiffretext ist, und plain.zip mit dem Eintrag plain als bekanntem Klartext, kann bkcrack wie folgt ausgeführt werden:

bkcrack -C encrypted.zip -c cipher -P plain.zip -p plain

Daten aus Dateien laden

Mit einer Datei cipherfile, die den Chiffretext enthält (beginnend mit den 12 Bytes, die dem Verschlüsselungs-Header entsprechen), und plainfile mit dem bekannten Klartext, kann bkcrack wie folgt ausgeführt werden:

bkcrack -c cipherfile -p plainfile

Offset

Wenn der Klartext einem anderen Teil als dem Anfang des Chiffretextes entspricht, können Sie einen Offset angeben. Er kann negativ sein, wenn der Klartext einen Teil des Verschlüsselungs-Headers enthält.

bkcrack -c cipherfile -p plainfile -o offset

Spärlicher Klartext

Wenn Sie nur wenig zusammenhängenden Klartext kennen (zwischen 8 und 11 Bytes), aber einige Bytes an anderen bekannten Offsets kennen, können Sie diese Informationen angeben, um die Anforderung von insgesamt 12 bekannten Bytes zu erfüllen. Verwenden Sie dazu das Flag -x gefolgt von einem Offset und Bytes in hexadezimaler Darstellung.

bkcrack -c cipherfile -p plainfile -x 25 4b4f -x 30 21

Entschlüsseln

Wenn der Angriff erfolgreich ist, können die entschlüsselten Daten, die dem für den Angriff verwendeten Chiffretext zugeordnet sind, gespeichert werden:

bkcrack -c cipherfile -p plainfile -d decipheredfile

Wenn die Schlüssel aus einem vorherigen Angriff bekannt sind, ist es möglich, bkcrack zum Entschlüsseln von Daten zu verwenden:

bkcrack -c cipherfile -k 12345678 23456789 34567890 -d decipheredfile

Dekomprimieren

Die entschlüsselten Daten könnten komprimiert sein, je nachdem, ob beim Erstellen der Zip-Datei eine Komprimierung verwendet wurde oder nicht. Wenn die Deflate-Komprimierung verwendet wurde, kann ein im Ordner tools bereitgestelltes Python-3-Skript verwendet werden, um die Daten zu dekomprimieren.

python3 tools/inflate.py < decipheredfile > decompressedfile

Passwort entfernen

Um in einem Schritt Zugriff auf alle Einträge des verschlüsselten Archivs zu erhalten, können Sie ein neues Archiv mit demselben Inhalt, aber ohne Verschlüsselung erzeugen. Es wird davon ausgegangen, dass alle Einträge ursprünglich mit demselben Passwort verschlüsselt wurden.

bkcrack -C encrypted.zip -k 12345678 23456789 34567890 -D decrypted.zip

Passwort ändern

Es ist auch möglich, ein neues verschlüsseltes Archiv mit Ihrem gewünschten Passwort zu erzeugen:

bkcrack -C encrypted.zip -k 12345678 23456789 34567890 -U unlocked.zip new_password

Sie können das neue Passwort auch durch seine entsprechende interne Darstellung definieren.

bkcrack -C encrypted.zip -k 12345678 23456789 34567890 --change-keys unlocked.zip 581da44e 8e40167f 50c009a0

Diese beiden Befehle können zusammen verwendet werden, um den Inhalt eines verschlüsselten Archivs zu ändern, ohne das Passwort zu kennen, aber mit Kenntnis der internen Schlüssel: Sie können eine Kopie mit dem von Ihnen gewählten Passwort verschlüsseln, dann die Kopie mit einem Archiv-Manager bearbeiten, wobei Sie bei Aufforderung das gewählte Passwort eingeben, und schließlich eine Kopie des modifizierten Archivs mit den ursprünglichen Verschlüsselungsschlüsseln zurückerstellen.

Passwort wiederherstellen

Mit den internen Schlüsseln kann bkcrack versuchen, das ursprüngliche Passwort zu finden.

Brute-Force-Passwort-Wiederherstellung

Sie können nach einem Passwort suchen, indem Sie Zeichen in einem bestimmten Zeichensatz verwenden:

Tool herunterladen