system onlinepath: /guias/hacking/hashcat-desde-cero-para-analizar-hashes-de-contrasenas/mode: knowledge_baselocal:
Hacking ético · Nivel intermedio

Hashcat desde cero para analizar hashes de contraseñas

Hashcat analiza la fortaleza de las contraseñas a partir de sus hashes aprovechando la potencia de la GPU. Su valor legítimo es auditar tus propios sistemas y comprobar que resisten.

11 min de lectura▣ Actualizada el ◇ Por Underc0de
Respuesta rápida

Hashcat es una herramienta de código abierto para analizar la fortaleza de las contraseñas a partir de sus hashes —la huella irreversible con la que los sistemas seguros almacenan las contraseñas en lugar del texto—. Como del hash no se puede volver directamente a la contraseña, Hashcat prueba candidatas: calcula el hash de muchas contraseñas posibles y comprueba si alguna coincide. Su rasgo distintivo es que aprovecha la GPU (la tarjeta gráfica), extraordinariamente eficiente para el cálculo masivo y en paralelo de hashes, lo que le permite probar cantidades enormes por segundo. Su valor legítimo es la auditoría: un administrador o un pentester autorizado comprueba cuáles de las contraseñas de su sistema son débiles para exigir su cambio, y verifica que el algoritmo de almacenamiento es adecuado. El marco es absoluto: solo sobre hashes propios, en laboratorio, o con autorización explícita; auditar credenciales ajenas es un delito. Y la lección defensiva: dos medidas vuelven la auditoría infructuosacontraseñas largas y únicas (que ningún diccionario contiene) y un algoritmo de hashing lento y con sal (que hace que ni la GPU pueda probar suficientes candidatas)—. Es prima de John the Ripper: mismo propósito, misma defensa, mismo marco.

Ver índice de contenidos
  1. 01Qué es
  2. 02Por qué la GPU
  3. 03Cómo audita
  4. 04El marco legal
  5. 05Las defensas
  6. 06Errores frecuentes
  7. 07Preguntas frecuentes
  8. 08Fuentes

Qué es

Hashcat es una de las dos herramientas más conocidas para auditar contraseñas a partir de sus hashes —la otra es John the Ripper—. Parte del mismo principio: un sistema bien hecho no guarda las contraseñas en texto, sino su hash, una huella calculada con una función de un solo sentido que no se puede invertir. Para evaluar la fortaleza de una contraseña, Hashcat prueba candidatas: calcula el hash de cada una y ve si coincide con el que audita.

Auditar, no «romper»

Aunque coloquialmente se hable de «crackear» contraseñas, en un contexto legítimo Hashcat hace auditoría: revela cuáles de las contraseñas de tu sistema no resistirían un ataque real, para poder reforzarlas. Si recupera una rápido, era débil; si no lo logra, era fuerte. Ese resultado es información de seguridad accionable, no un fin en sí mismo.

Por qué la GPU

Lo que distingue a Hashcat es que aprovecha la GPU, la tarjeta gráfica. Una GPU está diseñada para hacer muchísimos cálculos simples en paralelo —para eso renderiza gráficos—, y calcular hashes es exactamente ese tipo de tarea. Mientras un procesador general (CPU) prueba relativamente pocas candidatas por segundo, una GPU puede probar órdenes de magnitud más. Por eso Hashcat es tan veloz auditando hashes calculados con algoritmos rápidos.

i
Esto explica la defensa

Si la GPU vuelve trivial probar miles de millones de candidatas por segundo contra un hash rápido, la defensa evidente es usar un hash deliberadamente lento y diseñado para contraseñas: aunque la GPU sea potente, cada intento cuesta tanto tiempo que probar suficientes candidatas se vuelve inviable. La velocidad de Hashcat es, precisamente, el argumento a favor de los algoritmos de hashing lentos.

Cómo audita, a alto nivel

Cómo Hashcat audita la fortaleza de las contraseñas a partir de sus hashes aprovechando la GPU, y su marco de uso, presentado de forma conceptual con la condición legal por delante. Arriba, enmarcada como condición previa e ineludible, la autorización: la herramienta solo debe usarse sobre hashes de contraseñas propias, en un laboratorio de práctica, o con permiso explícito en una auditoría; usar Hashcat contra credenciales ajenas es un delito. Debajo, el punto de partida: los sistemas seguros no guardan las contraseñas en texto sino su hash, una huella irreversible calculada con una función de un solo sentido, de modo que del hash no se puede volver directamente a la contraseña. En el centro, cómo trabaja Hashcat sobre esos hashes: como no puede invertir un hash, prueba candidatas, es decir calcula el hash de muchas contraseñas posibles y comprueba si alguna coincide con el que está auditando; si coincide, encontró la contraseña original. Se destaca su rasgo distintivo: aprovecha la GPU o tarjeta gráfica, que está diseñada para hacer muchísimos cálculos simples en paralelo, exactamente el tipo de tarea que es calcular hashes, de modo que puede probar órdenes de magnitud más candidatas por segundo que un procesador general. Se muestran las dos grandes formas de generar candidatas: el ataque de diccionario, que prueba listas enormes de contraseñas comunes y filtradas, el más eficaz porque la mayoría de la gente usa contraseñas previsibles; y la fuerza bruta, que prueba combinaciones sistemáticamente y solo es viable para contraseñas cortas. El resultado se interpreta así: si Hashcat recupera rápido una contraseña, era débil y hay que cambiarla; si no lo logra tras un esfuerzo razonable, era fuerte. A la derecha, resaltado como el lado defensivo y el verdadero valor de entender la herramienta, se muestran las dos defensas que vuelven infructuosa una auditoría. Primera, contraseñas largas y únicas en forma de frase de contraseña, que no aparecen en ningún diccionario y por su longitud hacen inviable la fuerza bruta incluso con GPU. Segunda, que el sistema use un algoritmo de hashing fuerte, diseñado para contraseñas, deliberadamente lento y con sal; que sea lento es la clave contra la GPU, porque aunque la tarjeta sea potente, cada intento cuesta tanto tiempo que probar suficientes candidatas se vuelve inviable, y la sal es un valor aleatorio único por contraseña que impide reutilizar cálculos entre cuentas y frustra las tablas precalculadas. En el centro, la idea que ordena todo: el valor legítimo de Hashcat es comprobar y reforzar que las contraseñas de un sistema propio resisten. Abajo, la advertencia legal reiterada: solo sobre hashes propios, en laboratorio o con autorización. Al pie, la aclaración de enfoque conceptual y defensivo, orientado a proteger, no a atacar.
Hashcat prueba candidatas (por diccionario o fuerza bruta) usando la GPU para probar cantidades enormes por segundo. Un hash lento y con sal, más contraseñas largas, vuelven la auditoría infructuosa.

Como toda herramienta de este tipo, Hashcat genera candidatas de dos formas principales:

  • Ataque de diccionario. Prueba listas de contraseñas comunes y filtradas de brechas. Es el método más eficaz, porque las contraseñas débiles suelen estar en esas listas.
  • Fuerza bruta. Prueba combinaciones sistemáticamente; solo viable para contraseñas cortas, aun con la velocidad de la GPU.

Esta guía es conceptual: explica el funcionamiento para entender la defensa, no ofrece recetas de ataque.

!
Solo sobre hashes propios, laboratorio o con autorización

Auditar contraseñas ajenas sin permiso es un delito. Además, para auditar los hashes de un sistema hay que tenerlos, y obtener los de un sistema ajeno suele implicar un acceso no autorizado, que ya es delito en sí mismo. Hashcat solo se usa sobre hashes de tus sistemas, en laboratorios y CTF, o con autorización explícita en una prueba con alcance definido. Como en todo el hacking ético, la diferencia entre auditoría e intrusión es el permiso.

Las defensas que la anulan

Entender Hashcat es entender qué vuelve resistente a una contraseña. Dos medidas combinadas hacen que la auditoría no encuentre nada:

  • Contraseñas largas y únicas (usuario). Una frase de contraseña larga no está en ningún diccionario y, por su longitud, hace inviable la fuerza bruta aun con GPU.
  • Hashing fuerte, lento y con «sal» (sistema). Un algoritmo diseñado para contraseñas y lento neutraliza la ventaja de la GPU, porque cada intento cuesta demasiado tiempo. La sal —valor aleatorio único por contraseña— impide reutilizar cálculos entre cuentas y frustra las tablas precalculadas.

Contra un sistema con hashing lento y usuarios con contraseñas largas, ni la GPU más potente logra recuperar nada útil.

Errores frecuentes

  • Auditar credenciales ajenas sin permiso. Delito; solo hashes propios, laboratorio o con autorización.
  • Almacenar contraseñas con un hash rápido. La GPU las recupera en masa; usar un algoritmo lento diseñado para contraseñas.
  • No usar sal. Permite tablas precalculadas y reutilizar cálculos entre cuentas.
  • Permitir contraseñas cortas o comunes. Caen en diccionario o fuerza bruta.
  • Creer que un hash «rápido y seguro» basta. Para contraseñas se necesita justo lo contrario: lentitud deliberada.
  • No actuar sobre los resultados. Detectar débiles y no forzar su cambio deja el riesgo.
  • Practicar con datos reales de personas. Usar conjuntos de ejemplo o entornos de CTF.

Preguntas frecuentes

¿Qué es Hashcat y para qué sirve?

Hashcat es una herramienta de código abierto para auditar la fortaleza de las contraseñas de un sistema a partir de sus hashes. Parte del hecho de que los sistemas seguros no almacenan las contraseñas en texto, sino su hash, que es una huella irreversible calculada con una función matemática de un solo sentido, de modo que del hash no se puede volver directamente a la contraseña. Como no se puede invertir un hash, Hashcat trabaja probando candidatas: calcula el hash de muchas contraseñas posibles y comprueba si alguna coincide con el que está auditando, y si coincide, ha encontrado la contraseña original. Su rasgo distintivo frente a otras herramientas es que aprovecha intensivamente la potencia de la tarjeta gráfica o GPU, que es extraordinariamente eficiente para el cálculo masivo y en paralelo de hashes, lo que le permite probar cantidades enormes de candidatas por segundo. Su propósito legítimo es la auditoría de seguridad: permite a un administrador o a un pentester autorizado descubrir cuáles de las contraseñas de un sistema son débiles, para exigir su cambio, y verificar de paso que el sistema almacena las contraseñas con un algoritmo adecuado. Su valor real es defensivo, no ofensivo.

¿Por qué Hashcat usa la tarjeta gráfica?

Hashcat aprovecha la GPU, es decir la tarjeta gráfica, porque el tipo de trabajo que implica auditar hashes encaja perfectamente con lo que las GPU hacen mejor. Una tarjeta gráfica está diseñada para realizar una cantidad enorme de cálculos relativamente simples de forma simultánea y en paralelo, que es exactamente lo que necesita hacer para renderizar gráficos, y calcular hashes de muchas candidatas de contraseña es esa misma clase de tarea repetitiva y paralelizable. Mientras un procesador general o CPU está optimizado para tareas variadas y secuenciales y prueba comparativamente pocas candidatas por segundo, una GPU puede probar órdenes de magnitud más, lo que hace a Hashcat especialmente veloz cuando el hash a auditar fue calculado con un algoritmo rápido. Esta característica tiene una consecuencia directa para la defensa: si la GPU vuelve trivial probar cantidades inmensas de candidatas por segundo contra un hash rápido, entonces la contramedida evidente es almacenar las contraseñas con un algoritmo de hashing deliberadamente lento y diseñado para ese propósito, de modo que aunque la tarjeta gráfica sea muy potente, cada intento individual cueste tanto tiempo que probar suficientes candidatas resulte inviable en la práctica.

¿Es legal usar Hashcat?

La herramienta es perfectamente legal y legítima, pero su uso solo lo es dentro de un marco estricto. Auditar contraseñas ajenas sin autorización es un delito, sin importar la intención, y en este caso hay un agravante particular: para poder auditar los hashes de un sistema hay que tenerlos primero, y obtener los hashes de un sistema ajeno normalmente implica haber accedido a él sin permiso, lo que ya constituye una intrusión ilegal por sí misma. Por eso Hashcat debe usarse exclusivamente sobre los hashes de tus propios sistemas, en entornos de laboratorio y competencias de tipo CTF diseñadas para la práctica, o sobre credenciales que audites con autorización explícita en el marco de una prueba de penetración con alcance definido. El uso legítimo más habitual es el de un administrador que audita las contraseñas de su propia organización para identificar las débiles y exigir su cambio, reforzando la seguridad desde dentro. Esto es coherente con el principio que rige todo el hacking ético: lo que distingue una auditoría de una intrusión no es la herramienta ni el conocimiento, sino la autorización y la intención.

¿Cómo hago que mis contraseñas resistan a Hashcat?

La resistencia depende de dos factores combinados, uno del lado del usuario y otro del lado del sistema. Del lado del usuario, lo esencial es usar contraseñas largas y únicas, idealmente frases de contraseña con varias palabras, porque una contraseña larga y poco común no figura en ningún diccionario de contraseñas filtradas y, por su longitud, vuelve inviable la fuerza bruta incluso aprovechando la velocidad de la GPU, ya que el número de combinaciones crece exponencialmente con cada carácter añadido. Del lado del sistema, lo esencial es almacenar las contraseñas con un algoritmo de hashing fuerte, diseñado específicamente para contraseñas, deliberadamente lento y con sal. Que el algoritmo sea lento es la clave frente a Hashcat, porque neutraliza justamente la ventaja de la GPU: por muy potente que sea la tarjeta gráfica, si cada cálculo de hash cuesta mucho tiempo, probar la cantidad de candidatas necesaria se vuelve prohibitivo. La sal es un valor aleatorio único que se añade a cada contraseña antes de calcular su hash, lo que impide reutilizar cálculos entre distintas cuentas y frustra el uso de tablas de hashes precalculadas. Cuando ambos factores están presentes, ni la GPU más potente logra recuperar nada útil, que es exactamente el objetivo de una buena política de contraseñas.

¿En qué se diferencia de John the Ripper?

Hashcat y John the Ripper son las dos herramientas de referencia para auditar contraseñas a partir de sus hashes, y comparten el mismo propósito, la misma lógica de probar candidatas y comprobar si su hash coincide, y exactamente el mismo marco ético y legal de usarse solo sobre hashes propios, en laboratorio o con autorización. La diferencia histórica más citada es el enfoque en el aprovechamiento del hardware: Hashcat se ha destacado por su capacidad de exprimir intensivamente la potencia de las tarjetas gráficas o GPU para el cálculo masivo y paralelo de hashes, lo que lo hace muy veloz, mientras que John the Ripper es especialmente valorado por su versatilidad, su amplio soporte de formatos de hash y su flexibilidad, funcionando bien en distintos entornos. En la práctica, muchos profesionales conocen y usan ambas herramientas según la tarea concreta, el tipo de hash y el hardware disponible, y a menudo son complementarias más que excluyentes. Lo esencial es que ambas responden a la misma necesidad de auditar la fortaleza de las contraseñas, se defienden con las mismas medidas de contraseñas largas y hashing fuerte y lento con sal, y están sujetas al mismo requisito absoluto de autorización.

¿Qué es la «sal» y por qué importa tanto?

La sal es un valor aleatorio único que se genera para cada contraseña y se combina con ella antes de calcular su hash, de modo que el hash almacenado no depende solo de la contraseña, sino también de esa sal específica. Su importancia es enorme por dos razones relacionadas. La primera es que impide que dos usuarios que casualmente eligieron la misma contraseña acaben teniendo el mismo hash, ya que cada uno tiene una sal distinta, lo que evita que un atacante que recupera una contraseña la aplique de golpe a todas las cuentas que la compartían. La segunda, y más decisiva frente a herramientas como Hashcat, es que la sal frustra el uso de tablas de hashes precalculadas, que son listas gigantes de contraseñas con sus hashes ya computados de antemano para buscar coincidencias al instante. Como la sal cambia el hash resultante de cada contraseña de forma impredecible, esas tablas precalculadas dejan de servir, y el atacante se ve obligado a recalcular los hashes candidata por candidata para cada cuenta, con su sal correspondiente. Combinada con un algoritmo de hashing deliberadamente lento, la sal multiplica el coste de una auditoría o de un ataque real hasta volverlo inviable. Por eso almacenar contraseñas sin sal se considera un error de seguridad grave.

Fuentes

Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.

Aportes de la comunidad Underc0de

  1. Underc0de, foro. Sección Hacking. Auditoría de hashes y contraseñas.
  2. Underc0de, foro. Sección Bugs y exploits. Análisis de credenciales en laboratorios.

Documentación oficial

  1. Hashcat. Proyecto oficial. La herramienta descrita en la guía.
  2. OWASP. Password Storage Cheat Sheet. Cómo almacenar contraseñas con seguridad.
  3. NIST. SP 800-63B. Directrices de autenticación.
  4. OWASP. Web Security Testing Guide. Metodología de pruebas autorizadas.