# John the Ripper para realizar auditorías de contraseñas

**Categoría:** Hacking ético · **Nivel:** Intermedio · **Lectura:** 12 min
**Publicada:** 2026-07-28 · **Actualizada:** 2026-07-28 · **Autoría:** Underc0de
**Versión HTML (canónica):** https://underc0de.org/guias/hacking/john-the-ripper-para-auditorias-de-contrasenas/

## Respuesta rápida

**John the Ripper** es una herramienta de código abierto para **auditar la fortaleza de las contraseñas** de un sistema. Su punto de partida es una idea clave: los sistemas bien hechos **no guardan las contraseñas**, sino su **hash** —una huella irreversible calculada a partir de la contraseña—. John toma esos hashes y comprueba **qué tan fácil sería recuperar la contraseña original**, sobre todo probando listas de contraseñas comunes (ataque de *diccionario*). Si John recupera rápido una contraseña a partir de su hash, esa contraseña era **débil**; si no lo logra, era fuerte. Ese es su valor legítimo: en una **auditoría autorizada**, permite detectar cuentas con contraseñas pobres para exigir su cambio, y comprobar que el **algoritmo de hashing** del sistema es adecuado. Es una herramienta de **doble filo**, y su marco es absoluto: solo se usa sobre **hashes propios**, en **laboratorios**, o con **autorización explícita**. Usarla contra credenciales ajenas es un **delito**. Y el cierre defensivo: dos cosas vuelven una auditoría de este tipo **infructuosa** —[contraseñas largas y únicas](../como-crear-y-administrar-contrasenas-seguras/index.md) (que ningún diccionario contiene) y un **algoritmo de hashing fuerte y lento** con «sal», que hace inviable probar millones de candidatas—. Entender la herramienta es entender por qué esas defensas importan.

## Qué es (y qué es un hash)

Para entender **John the Ripper** hay que entender primero cómo se guardan bien las contraseñas. Un sistema seguro **nunca almacena la contraseña en texto**: guarda su **hash**, el resultado de pasarla por una función matemática de un solo sentido. Del hash *no se puede volver* a la contraseña directamente, pero cada vez que alguien inicia sesión, el sistema calcula el hash de lo que escribió y lo compara con el guardado. Así verifica la contraseña sin conocerla.

> **Auditar contraseñas es auditar sus hashes**
>
> John the Ripper trabaja sobre esos **hashes**. Como no se puede «invertir» un hash, lo que hace es **probar candidatas**: toma una posible contraseña, calcula su hash, y ve si coincide con el que está auditando. Si coincide, encontró la contraseña. Repitiendo esto con listas de contraseñas comunes (diccionario) o variaciones, descubre las contraseñas **débiles** —las que están en esas listas o son fáciles de derivar—. Es una herramienta de **auditoría**: sirve para saber cuáles de las contraseñas de *tu* sistema no resistirían un ataque real.

## Cómo audita, a alto nivel

A alto nivel, John genera **candidatas** de dos formas principales y comprueba el hash de cada una:

- **Ataque de diccionario.** Prueba listas enormes de **contraseñas comunes** y filtradas de brechas conocidas. Es el método más eficaz, porque la mayoría de la gente usa contraseñas previsibles.
- **Fuerza bruta.** Prueba combinaciones de forma sistemática. Solo es viable para contraseñas **cortas**: cada carácter adicional multiplica el tiempo necesario, y las largas se vuelven inabordables.

El resultado se lee así: si John recupera **rápido** una contraseña, era débil y hay que cambiarla; si **no lo logra** tras un esfuerzo razonable, era fuerte. Esta guía es **conceptual**: explica cómo funciona para entender la defensa, no da recetas para atacar credenciales.

## El marco legal

> **Atención**
>
> Auditar contraseñas **ajenas sin permiso** es un **delito**, sin importar la intención. John the Ripper —como toda herramienta de este tipo— solo se usa sobre: hashes de **tus propios sistemas**, **entornos de laboratorio** y CTF, o credenciales que auditás con **autorización explícita** en una prueba de penetración con alcance definido. Obtener los hashes de un sistema ajeno ya suele requerir un acceso no autorizado, que es en sí mismo un delito. El [hacking ético](../fundamentos-hacking-etico/index.md) se define por el permiso: sin él, no hay auditoría, hay intrusión.

Un uso legítimo y muy común es que un **administrador** audite las contraseñas de *su* organización para detectar las débiles y exigir su cambio, reforzando la seguridad desde adentro. Para practicar, existen conjuntos de hashes de ejemplo y entornos de CTF pensados para eso.

## Las defensas que la anulan

El valor defensivo de entender John the Ripper es enorme, porque revela exactamente qué vuelve resistente a una contraseña. Dos medidas combinadas hacen que la auditoría **no encuentre nada**:

- **Contraseñas largas y únicas** (del lado del usuario). Una [frase de contraseña](../como-crear-y-administrar-contrasenas-seguras/index.md) larga no está en ningún diccionario, y su longitud hace inviable la fuerza bruta. Es la mejor defensa del usuario.
- **Algoritmo de hashing fuerte, lento y con «sal»** (del lado del sistema). El sistema debe guardar las contraseñas con una función de hashing **diseñada para contraseñas**, deliberadamente **lenta** (probar millones de candidatas se vuelve prohibitivo) y con **sal** —un valor aleatorio único por contraseña que impide reutilizar cálculos entre cuentas y frustra las tablas precalculadas—. Guardar contraseñas con un hash rápido o sin sal es un error grave.

La conclusión: contra un sistema que usa hashing fuerte y usuarios con contraseñas largas, John the Ripper **no logra recuperar nada útil**. Entender la herramienta es, en el fondo, entender cómo se almacenan y eligen bien las contraseñas.

## Errores frecuentes

- **Auditar credenciales ajenas sin permiso.** Es un delito; solo hashes propios, laboratorio o con autorización.
- **Guardar contraseñas con un hash rápido o sin sal.** Facilita enormemente la recuperación; usar un algoritmo lento y con sal.
- **Permitir contraseñas cortas o comunes.** Caen en el ataque de diccionario; exigir longitud y unicidad.
- **Guardar contraseñas en texto plano.** El peor error: no hay nada que «romper», ya están expuestas.
- **Verla solo como herramienta de ataque.** Su valor legítimo es auditar el propio sistema y reforzarlo.
- **No actuar sobre los resultados.** Detectar contraseñas débiles y no exigir su cambio deja el problema.
- **Practicar con datos reales de personas.** Usar conjuntos de ejemplo o entornos de CTF.

## Preguntas frecuentes

**¿Qué es John the Ripper y para qué sirve?**
John the Ripper es una herramienta de código abierto para auditar la fortaleza de las contraseñas de un sistema a partir de sus hashes. Su funcionamiento parte de una idea fundamental: los sistemas bien diseñados 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. Como del hash no se puede volver directamente a la contraseña, John trabaja probando candidatas: toma una posible contraseña, calcula su hash y comprueba si coincide con el que está auditando, y si coincide, ha encontrado la contraseña original. Repitiendo esto con listas de contraseñas comunes descubre cuáles son débiles. Su propósito legítimo es la auditoría: permite a un administrador o a un pentester autorizado saber cuáles de las contraseñas de un sistema no resistirían un ataque real, para exigir su cambio, y verificar de paso que el sistema almacena las contraseñas con un algoritmo adecuado. Es una herramienta de doble filo cuyo empleo está restringido a hashes propios, laboratorios o auditorías autorizadas, y su verdadero valor es defensivo: comprobar y reforzar que las contraseñas de los propios sistemas son fuertes.

**¿Qué es un hash y por qué se auditan las contraseñas a través de él?**
Un hash es el resultado de pasar un dato, en este caso una contraseña, por una función matemática de un solo sentido que produce una huella de longitud fija. La propiedad clave es que la función es irreversible: a partir del hash no se puede reconstruir directamente la contraseña original. Los sistemas seguros aprovechan esto para no almacenar nunca las contraseñas en texto, sino solo sus hashes; cuando un usuario inicia sesión, el sistema calcula el hash de lo que escribió y lo compara con el hash guardado, verificando así la contraseña sin necesidad de conocerla ni guardarla en claro. Esto protege las contraseñas incluso si alguien accede a la base de datos, porque solo encontraría hashes. Las auditorías de contraseñas trabajan sobre esos hashes precisamente porque son lo que un atacante obtendría en una brecha real. Como el hash no se puede invertir, la única forma de evaluar su fortaleza es probar candidatas: calcular el hash de muchas contraseñas posibles y ver si alguna coincide. Si una contraseña se recupera fácilmente por este método, significa que era débil y que en una brecha real habría caído rápido, mientras que si resiste, es fuerte.

**¿Es legal usar John the Ripper?**
La herramienta es 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 además hay un agravante particular en este caso: para poder auditar las contraseñas de un sistema hay que tener primero sus hashes, y obtener los hashes de un sistema ajeno normalmente requiere haber accedido a él sin permiso, lo que ya constituye una intrusión ilegal por sí misma. Por eso John the Ripper debe usarse exclusivamente sobre los hashes de tus propios sistemas, en entornos de laboratorio y competencias de tipo CTF diseñados 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. Este es el mismo 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, y sin permiso no hay auditoría, hay delito.

**¿Cómo hago que mis contraseñas resistan a John the Ripper?**
La resistencia depende de dos factores que se combinan, uno del lado del usuario y otro del lado del sistema. Del lado del usuario, la clave es usar contraseñas largas y únicas, idealmente en forma de frase de contraseña con varias palabras, porque una contraseña larga y poco común no aparece en ningún diccionario de contraseñas filtradas y, por su longitud, vuelve inviable el ataque de fuerza bruta, ya que cada carácter adicional multiplica enormemente el tiempo necesario para probarla. Del lado del sistema, la clave es almacenar las contraseñas usando un algoritmo de hashing fuerte, diseñado específicamente para contraseñas, deliberadamente lento y con sal. Que sea lento es fundamental porque hace que probar millones de candidatas resulte prohibitivamente costoso en tiempo, a diferencia de un hash rápido que permitiría probar enormes cantidades por segundo. 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, contraseñas largas y hashing fuerte con sal, una auditoría con John the Ripper simplemente no logra recuperar nada útil, que es exactamente el objetivo.

**¿Cuál es la diferencia entre el ataque de diccionario y la fuerza bruta?**
Son dos formas distintas de generar las candidatas que se prueban contra un hash. El ataque de diccionario consiste en probar listas enormes de contraseñas conocidas, que incluyen las contraseñas más comunes, palabras habituales y credenciales filtradas en brechas anteriores, a menudo con variaciones típicas. Es el método más eficaz en la práctica, porque una gran proporción de las personas eligen contraseñas previsibles que están o se derivan fácilmente de esas listas, de modo que muchas contraseñas débiles caen casi de inmediato. La fuerza bruta, en cambio, prueba combinaciones de caracteres de forma sistemática y exhaustiva, sin apoyarse en listas. Su ventaja teórica es que, con tiempo infinito, encontraría cualquier contraseña, pero su limitación práctica es enorme: el número de combinaciones crece exponencialmente con la longitud, de modo que solo resulta viable para contraseñas cortas, y las contraseñas largas se vuelven completamente inabordables en tiempos razonables. Por eso, en la práctica, el ataque de diccionario es el que descubre la mayoría de las contraseñas débiles, mientras que la fuerza bruta pura solo amenaza a las cortas. Ambos métodos fracasan ante una contraseña larga y única combinada con un buen algoritmo de hashing.

**¿En qué se diferencia de Hashcat?**
John the Ripper y Hashcat son las dos herramientas más conocidas y usadas para auditar contraseñas a partir de sus hashes, y comparten el mismo propósito y el mismo marco ético y legal, por lo que en gran medida son alternativas o complementos según la preferencia y el contexto. La diferencia técnica principal históricamente ha sido el enfoque en el aprovechamiento del hardware: Hashcat se destaca por su capacidad de aprovechar intensivamente la potencia de las tarjetas gráficas o GPU, que son extraordinariamente eficientes para el cálculo masivo y paralelo de hashes, lo que le permite probar enormes cantidades de candidatas por segundo. John the Ripper, por su parte, es muy versátil, funciona bien en distintos entornos y es especialmente valorado por su amplio soporte de formatos de hash y por su flexibilidad, además de contar con modos inteligentes de generación de candidatas. En la práctica, muchos profesionales conocen y usan ambas según la tarea concreta, el tipo de hash y el hardware disponible. Lo esencial es que ambas responden a la misma lógica de auditoría de contraseñas, se defienden con las mismas medidas de contraseñas largas y hashing fuerte con sal, y están sujetas al mismo requisito absoluto de usarse solo sobre hashes propios, en laboratorios o con autorización explícita.

## 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](https://underc0de.org/foro/hacking/). Auditoría de credenciales y hashes.
2. **Underc0de, foro.** [Sección Bugs y exploits](https://underc0de.org/foro/bugs-y-exploits/). Análisis de contraseñas en laboratorios.

### Documentación oficial

1. **Openwall.** [John the Ripper](https://www.openwall.com/john/). El proyecto oficial, citado en la guía.
2. **OWASP.** [Password Storage Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html). Cómo almacenar contraseñas con seguridad.
3. **NIST.** [SP 800-63B](https://pages.nist.gov/800-63-3/sp800-63b.html). Directrices de autenticación y contraseñas.
4. **OWASP.** [Web Security Testing Guide](https://owasp.org/www-project-web-security-testing-guide/). Metodología de pruebas autorizadas.

## Guías relacionadas

- [Hashcat desde cero](../hashcat-desde-cero-para-analizar-hashes-de-contrasenas/index.md)
- [Contraseñas seguras](../como-crear-y-administrar-contrasenas-seguras/index.md)
- [Fundamentos del hacking ético](../fundamentos-hacking-etico/index.md)
- [Passkeys y Zero Trust](../passkeys-autenticacion-sin-contrasena-y-zero-trust/index.md)
- [Índice de Hacking ético](../index.md)
