Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
bitcracker — BitCracker ist das erste Open-Source-Passwort-Knacktool für mit BitLocker verschlüsselte Speichereinheiten. | Kitploit
Tools/GitHubGitHub/e-ago/bitcracker
Passwort-CrackingVerschlüsselungs-/EntschlüsselungstoolsKryptographie
GitHube-ago/bitcracker

bitcracker

BitCracker ist das erste Open-Source-Passwort-Knacktool für mit BitLocker verschlüsselte Speichereinheiten.

Repository anzeigen
965207vor 2 JahrenVon 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

BitCracker

BitCracker ist das erste Open-Source-Passwort-Knacktool für Speichergeräte (Festplatte, USB-Stick, SD-Karte usw.), die mit BitLocker verschlüsselt sind – einer Verschlüsselungsfunktion, die unter Windows Vista, 7, 8.1 und 10 (Ultimate-, Pro- und Enterprise-Editionen) verfügbar ist. BitLocker bietet verschiedene Authentifizierungsmethoden zur Verschlüsselung eines Speichergeräts, wie Trusted Platform Module (TPM), Smart Card, Recovery Password und User Password.

Mittels eines Wörterbuchangriffs versucht BitCracker, das korrekte User Password oder Recovery Password zu finden, um das verschlüsselte Speichergerät zu entschlüsseln. Es wurde in CUDA und OpenCL implementiert.

Paper

Mehrere Zeitschriften haben die Veröffentlichung unseres BitCracker-Papers verzögert (fast 3 Jahre, mit endgültiger Ablehnung nach mehreren Überarbeitungen), das die Details unseres Angriffs, das BitLocker Drive Encryption (BDE)-Volumenformat und mögliche Schwachstellen im Verschlüsselungs-/Entschlüsselungsverfahren erklärt. Schließlich haben wir das Paper hier veröffentlicht: https://arxiv.org/abs/1901.01337 . Bitte kommentieren und teilen Sie es.

Anforderungen

Um BitCracker-CUDA auszuführen, sind mindestens erforderlich:

  • eine NVIDIA GPU mit CC 3.5 oder höher
  • CUDA 7.5 oder neuer

Um BitCracker-OpenCL auszuführen, ist mindestens eine GPU oder CPU erforderlich, die OpenCL unterstützt (Hilfe finden Sie hier.

BitCracker benötigt mindestens 260 MB Gerätespeicher.

Wir empfehlen dringend, Ihren Angriff aus Leistungsgründen auf einer GPU statt auf einer CPU auszuführen (siehe Abschnitt Leistung).

Build

Die Ausführung des Skripts build.sh erzeugt 4 ausführbare Dateien im Verzeichnis build: bitcracker_hash, bitcracker_rpgen, bitcracker_cuda, bitcracker_opencl.

Um bitcracker_cuda kohärent mit Ihrer NVIDIA GPU und CUDA-Version zu erstellen, müssen Sie die src_CUDA/Makefile bearbeiten und die korrekte SM-Version auswählen. Als Referenz können Sie die folgende Tabelle verwenden:

Vorbereitung des Angriffs

Sie müssen das Image Ihres mit BitLocker verschlüsselten Speichergeräts erstellen, z. B. mit dem Befehl dd:

root@kitploit:~
sudo dd if=/dev/disk2 of=/path/to/imageEncrypted.img conv=noerror,sync
4030464+0 records in
4030464+0 records out
2063597568 bytes transferred in 292.749849 secs (7049013 bytes/sec)

Dann müssen Sie die ausführbare Datei bitcracker_hash auf Ihrem imageEncrypted.img ausführen, um:

  • zu prüfen, ob das Image ein gültiges Format hat und von BitCracker angegriffen werden kann
  • zu prüfen, ob das ursprüngliche Speichergerät mit einem User Password oder einem Recovery Password verschlüsselt wurde
  • den Hash zu extrahieren, der das Image beschreibt

Wenn die Ausführung korrekt abgeschlossen wird, erzeugt bitcracker_hash 1 oder 2 Ausgabedateien:

  • hash_user_pass.txt : Wenn das Gerät mit einem User Password verschlüsselt wurde, enthält diese Datei den Hash, den Sie benötigen, um den User Password-Angriffsmodus zu starten.
  • hash_recv_pass.txt : den Hash, den Sie benötigen, um den Recovery Password-Angriffsmodus zu starten

BDE-verschlüsselte Volumes können für verschiedene Authentifizierungsmethoden unterschiedliche Formate haben. Wenn bitcracker_hash das Recovery Password auf Ihrem verschlüsselten Image nicht finden kann, öffnen Sie bitte ein Issue oder kontaktieren Sie mich

Ein Beispiel:

root@kitploit:~
/build/bitcracker_hash -o test_hash -i ./Images/imgWin7

---------> BitCracker Hash Extractor <---------
Opening file ./Images/imgWin7

....

Signature found at 0x02208000
Version: 2 (Windows 7 or later)

VMK entry found at 0x022080bc
VMK encrypted with user password found!
VMK encrypted with AES-CCM

VMK entry found at 0x0220819c
VMK encrypted with Recovery key found!
VMK encrypted with AES-CCM

User Password hash:
$bitlocker$0$16$89a5bad722db4a729d3c7b9ee8e76a29$1048576$12$304a4ac192a2cf0103000000$60$24de9a6128e8f8ffb97ac72d21de40f63dbc44acf101e68ac0f7e52ecb1be4a8ee30ca1e69fbe98400707ba3977d5f09b14e388c885f312edc5c85c2

Recovery Key hash:
$bitlocker$2$16$8b7be4f7802275ffbdad3766c7f7fa4a$1048576$12$304a4ac192a2cf0106000000$60$6e72f6ef6ba688e72211b8cf8cc722affd308882965dc195f85614846f5eb7d9037d4d63bcc1d6e904f0030cf2e3a95b3e1067447b089b7467f86688

Output file for user password attack: "hash_user_pass.txt"
Output file for recovery password attack: "hash_recv_pass.txt"

User Password-Angriff

Sie können diese Art von Angriff verwenden, wenn das Speichergerät mit einem benutzerdefinierten Passwort verschlüsselt wurde, wie im folgenden Bild gezeigt. alt text BitCracker führt einen Wörterbuchangriff durch, daher müssen Sie eine Wortliste mit möglichen User Passwörtern bereitstellen.

Um den Angriff zu starten, benötigen Sie:

  • die Datei hash_user_pass.txt
  • eine Wortliste mit möglichen User Passwörtern (müssen Sie selbst bereitstellen)

Ein Beispiel für die Befehlszeile:

./build/bitcracker_cuda -f hash_user_pass.txt -d wordlist.txt -t 1 -b 1 -g 0 -u

Wobei:

  • -f : Pfad zur Datei hash_user_pass.txt
  • -d : Pfad zu Ihrer Wortliste
  • -t : Anzahl der Passwörter, die von jedem CUDA-Thread verarbeitet werden
  • -b : Anzahl der CUDA-Blöcke
  • -g : NVIDIA GPU-Geräte-ID
  • -u : gibt an, dass Sie einen User Password-Angriff wünschen

Für alle verfügbaren Optionen geben Sie ./build/bitcracker_cuda -h ein. Um die beste Leistung zu erzielen, beziehen Sie sich bitte auf die Tabelle im Abschnitt Leistung, um die Optionen t und b entsprechend Ihrer NVIDIA GPU richtig einzustellen.

Die gleichen Überlegungen gelten für die ausführbare Datei bitcracker_opencl.

Ein Ausgabebeispiel:

root@kitploit:~
====================================
Selected device: GPU Tesla K80 (ID: 0)
====================================
....
Reading hash file "hash_user_pass.txt"
$bitlocker$0$16$0a8b9d0655d3900e9f67280adc27b5d7$1048576$12$b0599ad6c6a1cf0103000000$60$c16658f54140b3d90be6de9e03b1fe90033a2c7df7127bcd16cb013cf778c12072142c484c9c291a496fc0ebd8c21c33b595a9c1587acfc6d8bb9663

====================================
Attack
====================================

Type of attack: User Password
CUDA Threads: 1024
CUDA Blocks: 1
Psw per thread: 1
Max Psw per kernel: 1024
Dictionary: wordlist.txt
Strict Check (-s): No
MAC Comparison (-m): No

CUDA Kernel execution:
	Stream 0
	Effective number psw: 12
	Passwords Range:
		abcdefshhf
		.....
		blablalbalbalbla12
	Time: 28.651947 sec
	Passwords x second:     0.42 pw/sec

================================================
....
Password found: paperino
================================================

Derzeit kann BitCracker Eingabepasswörter mit einer Länge zwischen 8 und 55 Zeichen verarbeiten.

Recovery Password-Angriff

Während der Verschlüsselung eines Speichergeräts (unabhängig von der Authentifizierungsmethode) fordert BitLocker den Benutzer auf, ein Recovery Password zu speichern, das verwendet werden kann, um den Zugriff auf das verschlüsselte Speichergerät wiederherzustellen, falls er/sie das Laufwerk nicht normal entsperren kann. Das Recovery Password ist also eine Art Generalschlüssel für alle Authentifizierungsmethoden und besteht aus einem 48-stelligen Schlüssel wie diesem:

236808-089419-192665-495704-618299-073414-538373-542366

Siehe Microsoft-Dokumentation für weitere Details.

Wie beim User Password ist BitCracker in der Lage, einen Wörterbuchangriff durchzuführen, um das korrekte Recovery Password zu finden, das von BitLocker zur Verschlüsselung des Speichergeräts generiert wurde. Bitte beachten Sie, dass wir derzeit das Recovery Password nur angreifen können, wenn das Speichergerät nicht mit dem TPM verschlüsselt wurde.

Um den Angriff zu starten, benötigen Sie:

  • die Datei hash_recv_pass.txt
  • eine Wortliste mit möglichen Recovery Passwörtern

Das Generieren und Speichern aller möglichen Passwörter ist ein schwieriges Problem. Aus diesem Grund haben wir einen Recovery Password-Generator namens bitcracker_rpgen erstellt. Mit diesem Tool können Sie eine Reihe von Wortlisten für Recovery Passwörter erstellen, die Sie für Ihre Angriffe verwenden können. Ein Beispiel:

./build/bitcracker_rpgen -n 300 -p 10000000 -s 000000-000011-000022-000033-000044-000055-008459-015180

Dies erzeugt:

  • -n : Anzahl der Wortlisten
  • -p : Anzahl der Recovery Passwörter pro Wortliste
  • -s : Erzeugt Recovery Passwörter beginnend mit diesem

Sie können die Standardkonfiguration verwenden, indem Sie es ohne Optionen ausführen:

root@kitploit:~
./build/bitcracker_rpgen

************* BitCracker Recovery Password wordlists generator *************

Running with this configuration:
### Create 100 wordlists
### Recovery Passwords per wordlist=5000000
### Allow duplicates=No
### Generate starting from=000000-000011-000022-000033-000044-000055-000066-000077

Creating wordlist "bitcracker_wlrp_0.txt" with 5000000 passwords
First password=000000-000011-000022-000033-000044-000055-000066-000077
Last password= 000000-000011-000022-000033-000044-000055-000902-217822
...

Beachten Sie, dass die Option -s verwendet werden kann, um die Generierung ab Ihrem zuletzt generierten Recovery Password neu zu starten (anstatt jedes Mal von Anfang an neu zu beginnen). Die Option -d ermöglicht die Möglichkeit von Duplikaten im selben Recovery Password. Zum Beispiel: 000000-000011-000055-000055-000044-000055-000902-217822

Für alle verfügbaren Optionen geben Sie ./build/bitcracker_rpgen -h ein.

HINWEIS: Bitte beachten Sie, dass die Anzahl der möglichen Recovery Passwörter riesig ist:
recovery password = 65536 x 65536 x 65536 x 65536 x 65536 x 65536 x 65536 x 65536
Nach unserer Forschung ist die Passwortverteilung gleichmäßig und es gibt keine Möglichkeit, "wahrscheinlichere" Zahlen zu finden. Bisher haben wir keine Regel gefunden, um die Anzahl der möglichen Kandidaten zu reduzieren. Das bedeutet, dass der Recovery Password-Angriff ewig dauern könnte (der User Password-Angriff ist immer der bevorzugte). Bald werden wir das Tool bitcracker_rpgen modifizieren, um Recovery Passwörter auf zufällige Weise statt in geordneter Reihenfolge zu generieren.

Ein Beispiel für die Befehlszeile:

./build/bitcracker_cuda -f hash_recv_pass.txt -d bitcracker_wlrp_0.txt -t 1 -b 1 -g 0 -r

Wobei die Optionen die gleichen wie beim User Password sind, aber anstelle von -u müssen Sie -r angeben. Ein Ausgabebeispiel:

root@kitploit:~
====================================
Selected device: GPU Tesla K80 (ID: 0)
====================================

...
Reading hash file "hash_recv_pass.txt"
$bitlocker$2$16$432dd19f37dd413a88552225628c8ae5$1048576$12$a0da3fc75f6cd30106000000$60$3e57c68216ef3d2b8139fdb0ec74254bdf453e688401e89b41cae7c250739a8b36edd4fe86a597b5823cf3e0f41c98f623b528960a4bee00c42131ef


====================================
Attack
====================================

Type of attack: Recovery Password
CUDA Threads: 1024
CUDA Blocks: 1
Psw per thread: 8
Max Psw per kernel: 8192
Dictionary: wordlist.txt
Strict Check (-s): No
MAC Comparison (-m): No

CUDA Kernel execution:
	Effective passwords: 6014
	Passwords Range:
		390775-218680-136708-700645-433191-416240-153241-612216
		.....
		090134-625383-540826-613283-563497-710369-160182-661364
	Time: 193.358937 sec
	Passwords x second:    31.10 pw/sec


================================================
CUDA attack completed
Passwords evaluated: 6014
Password found: 111683-110022-683298-209352-468105-648483-571252-334455
================================================

Fehlalarme (False Positives)

Standardmäßig führt BitCracker einen schnellen Angriff (sowohl für den User Password- als auch für den Recovery Password-Modus) durch, der möglicherweise einige Fehlalarme zurückgibt. In diesem Fall können Sie Ihren Angriff mit der Option -m erneut ausführen, die die MAC-Überprüfung aktiviert (langsamere Lösung).

Beispiele

Um BitCracker auf Ihrem System zu testen, bevor Sie den eigentlichen Angriff starten, haben wir mehrere Images von verschlüsselten Speichergeräten bereitgestellt.

  • imgWin7: BitLocker unter Windows 7 Enterprise Edition OS
  • imgWin8: BitLocker unter Windows 8 Enterprise Edition OS
  • imgWin10Compat.vhd: BitLocker (kompatibler Modus) unter Windows 10 Pro Edition OS
  • imgWin10NotCompat.vhd: BitLocker (nicht kompatibler Modus) unter Windows 10 Pro Edition OS
  • imgWin10NotCompatLongPsw.vhd : BitLocker (nicht kompatibler Modus) unter Windows 10 Pro Edition OS mit einem längeren User Password

Sie können diese Images sowohl mit dem User Password- als auch mit dem Recovery Password-Modus angreifen, indem Sie die im Ordner Dictionary gespeicherten Wortlisten verwenden.

Leistung

Hier berichten wir die besten BitCracker-Leistungen im Falle eines schnellen Angriffs (Standard) auf das User Password (-u Option).

Leistung:

N.B. Jedes Passwort benötigt etwa 2.097.152 SHA-256

John The Ripper

Wir haben BitCracker als OpenCL-BitLocker-Format in John The Ripper veröffentlicht (--format=bitlocker-opencl). Die von bitcracker_hash erzeugten Hash-Dateien (siehe Abschnitt How To) sind vollständig kompatibel mit dem John-Format.
Auf der GTV100 beträgt die Passwortrate etwa 3150p/s. Das JtR-Team hat die CPU-Version dieses Angriffs entwickelt (--format=bitlocker); auf einer CPU Intel(R) Xeon(R) v4 2,20 GHz beträgt die Passwortrate etwa 78p/s.

Hashcat

Dies ist in Arbeit...

Changelog

Nov 2021: Code aktualisiert, um auf NVIDIA GPU Ampere mit CUDA 11.x zu laufen

Was als nächstes kommt

  • Bereitstellung einer Multi-GPU-Implementierung
  • Bereitstellung einer Qt-Oberfläche

Referenzen, Danksagungen und Kontakte

Bitte teilen und testen Sie unser Projekt: Wir brauchen Ihr Feedback!

Besonderer Dank gilt dem John The Ripper-Team, Dislocker und LibBDE Projekten.

Dies ist ein Forschungsprojekt in Zusammenarbeit mit dem National Research Council of Italy, veröffentlicht unter der GPLv2-Lizenz.
Copyright (C) 2013-2021 Elena Ago (elena dot ago at gmail dot com) und Massimo Bernaschi (massimo dot bernaschi at gmail dot com)
Wir werden in einem zukünftigen Paper einige zusätzliche Informationen über den BitCracker-Angriff bereitstellen.

Obwohl wir die GPLv2-Lizenz verwenden, sind wir für Kooperationen offen. Für weitere Informationen, Kooperationen oder Fehlermeldungen kontaktieren Sie uns bitte oder eröffnen Sie ein Issue.

Tool herunterladen
GPU-ArchitekturEmpfohlenes CUDAMakefile
KeplerCUDA 7.5arch=compute_35,code=sm_35
MaxwellCUDA 8.0arch=compute_52,code=sm_52
PascalCUDA 9.0arch=compute_60,code=sm_60
VoltaCUDA 9.0arch=compute_70,code=sm_70
GPU AkronymGPUArchCC# SMClockCUDA
GFTGeForce TitanKepler3.5148357.0
GTK80Tesla K80Kepler3.5138757.5
GFTXGeForce Titan XMaxwell5.22410017.5
GTP100Tesla P100Pascal6.15613288.0
GTV100Tesla V100Volta7.08012909.0
AMDMRadeon Malta-----
VersionGPU-t-bPasswörter pro KernelPasswörter/SekHash/Sek
CUDAGFT813106.496303635 MH/s
CUDAGTK80814114.688370775 MH/s
CUDAGFTX824106.6089331.957 MH/s
CUDAGTP10015657.3441.4182.973 MH/s
CUDAGTV10018081.9203.2526.820 MH/s
OpenCLAMDM3264524.288241505 MH/s
OpenCLGFTX824196.6088841.853 MH/s