A blog about Tips and Tricking any thing that possible in social networking and websites or, software, internet, computer, hack, crack, serial...

Saturday, September 3, 2022

BitCracker | BitLocker Password Cracking Tool

BitLocker is a full-disk encryption feature available in recent Windows versions (Vista, 7, 8.1 and 10) Pro and Enterprise.
BitCracker is a mono-GPU password cracking tool for memory units encrypted with the password authentication mode of BitLocker (see picture below).


Our attack has been tested on several memory units encrypted with BitLocker running on Windows 7, Window 8.1 and Windows 10 (both compatible and non-compatible mode). Here we present two implementations: CUDA and OpenCL.
Requirements For CUDA implementation, you need at least CUDA 7.5 and an NVIDIA GPU with minimum cc3.5 (i.e. Kepler arch)
How To Use the build.sh script to build 3 executables:
  • Hash extractor
  • BitCracker CUDA version
  • BitCracker OpenCL version
The executables are stored in the build directory. Before starting the attack, you need to run bitcracker_hash to extract the hash from the encrypted memory unit.
> ./build/bitcracker_hash -h

Usage: ./build/bitcracker_hash -i <Encrypted memory unit> -o <output file>


  -h, --help  Show this help
  -i, --image  Path of memory unit encrypted with BitLocker
  -o, --outfile  Output file
The extracted hash is fully compatible with the John The Ripper format (see next Section).
Then you can use the output hash file to run the BitCracker attack.

> ./build/bitcracker_cuda -h

Usage: ./build/bitcracker_cuda -f <hash_file> -d <dictionary_file>


  -h, --help  Show this help
  -f, --hashfile  Path to your input hash file (HashExtractor output)
  -s, --strict  Strict check (use only in case of false positives)
  -d, --dictionary Path to dictionary or alphabet file
  -g, --gpu   GPU device number
  -t, --passthread Set the number of password per thread threads
  -b, --blocks  Set the number of blocks
Note: In case of false positives you can use the -s option, that is a more restrictive check on the correctness of the final result. Altough this check is empirically verified and it works with the images of this repo encrypted with Windows 7, 8.1 and 10, we can’t guarantee that it doesn’t lead to false negatives. Use -s option only if BitCracker returns several false positives. In the the run_test.sh script there are several attack examples using the encrypted images provided in this repo:
  • imgWin7: memory unit encrypted with BitLocker using Windows 7 Enteprise edition OS
  • imgWin8: memory unit encrypted with BitLocker using Windows 8 Enteprise edition OS
  • imgWin10Compatible.vhd: memory unit encrypted with BitLocker (compatible mode) using Windows 10 Enteprise edition OS,
  • imgWin10NonCompatible.vhd: memory unit encrypted with BitLocker (NON compatible mode) using Windows 10 Enteprise edition OS,
  • imgWin10CompatibleLong27.vhd: memory unit encrypted with BitLocker (compatible mode) using Windows 10 Enteprise edition OS using the longest possible password (27 characters)
Currently, BitCracker is able to evaluate passwords having length between 8 (minimum password length) and 27 characters (implementation reasons). BitCracker doesn’t provide any mask attack, cache mechanism or smart dictionary creation; therefore you need to provide your own input dictionary.
Performance Here we report best performance of BitCracker implementations tested on different GPUs
GFTGeForce TitanKepler3.5148357.0
GTK80Tesla K80Kepler3.5138757.5
GFTXGeForce Titan XMaxwell5.22410017.5
GTP100Telsa P100Pascal6.15613288.0
AMDMRadedon Malta
VersionGPU-t-bPasswords x kernelPasswords/secHash/sec
CUDAGFT813106.496303635 MH/s
CUDAGTK80814114.688370775 MH/s
CUDAGFTX824106.6089331.957 MH/s
CUDAGTP100856458.7521.3632.858 MH/s
OpenCLAMDM3264524.288241505 MH/s
OpenCLGFTX824196.6088841.853 MH/s
John The Ripper We released the OpenCL version as a plugin of the John The Ripper (bleeding jumbo) suite:
Next Release In the next relese:
  • The maximum password lenght will be dynamic
  • Improve strict check with optional MAC verification to avoid any false positive

1 comment: