Así puedes crackear contraseñas con Hashcat en Windows 10

Así puedes crackear contraseñas con Hashcat en Windows 10

Lorena Fernández

Una función hash es el resultado de convertir un valor en otro con un algoritmo. Cuando nosotros tenemos que almacenar una contraseña en una base de datos o en un sistema, realmente no almacenamos la contraseña, sino que almacenamos el hash de dicha contraseña. El motivo es que una función hash solo funciona en un sentido, hasheamos la contraseña y almacenamos el hash de dicha clave.

Con el hash de un determinado archivo no se puede recuperar el archivo original, por este motivo, una buena práctica de seguridad es almacenar los hashes de las contraseñas en las bases de datos, para que nadie pueda obtener la información en texto plano. No obstante, para crackear este «hash» lo que se hace es probar miles de combinaciones y comparar si los hashes son iguales.

Otros usos que se le puede dar a un hash, es comprobar la integridad de un archivo, es decir, saber si ha sido modificado o no. La huella hash de cada archivo es única, en caso de detectar que dos archivos o datos diferentes generan el mismo hash, se considera que ha ocurrido una colisión, y que este algoritmo de hashing utilizado no es seguro.

El hash acostumbra a ser de menor tamaño que el dato original. Esto es así porque el hashing simplemente genera un código de determinada longitud fija, aunque existen funciones hash que su salida es variable. El hash añade una capa de protección a la hora de almacenar contraseñas, ya que no es posible descifrarlo a no ser que lo ataques por fuerza bruta o diccionario. Existe una herramienta denominada Hashcat que te permitirá descifrar contraseñas utilizando los principales algoritmos de hash para almacenar contraseñas. En esta ocasión, te mostraremos un paso a paso para instalar esta herramienta en Windows 10, aunque también es compatible con sistemas operativos Linux y macOS.

¿Por qué querría contar con una herramienta como esta en mi ordenador? Tanto profesionales en seguridad informática como entusiastas, utilizan esta herramienta para corroborar lo protegidas que se encuentran las distintas contraseñas. Sin embargo, como toda herramienta de este tipo, puede tener sus usos con fines maliciosos de parte de los cibercriminales. De todas formas, consideramos que es importante que todos tengan acceso a herramientas con estas utilidades con fines tanto educativos como profesionales.

Cómo instalar Hashcat en Windows 10

Lo que haremos en primer lugar es ingresar al portal oficial de Hashcat y descargar el archivo en formato binario. Considera esta captura como referencia:

Se descargará el archivo de forma comprimida. De paso, para poder descomprimir y gestionar en general todo archivo comprimido utiliza el programa 7-Zip. Descomprime la carpeta en un lugar práctico de localizar y entra en dicha carpeta. Verás múltiples archivos y, antes de empezar, vamos a copiar un acceso directo al Símbolo de Sistema (línea de comandos) para poder acceder más fácilmente a Hashcat siempre que necesitemos:

Una vez que hayamos localizado el ejecutable cmd, lo copiamos y lo pegamos en la carpeta que descargamos de Hashcat.

Una vez que hayamos pegado el cmd en la carpeta, podemos comenzar a usar Hashcat mediante el Símbolo del Sistema

Abrimos el cmd y directamente empezaremos a utilizar la herramienta desde la ubicación de la carpeta que descargamos.

Un comando sencillo que nos ayudará a corroborar que la herramienta se ejecuta correctamente es el siguiente:

hashcat64.exe --help

Si nuestro sistema operativo es de 32 bits, usamos el siguiente comando:

hashcat32.exe --help

Aparecerá un listado extenso de argumentos de los comandos, y toda la información necesaria para aprovechar Hashcat en distintos escenarios.

Ejecutando ataque de fuerza bruta

Siempre en la misma carpeta, vamos a crear dos archivos .txt para simular nuestro ataque de fuerza bruta. En el primer archivo, vamos a almacenar nuestra contraseña cifrada y en el otro archivo la contraseña ya crackeada.

En este ejemplo, para almacenar la contraseña cifrada le llamo al archivo contrasena_hash y en donde estará la contraseña crackeada se llamará simplemente crackeo.

Para poder cifrar nuestra contraseña, podemos encontrar múltiples generadores de hashes. El que hemos utilizado es esteel cual ofrece una amplia variedad de algoritmos de cifrado. Simplemente, debes introducir el texto a cifrar y en tiempo real genera el hash. A medida que vas agregando más palabras al texto, el hash generado se actualiza automáticamente.

Una vez que hayas generado el hash, vas a almacenarlo en el archivo que creamos recientemente para almacenar la contraseña cifrada. Nuestro ejemplo: contrasena_hash. Luego, volvemos a la línea de comandos de Hashcat para poder llevar a cabo el proceso de crackear nuestra contraseña cifrada.

La estructura del comando es sencilla y variará de acuerdo a lo que queremos hacer. En suma, debemos tener en cuenta que, de acuerdo al algoritmo de cifrado que usamos para cifrar los datos y el tipo de ataque, el uso de CPU puede aumentar considerablemente. En consecuencia, debemos garantizar que no se sobrecaliente nuestro ordenador por crackear contraseñas.

Una buena práctica es contar con programas que monitoricen la temperatura de nuestro ordenador y el uso de la CPU, y tenerla abierta al mismo tiempo que Hashcat. De esta manera, podremos prevenir cualquier eventualidad. Por ejemplo, el pantallazo azul.

Comando para ataque de fuerza bruta a hash MD5

hashcat64.exe -m0 -o crackeo.txt contrasena_hash.txt

El comando que vemos más arriba tiene diferentes argumentos que significan lo siguiente:

  • hashcat64.exe – el archivo ejecutable de Hashcat
  • -m0 — el algoritmo de cifrado que se va a crackear (MD5)
  • -o — el tipo de ataque a realizar, que será el de fuerza bruta
  • crackeo.txt – el archivo donde se va a almacenar la contraseña crackeada
  • contrasena_hash.txt – el archivo donde tenemos la contraseña a crackear

Por supuesto, esto aplica también al crackeo de contraseñas en forma masiva. Es decir, en un mismo archivo podemos contar con cientos miles o millones de contraseñas. Es bueno reforzar el hecho de que esto requerirá un buen consumo de recursos. Por lo que recomendamos sumo cuidado a la hora de utilizar esta solución.

Una vez que ejecutes este comando, no debes hacer nada más. Si está todo en orden, es cuestión de esperar unos minutos hasta que de el «output» de si el proceso de crackeo fue exitoso o no exitoso. Este es un ejemplo de si el crackeo se dio con éxito:

Ventajas y desventajas de Hascat

Lo que hay que recordar acerca de Hashcat es que originalmente fue diseñado para sistemas empresariales y el hardware asociado que sería ejecutado en estos y por lo tanto, no es una solución rápida si tenemos un hardware limitado, ni hará que nuestra GPU sea más rápida de repente y sin más, pero lo que sí hará por nosotros, es brindarnos una plataforma profesional para el descifrado de hash distribuido junto con lo que debe describirse como el método de instalación y despliegue más fácil de cualquier herramienta que vaya a encontrar. Todo se hace para que nosotros desde una configuración de back-end y que podamos sacar de nuestro camino lo tedioso de jugar con los controladores y configuraciones de nuestros controladores y hacérnoslo un poco más fácil.

Dicho esto, podemos destacar que entre las principales ventajas se encuentran las siguientes:

Fácil instalación (realmente no puedes equivocarte a menos que nunca haya usado Linux), y aunque así fuese, puedes ir más arriba en este artículo para ver el tutorial de instalación en cualquier momento.

Portal web intuitivo y funcional.

API fácil de integrar.

Absolutamente escalable horizontalmente, podremos agregar nuevos nodos de cómputo en minutos.

Excelente manejo de errores incorporado y recuperación de sistemas detenidos/reiniciados.

Amplio uso de archivos de registro para una fácil depuración.

Excelente manual si es necesario y, por supuesto, soporte.

Al contrario de lo que hemos indicado hasta ahora, también tiene algunas desventajas entre las que podríamos destacar las siguientes:

Hace un uso intensivo de nuestro hardware por lo que necesita consumir bastante energía energía.

Requiere SSD y cantidades saludables de RAM en el nodo de control.

Necesitarás más RAM en los nodos de cómputo que un usuario de hashcat de cli de vainilla. (aunque no deberías tener muy poco de todos modos).

Como expone una interfaz web, debemos asegurarnos de que nuestra seguridad esté configurada correctamente con respecto al acceso a Internet, las contraseñas utilizadas y el acceso ssh local, etc. encriptación en todas las máquinas, recomendamos que ni siquiera intentes esto si no tiene SSD en todas partes y suficiente potencia de CPU para enc/de/cryption).

Hashcat para empresas

Ahora que sabemos cómo funciona Hashcat, es posible que se nos vengan a la cabeza ideas para poder implementarlo en algún sistema. Tales como puede ser una empresa. Y lo cierto es que sería una herramienta muy útil en muchos aspectos diferentes, pero es algo que puede llegar a ser problemático. Incluso en algunos casos, potencialmente peligroso.

Lo primero que debemos saber, es que Hashcat puede ir en contra de las políticas de privacidad de algunas empresas. Lo cual, sin ninguna duda, pone en riesgo la seguridad de la misma. Por lo general las compañías tienen sus propias políticas, las cuales establecen prohibiciones a los empleados para poder acceder a algunos lugares o información más explícita. Con el uso de Hashcat para obtener contraseñas de otros usuarios, o incluso de sistemas sin autorización puede resultar en importantes sanciones disciplinarias. En algunos casos, dependiendo de la empresa, puede acarrear un despido procedente.

Por otro lado, utilizar Hachcat puede llegar a ser considerado como una técnica de hacking. Lo cual va directamente contra las normas de muchas leyes diferentes. Luego, dependiendo de cada país, se aplicarían unas medidas u otras. Pero lo cierto es que su uso puede ser muy peligroso para la seguridad de la red de la empresa. Si un empelado lo utilizara para conseguir algún acceso para el que, por lo general, no está autorizado, puede dejar rastros en forma de vulnerabilidades dentro de los sistemas. Lo cual dejaría la información confidencial al alcance de otros posibles atacantes. En ese caso, la empresa podría estar en un grave problema, ya que se puede poner en riesgo no solo información de la propia organización, sino de los clientes de la misma.

Por lo cual, es importante que las empresas establezcan las medidas de seguridad y políticas adecuadas. Incluso incorporando políticas muy claras sobre el uso de herramientas de este tipo. Todos los empleados deben ser conscientes de que utilizar herramientas como Hashcat, está prohibido, y cualquier actividad de hacking que se realiza puede tener consecuencias muy graves.

¿Es legal crackear contraseñas?

Ahora que ya sabes más sobre este tipo de herramientas y funciones, es posible que te pregunte si es legal crackear contraseñas. Y lo cierto es que no, no es legal realizar este tipo de actividades. Pero como casi todo en informática, hay algunos casos en los que sí se puede hacer. El cracking de contraseñas, es una actividad ilegal de por sí, y es considerada un delito en gran cantidad de países diferentes, entre los que podemos encontrar: España, Reino Unido, España, y muchos más. Es técnica consiste en obtener accesos no autorizados, por lo cual se responde prácticamente sola la pregunta. Esto es algo que viola la privacidad de los usuarios, y atenta directamente contra los sistemas. Cuando accedemos sin autorización, se puede acceder a información privada, dañar archivos y programas, así como utilizar técnicas de ingeniería inversa.

Pero, también debemos hablar de las excepciones que mencionamos. Y es que no siempre es ilegal realizar un crackeo de contraseñas. En muchas ocasiones, esto es algo que se realiza como parte de una auditoría de seguridad, por ejemplo, pero en este caso es siempre con la autorización firmada del propietario de la contraseña. Los expertos en seguridad informática, pueden ser contratados para tratar de robar la información que se les indique, y así en el momento que encuentre un posible fallo del cual aprovecharse, subsanarlo y que ya no se pueda utilizar más. Pero se debe recalcar, que esto es algo que solo es legal si se cuenta con el permiso de los propietarios. También se debe disponer de un acuerdo, que tenga en cuenta todas las leyes y regulaciones qu se pueden aplicar en estos casos.

Por lo cual, salvo que nos dediquemos a la seguridad informática y podamos obtener los permisos necesarios, lo mejor será que no procedamos con este tipo de actividades. Las penas por llevarlas a cabo, pueden ser desde multas, a penas de prisión.

¿Quienes usan Hashcat?

Originalmente, esta solución fue creada para su uso con fines legítimos. Sobre todo, para fines profesionales. Por ejemplo, un administrador de sistemas puede valerse de Hashcat para corroborar la seguridad de las contraseñas de los usuarios que forman parte de una red. Si logró crackearlo por su cuenta, un cibercriminal podrá hacerlo también.

Otro contexto en el que se puede aplicar es en el pentesting. El pentester tiene como objetivo principal encontrar la mayor cantidad de agujeros de seguridad posible, de manera que sus clientes puedan aplicar mayor cantidad de medidas de seguridad para proteger sus sistemas. Tanto en el contexto profesional como académico, herramientas de este tipo pueden ser aprovechadas.

No es posible evitar que cibercriminales utilicen este tipo de herramientas para atacar y apropiarse de datos de millones de personas alrededor del mundo. Sin embargo, quienes lo usen con fines legítimos ganarán conciencia de la importancia de no solamente contar con contraseñas seguras, sino también, la importancia de almacenarlas con el mayor nivel de protección posible.

Se podría pensar que Hashcat es una herramienta que hace prácticamente inútil que utilicemos algoritmos de hashing para nuestras contraseñas, incluso con los algoritmos más robustos como SHA3. ¿No sería mejor optar por almacenarlo todo en texto plano y ya está? No, igualmente es obligatorio que organizaciones que precisen de contraseñas para acceder a sus servicios, las almacenen de forma segura, de tal forma que se preserve la seguridad y la privacidad en mayor medida.

¡Sé el primero en comentar!