Cracking password hashes using Azure GPU powered VMs.

Intro to GPU password cracking

When you have to crack password hashes GPU's are usually a-lot faster then CPU's. GPU's are more suitable for this kind of work because they are designed to perform work in parallel. A GPU has more 'cores' than a CPU that can be used to compute functions in parallel. Therefore, when there are many identical jobs to perform (the password hashing function) a GPU is more suitable. Hence I was interested in bench-marking the new N-Series VM's in Azure.


To take advantage of the GPU capabilities of Azure N-series VMs running a supported Linux distribution, you must install NVIDIA graphics drivers on the VM after deployment. Officially the NV-Series are currently not supported as stated by Microsoft here..

Azure - Linux GPU Support

Azure - Linux GPU Support

However, it will still work. Just follow my instructions below.


From the Azure RM portal:

  1. Add a Ubuntu 16.04 compute resource.
  2. Make sure you select HDD as the 'VM disk type' as the N series don't offer SSD support (yet).
  3. Select a location that offers the 'N' series VM's. I used 'South Central US'.
  4. Select a 'NV' series size.

Next connect to the VM over SSH and start the setup. First, we download and install the required packages:

Next we disable the 'nouveau' drivers manually. This is required only if we are going to install the proprietary NVIDIA drivers.

After rebooting we should be able to install the proprietary NVIDIA drivers.

This will drop you to an interactive prompt. Accept the EULA.

Azure Hashcat 3 - NVIDIA EULA

Azure Hashcat 3 - NVIDIA EULA

Let the driver update your x config:

Azure Hashcat 3 - Install driver

Azure Hashcat 3 - Install driver

Finally reboot again. When the system is rebooted you can test if Hashcat is working using the benchmark parameter. It should list the NVIDIA Tesla device (or multiple, if you are NOT using the NV6).

Azure Hashcat 3 - Benchmark

Azure Hashcat 3 - Benchmark

Hashcat benchmark results

The NV-Series are the most suitable and give you a better bang-for-buck as compared to the Amazon workloads (checked January 3th 2017). The benchmark results are shown below. If you want to see the NC-series benchmark results as well you will find them on my GitHub.

Leave a Comment

Your email address will not be published. Required fields are marked *