BRUTEFORCE-LUKS(1)

๐Ÿ“ฆ
version 1.4.0 ยท 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu resolute, ubuntu stonking

๐Ÿ’– BRUTEFORCE-LUKS(1) ๐Ÿ’–

okay bestie, so this is bruteforce-luks โ€” it lives in the Bruteforce LUKS encrypted volume section of the manual, and it's literally your girl for when you forgot a password and need to get back into your own stuff. no cap. ๐ŸŽ€


โœจ NAME โœจ

bruteforce-luks โ€” try to find the password of a LUKS volume ๐Ÿ”“


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

bruteforce-luks [options] <path to LUKS volume>

๐ŸŒธ DESCRIPTION ๐ŸŒธ

so the whole purpose of this program, the entire main character energy of it, is to try to find the password of a LUKS encrypted volume. that's it. that's the vibe. ๐Ÿ’…

it can be used in two ways, and both of them are valid:

  • brute force attack โ€” it tries all the possible passwords given a character set. this one is especially useful if you already know something about the password, likeโ€ฆ you forgot a part of your password but still remember most of it ๐Ÿซถ. and ngl, finding the password of a volume without knowing anything about it would take way too much time โ€” unless the password is really short and/or weak. it's giving "please have some info first" ๐Ÿ˜ญ
  • dictionary attack โ€” it tries all the passwords in a file. simple. clean. iconic. ๐Ÿ“–

the program can use several threads, and the number of threads can be specified with the -t command line option. parallelism slay ๐Ÿ”ฅ

also: sending a USR1 signal to a running bruteforce-luks process makes it print progress info to standard error and continue. so you can just vibe check it mid-run and it keeps going ๐Ÿ’–


๐Ÿ’… OPTIONS ๐Ÿ’…

  • -b <string> โ€” beginning of the password. Default: ""
  • -e <string> โ€” end of the password. Default: ""
  • -f <file> โ€” read the passwords from a file instead of generating them. dictionary mode activated ๐Ÿ“
  • -h โ€” show help and quit. bye bestie ๐Ÿ‘‹
  • -l <length> โ€” minimum password length (beginning and end included). Default: 1
  • -m <length> โ€” maximum password length (beginning and end included). Default: 8
  • -s <string> โ€” password character set. Default: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
  • -t <n> โ€” number of threads to use. Default: 1
  • -v <n> โ€” print progress info every n seconds. โฐ
  • -w <file> โ€” restore the state of a previous session if the file exists, then write the state to the file regularly (~ every minute). it's giving save-point energy ๐ŸŽฎ

๐ŸŒˆ EXAMPLES ๐ŸŒˆ

try to find the password of a LUKS encrypted volume using 4 threads, trying only passwords with 5 characters:

bruteforce-luks -t 4 -l 5 -m 5 /dev/sdb1

try to find the password of a LUKS encrypted volume using 8 threads, trying only passwords with 5 to 10 characters beginning with "W4l" and ending with "z":

bruteforce-luks -t 8 -l 5 -m 10 -b "W4l" -e "z" /dev/sda2

try to find the password of a LUKS encrypted volume using 8 threads, trying only passwords with 10 characters using the character set "Pๆƒ…8ลญ":

bruteforce-luks -t 8 -l 10 -m 10 -s "Pๆƒ…8ลญ" /dev/sdc3

try to find the password of a LUKS encrypted volume using 6 threads, trying the passwords contained in a dictionary file:

bruteforce-luks -t 6 -f dictionary.txt /dev/sdd1

instead of passing a block device to the program, you can copy the beginning of the LUKS volume to a file and pass this file to the program. lowkey a life hack โœจ

sudo dd if=/dev/sda1 of=/tmp/luks-header bs=1M count=10
bruteforce-luks -t 4 -l 5 -m 5 /tmp/luks-header

print progress info:

pkill -USR1 -f bruteforce-luks

print progress info every 30 seconds:

bruteforce-luks -t 6 -f dictionary.txt -v 30 /dev/sdd1

save/restore state between sessions:

bruteforce-luks -t 6 -f dictionary.txt -w state.txt /dev/sdd1
  (Let the program run for a few minutes and stop it)
bruteforce-luks -t 6 -w state.txt /dev/sdd1
bestie reminder: this whole thing only works on volumes you're actually allowed to be opening, mkay? ๐Ÿซถ

and that's the page!! it's BRUTEFORCE-LUKS version 1.4.0, dated November 2019, and honestly? it ate. go get your password back, queen ๐Ÿ‘‘๐Ÿ’œ