It is possible to use a mask attack (as already directly supported by hashcat) in hashcat-legacy. To do it you will need maskprocessor, the ability to use mkfifo
(on Unix-like operating systems - it probably won't work on windows), and obviously hashcat.
I'll assume you are in your hashcat directory and maskprocessor is in the higher directory, in maskprocessor-0.65/.
$ mkfifo dict
This will create a 'fifo' called 'dict'
Then we use :
$ ../maskprocessor-0.65/mp64.bin -o dict ?l?l?l?l?d?d?d?d
And in another shell (or screen session) :
$ ./hashcat-cli64.bin -m 0 -n 2 -c 512 -o found.txt hashes.txt dict
../maskprocessor-0.65/mp64.bin -o dict ?l?l?l?l?d?d?d?d
With maskprocessor we generate all the possible combinations with the mask ?l?l?l?l?d?d?d?d (4 lowercase chars followed by 4 digits) and tell it to output these combinations in our fifo 'dict'
./hashcat-cli64.bin -m 0 -n 2 -c 512 -o found.txt hashes.txt dict
Then we launch hashcat-cli with our fifo as it was a normal dict file.
And hopefully you will get an output looking like this :
Added hashes from file hashes.txt: 5142830 (1 salts) Wordlist..: dict Index.....: 1/1 (segment), 59651869 (words), 536866821 (bytes) Recovered.: 0/5142830 hashes, 0/1 salts Speed/sec.: 7.96M plains, 7.96M words Progress..: 59651869/59651869 (100.00%) Running...: 00:00:00:08 Estimated.: --:--:--:-- [...] Wordlist..: dict Index.....: 77/1 (segment), 36217956 (words), 325961604 (bytes) Recovered.: 19/5142830 hashes, 0/1 salts Speed/sec.: 5.57M plains, 5.57M words Progress..: 36217956/36217956 (100.00%) Running...: 00:00:00:06 Estimated.: --:--:--:--
(Note the Indexes numbers :p)