.TH BRUTEFORCE-LUKS "1" "January 2016" "BRUTEFORCE-LUKS 1.2.0" "Bruteforce LUKS encrypted volume" .SH NAME bruteforce-luks - try to find the password of a LUKS volume .SH SYNOPSIS .B bruteforce-luks [options] .I .SH DESCRIPTION The purpose of this program is to try to find the password of a LUKS encrypted volume. .P It can be used in two ways: .RS .P \(bu brute force attack: try all the possible passwords given a character set. It is especially useful if you know something about the password (i.e. you forgot a part of your password but still remember most of it). 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). .P \(bu dictionary attack: try all the passwords in a file. .RE .P The program can use several threads (the number of threads can be specified with the .I -t command line option). .P Sending a USR1 signal to a running .B bruteforce-luks process makes it print progress info to standard error and continue. .SH OPTIONS .nf .TP .B -b Beginning of the password. Default: "" .TP .B -e End of the password. Default: "" .TP .B -f Read the passwords from a file instead of generating them. .TP .B -h Show help and quit. .TP .B -l Minimum password length (beginning and end included). Default: 1 .TP .B -m Maximum password length (beginning and end included). Default: 8 .TP .B -s Password character set. Default: "0123456789ABCDEFGHIJKLMNOPQRSTU VWXYZabcdefghijklmnopqrstuvwxyz" .TP .B -t Number of threads to use. Default: 1 .SH EXAMPLES Try to find the password of a LUKS encrypted volume using 4 threads, trying only passwords with 5 characters: .sp .nf bruteforce-luks -t 4 -l 5 -m 5 /dev/sdb1 .P .fi 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": .sp .nf bruteforce-luks -t 8 -l 5 -m 10 -b "W4l" -e "z" /dev/sda2 .P .fi 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ŭ": .sp .nf bruteforce-luks -t 8 -l 10 -m 10 -s "P情8ŭ" /dev/sdc3 .P .fi Try to find the password of a LUKS encrypted volume using 6 threads, trying the passwords contained in a dictionary file: .sp .nf bruteforce-luks -t 6 -f dictionary.txt /dev/sdd1 .P .fi 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: .sp .nf sudo dd if=/dev/sda1 of=/tmp/luks-header bs=1M count=10 bruteforce-luks -t 4 -l 5 -m 5 /tmp/luks-header .P .fi Print progress info: .sp .nf pkill -USR1 -f bruteforce-luks