Azure + GPU + Hashcat - Parte 1

En este blog vamos a ir un paso más allá con el cracking de hashes con Hashcat. En esta entrada del blog veremos cómo realizar cracking de hashes con Hashcat, pero utilizando GPUs para poder realizar ataques muchos más potentes y rápidos. Como no todo el mundo puede permitirse tener una tarjeta gráfica muy potente, vamos a ver todo este proceso creando y desplegando una máquina virtual en Microsoft Azure, la cual contendrá las tarjetas gráficas que necesitamos. 

El proceso vamos a verlo distribuido en dos entradas en el blog, en esta primera entrada vamos a ver  qué es Microsoft Azure y cómo crear una máquina virtual con GPU. En la siguiente entrada del blog, veremos como utilizar la dicha GPU junto con Hashcat.

Para los que no sepan lo que es Microsoft Azure, esta plataforma es un servicio de computación en la nube creado por Microsoft para construir, probar, desplegar y administrar aplicaciones y servicios mediante el uso de sus centros de datos. Azure, proporciona software como servicio (SaaS), plataforma como servicio (Paas) e infraestructura como servicio (IaaS).

La computación en la nube se atreve con todos los terrenos posibles, volviendo la tecnología más accesible y asequible a todos los usuarios. En el caso de Azure, por poner un ejemplo, podemos ver en esta noticia de Variety en agosto de 2020 que la empresa Universal firmaba un contrato para producir películas animadas dentro de Microsoft Azure. ¿Dónde estará el límite?

Hace un tiempo Azure introdujo la posibilidad de crear máquinas virtuales con GPUs optimizadas. Dentro de esta categoría de máquinas virtuales, tenemos disponibles la serie NV. Las máquinas virtuales dentro de la serie NV, disponen de tarjetas gráficas M60 de NVIDIA y tecnología NVIDIA GRID para poder diseñar aplicaciones aceleradas de escritorio. Con este tipo de instancias obtendremos una funcionalidad gráfica excepcional y podremos ejecutar cargas de trabajo muy potentes y con mucha precisión. Además las máquinas virtuales de la serie NV funcionan con un CPU Intel Xeon E5-2690 v3.

En la siguiente tabla podremos ver las distintas configuraciones que podremos crear dentro de la serie NV (los tamaños, así como las configuraciones de las tarjetas gráficas, pueden variar dependiendo de la localización y disponibilidad de la mismas).


Bien una vez que hemos visto el contexto, vamos a pasar a lo que mola, vamos a desplegar la máquina virtual. Para este proceso deberéis de tener una cuenta en Microsoft Azure y disponer de una suscripción valida, también disponemos de un mes de prueba con un crédito de 170€. Antes de continuar voy a hacer un apunte sobre este tipo de máquinas virtuales, estas máquinas no son baratas, lo más recomendable es encender la máquina solo cuando vayamos a utilizarla y apagarla cuando no vayamos a utilizarla, ya que se facturará en función del uso de la máquina virtual, de modo que solo pagaremos cuando esta esté encendida. Durante el proceso de creación veremos la lista de precios.

Nos dirigiremos a la siguiente URL, donde encontraremos el portal de Azure. Una vez tengamos la cuenta y la suscripción listas o si ya disponemos de ellas, lo primero que haremos será crear un grupo de recursos.


Para crear uno nuevo solo deberemos de pulsar sobre el botón Create o Crear. Dentro de la creación seleccionaremos una suscripción sobre la que se va a crear el grupo de recursos, le pondremos un nombre y seleccionaremos la región en la que la queremos crear (los precios también pueden variar en función de la región donde creemos los recursos).

 

Con todo ello, nos dirigiremos ahora al grupo de recursos que acabamos de crear y dentro de él pulsaremos sobre el botón de Add o Añadir.

 


Dentro del Marketplace de Azure buscaremos y añadiremos lo siguiente:

Efectivamente, nuestra máquina virtual va a contener el sistema operativo Ubuntu Server 18.04 LTS. Una vez lo seleccionemos, se nos abrirá el menú para poder definir las características de la máquina virtual.

El apartado que más nos interesa en esta ocasión es el siguiente:

Para esta entrada del blog no vamos a utilizar la maquina más potente. En este caso hemos seleccionado la configuración Standard NV6, la cual cuenta con solo una tarjeta gráfica M60 de NVIDIA. Esta configuración va a ser suficiente para poder hacer cosas más bestias que con un ordenador con pocas prestaciones. Como podemos ver, el coste mensual de esta máquina es de 446,93€, pero eso es solo si la tenemos encendida 24/7. En nuestro caso, recordemos que vamos a encender la máquina solo cuando vayamos a hacer uso de ella.

Para autenticarnos en la máquina remota (SSH) podemos seleccionar acceder por clave publica y clave privada o mediante usuario y contraseña.

En el apartado de configuración de los discos lo dejamos tal cual viene por defecto:

En la configuración de red, debemos de asegurarnos de habilitar el puerto 22 de SSH para poder conectar remotamente a la máquina.


El resto de la configuración ya puede ser a nuestro gusto. Cuando hayamos terminado, pulsaremos sobre el botón de “Revisar + crear" o "Review + create"  situado en la parte inferior izquierda de la página.


Llegados a este punto ya tendríamos nuestra máquina preparada para realizar pruebas junto con Hashcat.

Si has tenido problemas siguiendo esta guía puedes escribir en los comentarios e intentaré responderte para solucionarlos.

Si te ha gustado esta primera parte, recuerda que la semana que viene estará disponible la segunda, en la cual hablaremos de como utilizar las GPUs junto a Hashcat.

Si te ha gustado compártelo con tus amigos, un saludo a todos y happy cracking!

Comentarios

Entradas populares de este blog

Realizando hash con PowerShell

Cracking hashes con Hashcat - 4

Cracking hashes con Hashcat - 2