Cracking encrypted veracrypt partition from windows laptop
#1
Hello everyone,

I know there have been similar questions here, but unfortunately that doesn't help. I'm really starting to despair I have certainly spent more than 12 hours with it, but I can't get any further.

Here is my problem:

I encrypted my laptop's hard drive using Veracrypt's default settings. Now I want to find out the password with Hashcat. I followed these steps:

1. Encrypt the Windows system hard drive with the standard Veracrypt settings and an 6-digit password.
2. Start the laptop with a USB stick with K-a-l-i Linux Live
3. Open terminal in k-a-l-i an type "lsblk" to see all the partitions of my laptop. In my case "sda" is the harddisk with windows and "sda3" is about 237,8 GB, so this is the partition where windows is installed and the veracrypt encryption. I attached some screenshots to my post.
4. Open terminal in k-a-l-i and type the command "sudo dd if=/dev/sda3 of=veracrypthash skip=31744  bs=512 count=1 conv=noerror,sync status=progress"
5. The password hash was extracted then in the file "veracrypthash"
6. Create a wordlist using "crunch" including the password of my veracrypt encrypted drive and name it "veracrypt-wordlist.txt"
7. Run hashcat with "hashcat -a 0 -w 4 -m 13722 veracrypthash veracrypt-wordlist.txt

Hashcat starts and tries all passwords. Even though the correct password is in the dictionary, Hashcat cannot find the password. What am I doing wrong?!

Here is what I did so far:
1. Experiment with different hashmodes using -m
2. Create an image of the harddisk using an forensic duplicator and then get the password hash (maybe something went wrong in the dd step, so thats my fear)
3. Yeah I know this is a hashcat forum, but it's also not working with truecrack.

The password in the wordlist is 100% correct, it's "301290" and working fine when I'm starting my laptop. I'm using hashcat version 6.0.0. I have a similar case at work where I have a PC whose hard drive was also encrypted with Veracrypt. My motivation is therefore very high to get the data.

It's a minor thing for sure, but I just have no explanation. It's also weird that the password hash looks Cyrptic in the text file. When I open the textfile in windows it says "$bitlocker...." at the beginnung. I also followed the instructions here but I was not successful --> https://linuxhint.com/get_data_encrypted_drive/

I really hope to find help here. If not here I really don't know what to do next.

I look forward to your tips.


Attached Files
.jpg   harddrives.jpg (Size: 369.11 KB / Downloads: 20)
.jpg   dd.jpg (Size: 94.95 KB / Downloads: 15)
Reply
#2
I have a couple of remarks:

First, in (3.) you explain that the Windows-partition is sda3, but in (4.) you type - apparently - sdb3. Please check if this is a typo.

Second, you need to skip 31744 bytes from the beginning of the disk (sda in your case), not from the partition (sda3).

Third, did you look at https://hashcat.net/wiki/doku.php?id=example_hashes in order to determine what mode you need to use? When looking at the right spot, you see that for the default-VC-boot it is mode 13761.

Finally, why not using the latest Hashcat v6.2.5, as found on https://hashcat.net/hashcat/, in place of the one-and-a-half-year-old-6.0.0?

Happy cracking !
Reply
#3
Thank you for your prompt reply.

Yes, I definitely wrote something wrong at 3.. It has to be called sda3 and not sdb3, of course. Corrected that in the post.

So I typed the following command"sudo dd if=/dev/sda of=veracrypthash skip=31744  bs=512 count=1 conv=noerror,sync status=progress". After that, the hashfile was created.


I then updated hashcat and selected mode 13761. After I started hashcat the message "no hashes loaded" came up.

I then looked at the hash file in the editor and found that it actually didn't contain a hash, see screenshot attached...

What could I have done wrong?

I guess there is one more little thing that separates me from falling from my chair for joy Big Grin


Attached Files
.jpg   veracrypt-hash.JPG (Size: 27.81 KB / Downloads: 15)
Reply
#4
Okay I don't know how I did it, but it looks like it worked... Hashcat actually cracked the password. Besides New Year's Eve, it was definitely the loudest day of the year in my neighborhood Big Grin


What I did:

1. Type in the terminal "sudo dd if=/dev/sda of=veracrypthash.txt bs=1 skip=31744 count=512"
2. Run hashcat using following commands: hashcat -a 0 -m 13722 (NOT 13761) veracrypthash.txt wordlist.txt


It actually worked, but why? When I tried -m 13761 hashcat was running but wasn't able to crack the password in the end. It just worked with mode 13722. I mean, I encrypted the windows bootloader, so why it's not mode 13761?!
Reply
#5
jfyi

when using normal procedure of system encrypting with veracrypt wizard, the second screen tells, that only the windows partiton will be encrypted WITHOUT using the specific verycrypt bootloader, so i can only guess what VC is really doing, but given this, mode 13761 (+boot) is maybe really the wrong mode

regarding your veracrypt-hash.jpg
the data you should get after dd should be binary, without any real string inside, so there seems to be a problem there

anyway, i find this "old" output for --help, regarding vc more handy, as you can see Y 2 is alway 1024 bit and 1 only 512, 

so you could try -mode 13762 and see if this works for your veracrypthash.txt

137XY | VeraCrypt                              | Full-Disk Encryption (FDE)
  X  | 1 = PBKDF2-HMAC-RIPEMD160                  | Full-Disk Encryption (FDE)
  X  | 2 = PBKDF2-HMAC-SHA512                    | Full-Disk Encryption (FDE)
  X  | 3 = PBKDF2-HMAC-Whirlpool                | Full-Disk Encryption (FDE)
  X  | 4 = PBKDF2-HMAC-RIPEMD160 + boot-mode    | Full-Disk Encryption (FDE)
  X  | 5 = PBKDF2-HMAC-SHA256                    | Full-Disk Encryption (FDE)
  X  | 6 = PBKDF2-HMAC-SHA256 + boot-mode        | Full-Disk Encryption (FDE)
  X  | 7 = PBKDF2-HMAC-Streebog-512              | Full-Disk Encryption (FDE)
  Y | 1 = XTS  512 bit pure AES                  | Full-Disk Encryption (FDE)
  Y | 1 = XTS  512 bit pure Serpent              | Full-Disk Encryption (FDE)
  Y | 1 = XTS  512 bit pure Twofish              | Full-Disk Encryption (FDE)
  Y | 1 = XTS  512 bit pure Camellia            | Full-Disk Encryption (FDE)
  Y | 1 = XTS  512 bit pure Kuznyechik          | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit pure AES                  | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit pure Serpent              | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit pure Twofish              | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit pure Camellia            | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit pure Kuznyechik                  | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded AES-Twofish            | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded Camellia-Kuznyechik    | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded Camellia-Serpent        | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded Kuznyechik-AES          | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded Kuznyechik-Twofish      | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded Serpent-AES            | Full-Disk Encryption (FDE)
  Y | 2 = XTS 1024 bit cascaded Twofish-Serpent        | Full-Disk Encryption (FDE)
  Y | 3 = XTS 1536 bit all                      | Full-Disk Encryption (FDE)
14600 | LUKS                                    | Full-Disk Encryption (FDE)
16700 | FileVault 2                              | Full-Disk Encryption (FDE)
18300 | Apple File System (APFS)                | Full-Disk Encryption (FDE)
Reply
#6
Thank you for the list. This is way better than the other ones I found so far.

I have just tried the attempt on my encrypted laptop with the hash mode "-m 13762" and "-m 13761" but it didn't worked. I then tried the "-m 13722" mode and was able to unlock the laptop again.

Then I made another attempt:

In addition, I encrypted partition 1 of an USB-stick I found and was able to extract the password-hash with the command "sudo dd if=/dev/sdc1 of=veracrypt-usb-hash.txt bs=512 count=1". sdc1 was the encrypted partition of the usb-stick. Fun Fact Big Grin It was not possible to extract the password-hash of the complete usb-stick in comparision to my encrypted drive. In the hash-file was the message "Error loading operating system Missing operating system". When I tried to load the hash-file it said "no hashes found". But only by the way...


Then is startet hashcat with the command "hashcat.exe -a 3 -w 4 -d 1,2 -D 1,2 -m 13722 veracrypt-usb-hash.txt wordlist.txt"


And what should I say? I was able to find out the password. But only again with the 13722 mode. In the meantime I am getting much better right through all of my attempts. The difficulty is simply to find out to what extent the correct hash mode has to be used in hashcat ...

By the way: ALL my password-hashes.txts are looking like this:

콑晬䘨ղ䫷弋㕯镢߉ꏌ䊔腦ᔒ作薯띊㭫聓ꙉ䲅衃⢕徬瘘䞑借䉳츾ㄢ௖外芔땝훖娑냅ꘕ猟擎韵霷縉Ņ咜腯ܻ☣蚐칱䵴Ꮉ㒌Ⓛ�蚲龰坜�瘺�篒І풹�똈⩅ጫ欄ⶩ釲꣋ⴽ͏讬㢪潻乞嵪鍚ൎ〴ᇲ〻펹꽻㺅言䵩淞㻍탆�䞺텮㺼㯱ㅺ낆ߕ⓳郁廡機俸㤲쿟䙛�텚急标꿀枌맨㺳夻െᝬ뀗ﵞ굳�ࡳ�褟ᮡ캝諬ꇮ঺꺀ọ쥚个ㇵ끏᩽뱦씏榏먩퉻ﲥ犔黈㍩嶂㜂쀆࠽쨦鸞黖붘ڣ��隿乹ꘙ嚧鏜翪袶块颷냐ﷁ뒟属太ﱘ뗢ꋢ叴ﱦ㳻쟵댼嵘잰ᾝぴ㠦釟ᏹ흱ꦓ蛖銲鲭໧櫊�ﱸ墍�襸⾍悫᤹�奏갾ᅍ퉭戹໸ኖ곣㤈黃뽺᫈펉멦蓷辺ꥇ⩶젿

Well...I'm not really a forensics expert, but I guess the characters have to do with encryption
Reply
#7
short answer for true oder veracrypt

you didnt really "extract a passwort hash" as thought in a human manner, it is binary data you are attacking, so for your extract

"Error loading operating system Missing operating system" i can probably tell you, you extracted the wrong sector (will check with an usb stick on my own, gimme some time)

for the rest, these chinese etc symbols found in your hashes.txt are just the output of your texteditor trying to interprete these binary data as text which results in these garbage
Reply
#8
Okay here is my test:

setup:
clean usb stick formatted with one ntfs partition
using veracrypt to create and formate this volume (standard procedure)
large files yes -> EXFAT

extracted sector 1 from "usbdisk und partiton" from my usb stick (sdb)

sudo dd if=/dev/sdb of=disk bs=512 count=1
sudo dd if=/dev/sdb1 of=part bs=512 count=1

in this binary data from disk you can read "Invalid partition table Error loading operating system Missing operating system" and hc faild to attack it because it is not what hc expected to find, part is cracking as expected and i can recover my password with mode 13722

so for basic encryption of partitions yeah, mode 13722 is right

back to your system drive encrpytion, as i mentioned above, the standard procedure tells in the second? screen, that veracrypt dont use the bootloader option by default and only encrypts the partition where windows resides, i dont have the possibility right now, to test, whats really going on there, but a fast test with vmware shows, of course veracrypt is using his bootloader but as also mentioned it seems it doesnt encrypt the whole disk but only the windows partition itself, when you open up veracrypt after boot, you will see, that C: is shown as you would see any other mounted veracrypt partion like the usb stick and therefore it seems 13722 is also right for that style of encryption

i couldnt test the whole drive encrytion yet, because veracrypt seems to block it within this vm, see attached picture


Attached Files
.png   no-whole-drive.PNG (Size: 276.44 KB / Downloads: 5)
Reply
#9
I tried the part with



sudo dd if=/dev/sdb of=disk bs=512 count=1

sudo dd if=/dev/sdb1 of=part bs=512 count=1



Worked fine for me without any problems, thanks!



I will try it out at the PC at work.

*****

On your post from - 01-07-2022, 01:36 PM you wrote:

"short answer for true oder veracrypt"

So if "oder" tells me you're from germany as I am: Vielen Dank Wink
Reply