To elaborate further on Mike's comment. You will need an idea of the last known password and then use John the Ripper to produce a wordlist mutation (similar) passwords. You will need to create a rules configuration file for John, the wordlist will give a smaller password set if thought through carefully. Hence, a smaller keyspace to brute force; reducing overall brute force time.
root@kali:~# john –wordlist=mustangwords.txt –stdout –rules:convtolowerplus000 > newmustangwords.txt
Basically this is broken up as follows:
john self-explanitory, start John the Ripper
–wordlist= specifying the word list we want to mutate
–stdout output the words generated
–rules: this is the rule set we generated in the configuration file
> output the results to a new text file
Next, you will need to brute force the VeraCrypt header key this can be done with vUte. vUte is a VeraCrypt Bruteforcer written in BASH. As I understand the header key can be obtained via use of a hex editor, A back-to-front TrueCrypt recovery story: the plaintext is the ciphertext. For context, Is there a reason to use TrueCrypt over VeraCrypt?.
As I understand HashCat can do a similar process, with less intermediate steps. However, I am not familiar with this. Furthermore, due to the nature of this brute force, it is not known to be a particularly fast crack. VeraCrypt uses PBKDF2, see About how fast can you brute force PBKDF2?.