Hashcat supports the combinator attack (mode 1 / -a 1), which entails combining two wordlists together with a custom rule.

For example, if list1.txt contains purple and list2.txt contains monkey, then we can use this command to produce purple-monkey!:

hashcat -a 1 -m 1000 ntlm.txt list1.txt list2.txt -j "$-" -k "$!"