As @Lester T. says, hashcat
is a good option.
As an add-on, you might also look into GNU Parallel
in order to use multiple machines as a cluster. Or perhaps OpenSSI
which uses a single system image scheme to utilize multiple machines with a single operating system. With such a system, aircrack-ng can be made to run the same command on multiple machines using many different wordlists or possibly piping a permutation output into aircrack-ng on each machine.
(edit)
Another method I didn't think of at the time of writing this answer would be software called openmpi
which is capable of doing the same as the above methods (using multiple machine resources). You can also use openmpi
to control how many CPU cores and/or hardware threads a process is allowed to use. openmpi
doesn't require root to use on local machines unless the command or program being executed requires root permissions. You can also setup openmpi
to autossh to other machines over a network using password-less ssh connections to node0,node1,node2,...
. It is really quite useful if a high end GPU isn't available for heavy number crunching.