Differences

This shows you the differences between two versions of the page.

Link to this comparison view

john:OpenCL-BitLocker [2017/12/19 10:31]
elenago
john:OpenCL-BitLocker [2024/11/09 04:35] (current)
solar [Step 3: Attack!] Sync with today's README.BitLocker update
Line 9: Line 9:
  
 With this authentication method, the user can choose to encrypt a memory device by means of a password. With this authentication method, the user can choose to encrypt a memory device by means of a password.
 +
 {{:​john:​bitcracker_img1.png?​direct&​400|}} {{:​john:​bitcracker_img1.png?​direct&​400|}}
-To find the password used during the encryption ​with BitCrackeryou need to specify the -u option (see the How To section).+ 
 +To find the password used during the encryption, see [[#Step 2: Extract ​the hash|Step 2: Extract the hash]]
  
 ===== Recovery Password authentication method ===== ===== Recovery Password authentication method =====
Line 20: Line 22:
 </​code>​ </​code>​
  
-To find the correct Recovery Password ​with BitCrackeryou need to specify ​the -r option (see How To section)See Microsoft docs for further details.+To find the correct Recovery Password, ​see [[#Step 2: Extract ​the hash|Step 2: Extract the hash]]. 
 +For further details, ​see also [[https://​docs.microsoft.com/​en-us/​windows/​device-security/​bitlocker/​bitlocker-recovery-guide-plan|Microsoft docs]].
  
 ===== Step 1: Get the image of your encrypted memory device ===== ===== Step 1: Get the image of your encrypted memory device =====
Line 36: Line 39:
 ===== Step 2: Extract the hash ===== ===== Step 2: Extract the hash =====
  
 +In order to use the BitLocker-OpenCL format, you must produce a well-formatted hash of your encrypted image.
 Use the //​bitlocker2john//​ tool (john repo) to extract the hash from the password protected BitLocker encrypted volumes. Use the //​bitlocker2john//​ tool (john repo) to extract the hash from the password protected BitLocker encrypted volumes.
  
Line 65: Line 69:
  
 As shown in the example, it returns 4 output hashes with different prefix: As shown in the example, it returns 4 output hashes with different prefix:
-  * If the device was encrypted using the User Password authentication ​methods, bitlocker2john prints those 2 hashes:+  * If the device was encrypted using the User Password authentication ​method, bitlocker2john prints those 2 hashes:
     * $bitlocker$0$... : it starts the User Password fast attack mode (see [[#User Password authentication method|User Password Section]])     * $bitlocker$0$... : it starts the User Password fast attack mode (see [[#User Password authentication method|User Password Section]])
     * $bitlocker$1$... : it starts the User Password attack mode with MAC verification (slower execution, no false positives)     * $bitlocker$1$... : it starts the User Password attack mode with MAC verification (slower execution, no false positives)
Line 72: Line 76:
     * $bitlocker$3$... : it starts the Recovery Password attack mode with MAC verification (slower execution, no false positives)     * $bitlocker$3$... : it starts the Recovery Password attack mode with MAC verification (slower execution, no false positives)
  
-===== How To =====+Samples BitLocker images for testing are available here:  
 +  * https://​github.com/​e-ago/​bitcracker/​tree/​master/​Images 
 +  * https://​github.com/​kholia/​libbde/​tree/​bitlocker2john/​samples
  
-In order to use the BitLocker-OpenCL format, you must produce a well-formatted hash of your encrypted image. +===== Step 3Attack! =====
-Samples BitLocker images for testing are available at https://​github.com/​kholia/​libbde/​tree/​bitlocker2john/​samples and here: https://​github.com/​e-ago/​bitcracker/​tree/​master/​Images+
  
 +Use the BitLocker-OpenCL format specifying the hash file:
 +<​code>​
 +./john --format=bitlocker-opencl --wordlist=wordlist target_hash ​
 +</​code>​
  
 +Currently, this format is able to evaluate passwords having length between 8 (minimum password length) and 55 characters (implementation reasons).
  
-==== Cracking Process ====+To avoid wasting compute resources, choose just one hash for this attack - either $bitlocker$0$... or $bitlocker$1$...
  
-Use the BitLocker-OpenCL format specifying the previous hash:+===== Recovery Passwords (but you're out of luck cracking these, so just don't) ===== 
 + 
 +The mask you can use to generate Recovery Passwords is:
 <​code>​ <​code>​
-./​john ​--format=bitlocker-opencl ​--wordlist=wordlist target_hash ​+--mask=?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d-?​d?​d?​d?​d?​d?​d
 </​code>​ </​code>​
  
-Currently, this format is able to evaluate passwords having length between 8 (minimum password length) and 27 characters (implementation reasons).  +Please note that the number of possible Recovery Passwords is **way** too largeso there'​s effectively **no chance** that this will find yours unless you recall almost all of it (except for just a handful of digits) and replace most of the "?​d"​ above with the known digits
-We will increase ​the max passwords size in the next release.+ 
 +Recovery Passwords are currently only supported by the BitLocker-OpenCL format (for use on GPUs), not by the corresponding BitLocker CPU format, but like the above paragraph says it's a controversial feature anyhow, which is unlikely to ever help. 
 + 
 +To avoid wasting compute resources, choose just one hash for this attack - either $bitlocker$2$... or $bitlocker$3$...
  
 +Samples of User Password/​Recovery Passwords dictionaries you can user are available here: https://​github.com/​e-ago/​bitcracker/​tree/​master/​Dictionary
 ===== Output ===== ===== Output =====
  
Line 105: Line 121:
 </​code>​ </​code>​
  
-This OpenCL implementation has been tested on a GPU GeForce Titan X (Openwall), GPU AMD Radeon HD 7990 Malta and an Intel Core i7 Kaby Lake CPU.+This OpenCL implementation has been tested on a GPU NVIDIA ​GeForce Titan X (Openwall), GPU AMD Radeon HD 7990 Malta and an Intel Core i7 CPU. 
 +For additional information about performance,​ see https://​github.com/​e-ago/​bitcracker#​performance
  
 ===== Updates and changelog ===== ===== Updates and changelog =====
Line 111: Line 128:
 12/19/2017 12/19/2017
   * Now BitLocker-OpenCL supports 4 different attack modes: User Password fast attack, User Password with MAC verification (performance decreased), Recovery Password, Recovery Password with MAC verification (performance decreased)   * Now BitLocker-OpenCL supports 4 different attack modes: User Password fast attack, User Password with MAC verification (performance decreased), Recovery Password, Recovery Password with MAC verification (performance decreased)
 +  * Max password length increased to 55
  
 Next Update: Next Update:
john/OpenCL-BitLocker.1513675912.txt · Last modified: 2017/12/19 10:31 by elenago
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate to DokuWiki Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by OpenVZ Powered by Openwall GNU/*/Linux